文字轉語音與語音轉文字情境
下列圖表將引導您了解啟用語音轉文字與文字轉語音功能時,玩家會體驗到的情境。它概述了遊戲體驗三個階段對使用者的影響:初始設定、玩遊戲,以及參與遊戲聊天。了解 API
語音轉文字
啟用轉錄
可以透過呼叫PartyLocalChatControl::SetTranscriptionOptions(),為與本機聊天控制項相關聯的使用者啟用傳入音訊的轉錄。作業完成時,PartyManager::StartProcessingStateChanges() 會提供 PartySetTranscriptionOptionsCompletedStateChange,指出非同步作業是否成功。
接收轉錄
當音訊傳送至與已啟用轉錄之本機使用者相關聯的聊天控制項時,音訊會被轉錄。每個轉錄都會由PartyManager::StartProcessingStateChanges() 提供的 PartyVoiceChatTranscriptionReceivedStateChange 指出。說話者、接收者和轉錄文字都會在狀態變更中指定。此外,狀態變更會指定轉錄文字是 Hypothesis 還是 Final 片語。Hypothesis 片語是轉錄過程中的快照,表示轉錄文字的反覆精簡。這些可以選擇性地用來改善轉錄過程的感知回應速度。Final 片語代表使用者完成句子或片語後,轉錄過程的結束。
顯示轉錄
收到轉錄文字時,應依照下列 UX 設計指導方針顯示。在 Windows 或 XBOX 上,可以分別使用 Windows::Gaming::UI::GameChatOverlay 或Windows::Xbox::UI::Accessibility API,來使用已設計為符合這些指導方針的預設系統文字聊天 UI。
探索
對於 XBOX 和 Windows,使用者可以在 XBOX 首頁 (XBOX 主機) 或 XBOX 應用程式 (Windows 10) 中設定下的協助工具區段找到文字轉語音與語音轉文字設定。這些設定透過切換按鈕控制,可針對與平台設定整合的所有 XBOX 遊戲,依使用者設定檔啟用或停用這些功能。對於所有其他平台,請參閱其協助工具指導方針,了解文字轉語音與語音轉文字設定的位置。如果您的遊戲選擇新增僅限遊戲特定的其他設定,則應將其放在遊戲內。一般而言,協助工具選項應位於遊戲的設定/選項功能表下。理想情況下,設定應可透過專用按鈕按壓使用,並可從任何畫面存取,或至少可從暫停功能表存取。
建立自訂交談視窗的 UX 指引
一般最佳做法
字幕和語音聊天轉錄面臨類似的挑戰:在豐富的媒體上覆疊顯示快速、對話式的文字。字幕相關文件也可套用於交談視窗。基本原則
- 文字與背景之間的高對比。
- 避免一次在畫面上呈現過多文字。
- 針對畫面大小使用足夠大的文字大小。
良好做法
- 確保使用者在參與遊戲聊天之前,能找到並啟用文字轉語音設定。
- 避免與其他 UI 元素衝突。
- 堆疊多個回覆時,將最新的字串新增在底部。
- 區分不同的說話者。
- 使用清楚、易讀的字型。
- 允許使用者自訂交談視窗和內容。
視窗大小
為了確保所有玩家都能獲得同等的體驗,同時考量使用者需求和遊戲 UI 需求至關重要。 本節將逐步說明根據下列條件決定最佳顯示方式的方法:- 使用者的聊天行為。
- 使用遊戲聊天的各種 UI 版面配置 (大廳、遊戲設定、遊戲工作階段)。
- 遊戲可呼叫的 UI (TCUI) 影響 (例如覆疊、快顯通知、虛擬鍵盤)。
- 字型和格式等呈現需求。
使用者的聊天行為
不同的遊戲功能會帶來不同的聊天密度。例如,遊戲工作階段期間的遊戲大廳和遊戲結束時的總結都是會使用遊戲聊天的時刻。不過,討論的類型會改變畫面的目標。了解討論類型有助於判斷交談視窗對遊戲需求而言是關鍵還是選用。

- 閒聊。對於達成目標並不重要。例如共同興趣、感嘆詞、社交。
- 功能性。對於達成遊戲目標至關重要。例如與隊伍協調策略。
聊天長度:最低需求
遊戲聊天中的討論類型會影響單一使用者的各種回覆類型 (從簡短的問候和確認,到較長的指示性和描述性回覆)。為每個畫面決定主要討論類型後,您就可以開始對回覆的類型和長度做一些大致的假設。 研究您遊戲的遊戲聊天活動會提供最準確的結果。這需要找出多位使用者對話中的常見模式。其中一個解決方案是進行使用者研究測試,在遊戲中使用語音轉文字功能來擷取參與者的使用者研究資料。另一個建議是觀看類似類型的遊戲串流,並追蹤對話模式。 接著可以將這些資料套用至下列決定對話長度的簡單策略:- 回覆頻率 - 判斷在冷場之前交換了多少則回覆,然後將這些回覆平均以得出最終數字。範例:兩位玩家聊天時,在冷場發生前平均有五則回覆。
- 回覆長度 - 判斷單一回覆的平均字數和字元數。範例:單一回覆平均每則 10 個字和 35 個字元 (含空格)。
-
格式 - 每個與聊天相關的狀態變更都包含有助於將其視覺化的實用資訊。決定格式時需要考量每個欄位的長度。在下列範例中,訊息類型 (亦即訊息是語音轉文字的結果還是文字訊息) 可以從狀態變更類型推斷。
PartyVoiceChatTranscriptionReceivedStateChange一律表示由語音輸入產生的文字,而PartyChatTextReceivedStateChange一律表示由文字輸入產生的文字。回覆來源 (亦即誰傳送了通訊) 和回覆本身可以由每個狀態變更中的欄位決定。

字型大小和類型
對於閱讀任何畫面文字 UI 的玩家 (其中一些人可能視力不佳) 而言,選擇易讀的字型很重要。Verdana 是 Microsoft 隨附最易讀的字型。比單獨使用 Verdana 更好的做法是以高對比 (全黑配全白或反之) 和大尺寸呈現字型。大小、對比和字母形狀是影響易讀性的三大因素 (依此優先順序)。

計算最終的最小大小需求
現在您已有平均回覆頻率、回覆長度、格式考量,以及字型大小和類型,就可以決定視窗大小需求: 範例:在 525px (寬) x 395px (高) 的視窗大小內使用上述規格的結果。
位置與比例
現在您已有交談視窗的最低文字需求,就可以開始測試位置和大小比例。位置:相對與固定
將交談視窗對齊網格格式,可提供一組非常直接的輸入,無論螢幕解析度為何都能縮放。例如,XBOX OS 語音轉文字 UI 參考九個象限 (左/上、左/中、左/下、中/上等) 來定位。 如果您的遊戲輸出至多種螢幕解析度 (4K、PC),您就不必擔心將 1080p 的 X、Y 像素值縮放至不同的螢幕大小。 透過預先決定的相對位置數量,您就不必與舊版程式碼奮戰,以維持設計元素、字型或安全區域的像素完美定位。您的設計會改為保證相對位置。 請考慮參考多個位置,以因應不同的畫面複雜度:- 找出遊戲聊天活動至關重要的畫面。
- 避免妨礙互動。(請參閱附註)
- 避免隱藏關鍵細節。(請參閱附註)
請小心放置交談視窗,使其不會妨礙遊戲活動。這可確保語音轉文字使用者能享有與其他使用者相當的體驗。

使用者控制的自訂
可能有些畫面根本沒有空間容納任何大小的交談視窗。 範例:遊戲結束的結果 UI 填滿整個畫面。交談視窗可能會遮住關鍵統計資料。
遊戲 UI 與交談視窗衝突的解決方案
-
使用者應能透過 OS 停用此功能。
理想情況下,使用者可以選擇離開遊戲,並使用輕鬆存取設定開啟或關閉語音轉文字選項。- UI 影響:無
- UX 影響:差

-
遊戲提供讓使用者將視窗最小化的方法。
提供將視窗最小化或移動的語音轉文字設定,可為設計者和使用者提供更多彈性。
- UI 影響:中等 需要在遊戲內設定功能表中新增最小化/最大化聊天視窗按鈕。我們建議只在啟用語音轉文字時才顯示此選項。
- UX 影響:良好 這是在遊戲中顯示設定功能表的 3 次點按解決方案。
主機範例:在暫停功能表中新增語音轉文字設定。
PC 範例:在暫停功能表中新增語音轉文字設定。
讓使用者能將交談視窗最小化或最大化,就是將選擇權交給他們。遊戲不必設法避免占用關鍵的畫面空間。 不需要立即回應的遊戲畫面讓使用者有時間轉移焦點並編輯設定。他們可以將視窗最小化或最大化,而不會破壞工作階段。請讓前往和離開此設定的導覽盡可能有效率。 對於需要立即回應的遊戲畫面,或無法使用點按 (PC) 時,可以直接對應按鈕或按鍵命令。 主機範例:對應一個按鈕來切換顯示的開啟/關閉,並在圖例中加上註解。
PC 範例:對應一個按鈕來切換顯示的開啟/關閉,並在圖例中加上註解。

功能需求
- 視窗最小化時,仍會持續追蹤對話。
- 使用者可以展開並查看最新的回覆。(使用者看不到錯過之回覆的歷程記錄。)
- 偵測到使用者設定檔的語音轉文字設定已啟用時,會顯示此選項。
- 此設定不會覆寫 OS 設定檔的語音轉文字設定。
顯示頻率
在遊戲工作階段期間,玩家之間的聊天活動會有所波動。當玩家沒有聊天時,讓空的聊天視窗保持開啟沒有任何價值。 當聊天在設定的期間內處於非使用中狀態時,自動關閉視窗。 範例:語音轉文字視窗在 15 秒無活動後關閉。此數字是根據使用者閱讀一則 280 個字元訊息所需的時間。
值得測試各種設定,以確保在活動頻繁的遊戲畫面上開啟和關閉視窗不會太令人分心。
捲動
在進行中的對話期間,視窗必須方便檢視最新的回覆。最新的回覆會顯示在回覆的底部並向上捲動。自動捲動是讓開發人員和使用者都更容易管理對話的解決方案。它最接近模擬流暢的對話。使用者管理檢視所需的心力越少,就有越多時間專注於遊戲。手動捲軸需要轉移控制器焦點,這在進行中的遊戲期間可能會造成干擾。
視覺差異
您可能會想將此聊天視窗設計成符合您的 UI 風格。不過,聊天視窗有其特定功能,與其他遊戲元件不同。它呈現的是源自遊戲指示以外的資訊。 它是同樣使用文字和框架的遊戲資訊。如果聊天視窗與實際的遊戲內元件看起來太相似,使用者可能會混淆聊天視窗的用途。因此,聊天覆疊必須具備能明確將其與遊戲 UI 區隔的獨特屬性。差異程度由設計者自行決定。關閉或終結交談視窗
遊戲必須決定交談視窗何時保持作用中 (當使用者同時處理多項工作時),或何時應關閉 (例如當使用者結束聊天工作階段時)。請記住,此視窗代表即時聊天對話,不應與立即訊息 (IM) 混淆。例如,如果使用者離開主機或暫停遊戲,對話會繼續進行,但他們會錯過返回前發生的回覆。UX 建議:遊戲處於受限或暫停狀態時,讓視窗保持作用中。遊戲結束時關閉視窗。
遊戲可呼叫的 UI (TCUI)
主機範例:XBOX One 指南是 TCUI,具有讓畫面變暗的透明覆疊。
- UX 影響:交談視窗的可見度會遭到遮蔽。
結論
PlayFab Party 文字轉語音與語音轉文字 API 是非常有效的功能,可讓更廣泛的使用者參與遊戲和遊戲對話。玩家參與越多、建立的關係越多,就越有可能繼續玩下去。本指引將有助於確保提供最佳的使用者體驗。資源
設計範本
- PlayFab Parties_AI_Templates.zip
包含:
- PlayFab Parties_9GridTemplate.ai
- ConversationWindow_Template.ai
文字轉語音朗讀功能表指導方針
PlayFab Party 文字轉語音與語音轉文字 UX 系列
- 第 1 部分:PlayFab Party 文字轉語音與文字輸入 UX 指引
- 第 2 部分:PlayFab Party 語音轉文字與文字顯示 UX 指引
SDK 文件
- PlayFab SDK 中的「協助工具遊戲內聊天概觀」(請參閱 SDK 下載)
協助工具指引
- Griffiths, Gareth. Subtitles: Increasing Game Accessibility, Comprehension Gamasutra
- Game Accessibility Guidelines 包容性遊戲設計的簡明參考資料
包容性設計
- XBOX 的 Gaming for Everyone 計畫
- 包容性設計 Microsoft 設計工具組與教育資源
- Kojouharov, Stefan. 10 Tips on Creating an Addictive ChatBot 本文件中引用此資料作為對話式 UI 的祕訣。
