Skip to main content
PlayFab Party 库让游戏创作者能够通过可访问的游戏聊天选项吸引更多玩家。它提供了将语音聊天转录为文本以及将文本输入转换为合成语音的方法。你可以在游戏中为这些功能实现自定义 UI 解决方案。在 XBOX 和 Windows 上,你可以使用平台 API 来实现相关 UI。 本文档是关于语音转文本和文本转语音实现 UX 解决方案的两篇系列文章中的第二篇。第一部分 聚焦于文本转语音的实现、要求以及主机和 PC UI 解决方案,而本主题则聚焦于语音转文本的实现、要求以及主机和 PC UI 解决方案。

文本转语音和语音转文本场景

以下图表引导你了解玩家在启用语音转文本和文本转语音功能时将会遇到的场景。它概述了游戏体验三个阶段的用户影响:初始设置、玩游戏和参与游戏聊天。

了解 API

语音转文本

启用转录

可以通过调用 PartyLocalChatControl::SetTranscriptionOptions() 为与本地聊天控件关联的用户启用传入音频的转录。当操作完成时,PartyManager::StartProcessingStateChanges() 将提供一个 PartySetTranscriptionOptionsCompletedStateChange,指示异步操作是否成功。

接收转录

当音频被发送到与已启用转录的本地用户关联的聊天控件时,音频将被转录。每个转录都将通过 PartyManager::StartProcessingStateChanges() 提供的 PartyVoiceChatTranscriptionReceivedStateChange 来指示。说话者、接收者和转录文本将在状态更改中指定。此外,状态更改将指定转录文本是 Hypothesis 还是 Final 短语。Hypothesis 短语是转录过程中的快照,表示转录文本的迭代精化。这些短语可以选择性地用于改善转录过程的感知响应能力。Final 短语表示用户完成句子或短语后转录过程的结束。

显示转录

当接收到转录文本时,应根据以下 UX 设计指南显示它。在 Windows 或 XBOX 上,可以分别使用 Windows::Gaming::UI::GameChatOverlayWindows::Xbox::UI::Accessibility API 来使用符合这些指南设计的默认系统文本聊天 UI。

发现

对于 XBOX 和 Windows,用户可以在 XBOX 主页(XBOX 主机)或 XBOX 应用 (Windows 10) 的 设置 下的 辅助功能 部分找到文本转语音和语音转文本设置。这些设置通过切换按钮控制,可启用或禁用与平台设置集成的、特定于用户配置文件的所有 XBOX 游戏的功能。对于所有其他平台,请参阅其辅助功能指南以了解文本转语音和语音转文本设置的位置。
如果你的游戏选择添加仅特定于游戏的额外设置,则应将其放置在你的游戏内部。一般而言,辅助功能选项应位于游戏的设置/选项菜单下。理想情况下,设置应作为专用按钮按压提供,并且可以从任何屏幕(或至少从暂停菜单)访问。

创建自定义对话窗口的 UX 指南

一般最佳实践

字幕和语音聊天转录面临类似的挑战:显示快节奏的对话文本,叠加在丰富的媒体上。有关字幕的文档可以适用于对话窗口。

基础

  1. 文本和背景之间的高对比度。
  2. 避免在屏幕上一次呈现过多文本。
  3. 对屏幕尺寸使用足够大的文本尺寸。

良好实践

  1. 确保用户可以在参与游戏聊天之前找到并启用文本转语音设置。
  2. 避免与其他 UI 元素冲突。
  3. 堆叠多个回复时,将最新的字符串添加到底部。
  4. 区分说话者。
  5. 使用清晰、易读的字体。
  6. 允许用户自定义对话窗口和内容。

窗口大小

为了确保所有玩家都能获得同等的体验,考虑用户需求和游戏 UI 需求至关重要。 本节将介绍一种基于以下因素确定最佳显示的方法:
  • 用户的聊天行为。
  • 使用游戏聊天的不同 UI 布局(大厅、游戏设置、游戏会话)。
  • 标题可调用 UI (TCUI) 的影响(例如,叠加层、Toast 通知、虚拟键盘)。
  • 呈现要求,例如字体和格式。

用户的聊天行为

不同的游戏功能会驱动不同的聊天密度。例如 - 游戏会话期间的游戏大厅和游戏结束的总结是游戏聊天参与的时候。然而,讨论类型会改变屏幕的目标。了解讨论类型有助于评估对话窗口对游戏需求是关键的还是可选的。 讨论类型
  • 闲聊。对达成目标并不关键。例如,共同兴趣、感叹语、社交。
  • 功能性。对达成游戏目标至关重要。例如,与团队协调策略。

聊天长度:最低要求

游戏聊天中的讨论类型会影响单个用户的各种回复类型(从简短的问候和确认到较长的教学和描述性回复)。一旦你确定了每个屏幕的主要讨论类型,你就可以开始对回复的类型和长度做出一些广泛的假设。 针对你的游戏研究游戏聊天活动将提供最准确的结果。它需要识别多个用户对话中的常见模式。一种解决方案是进行用户研究测试,使用游戏内的语音转文本功能来捕获参与者的用户研究数据。另一个建议是观看类似类型的游戏直播并跟踪对话模式。 然后可以将该数据应用于以下用于确定对话长度的简单策略:
  • 回复频率 - 确定在停顿之前交换了多少回复,然后对这些回复取平均值以得出最终数字。示例:两名玩家聊天时,在出现停顿之前平均交换五条回复。
  • 回复长度 - 确定单个回复的平均单词和字符数。示例:单条回复的平均字数为 10 个单词,每条回复 35 个字符(含空格)。
  • 格式 - 每个与聊天相关的状态更改都包含有助于可视化它的有用信息。在确定格式时需要考虑每个字段的长度。在以下示例中,消息类型(即消息是语音转文本还是文本消息的结果)可以从状态更改类型推断。PartyVoiceChatTranscriptionReceivedStateChange 将始终指示由语音输入产生的文本,而 PartyChatTextReceivedStateChange 将始终指示由文本输入产生的文本。回复来源(即谁发送的通信)和回复本身可以通过每个状态更改中的字段确定。

字体大小和类型

对于阅读任何屏幕文本 UI 的玩家(其中一些人可能视力较差)来说,选择清晰易读的字体非常重要。
Verdana 是 Microsoft 提供的最易读的字体。比 Verdana 本身更好的是以高对比度(全黑在全白上或反之)和大尺寸呈现字体。大小、对比度和字形是可读性的三个最大因素(按此优先顺序)。
示例:相同大小的不同字体在可读性上可能有所不同。 对于在 10 英尺体验中呈现的聊天转录,建议 1080p UI 文本至少为 28px (14sp)。像字幕一样,这些文本显示时间有限,因此文本应显著大于 UI 其余部分的最小可接受尺寸(10 英尺 24pt)。

计算你的最终最小尺寸要求

现在你已经有了平均回复频率、回复长度、格式考虑因素以及字体大小和类型,你可以确定窗口大小要求: 示例:使用上述规格在 525px(宽)x 395px(高) 窗口大小中的结果。 通过使用 ConversationWindow_Template.ai 开始测试你的设计。前往 资源 获取原生 Adobe Illustrator (.ai) 文件。

位置和比例

现在你已经有了对话窗口的最低文本要求,可以开始测试定位和大小比例了。

定位:相对与固定

将对话窗口对齐到网格格式提供了一组非常简单的输入,无论屏幕分辨率如何都可以缩放。例如,XBOX OS 语音转文本 UI 使用九个象限(左/上、左/中、左/下、中/上等)进行定位。 如果你的游戏输出到多个屏幕分辨率(4K、PC),则无需担心将 1080p X、Y 像素值缩放到不同的屏幕大小。 通过预定义相对位置的数量,你无需与遗留代码作斗争来保持设计元素、字体或安全区域的像素完美定位。你的设计保证的是相对位置。 考虑引用多个位置以适应不同的屏幕复杂性:
  • 确定游戏聊天活动至关重要的屏幕。
  • 避免阻碍交互。(请参阅说明)
  • 避免隐藏关键详细信息。(请参阅说明)
注意对话窗口的位置,使其不会阻碍游戏活动。这将确保语音转文本用户可以享受与其他用户相当的体验。

用户可控的自定义

可能会有一些屏幕根本没有空间容纳任何大小的对话窗口。 示例:游戏结束结果 UI 填满了整个屏幕。对话窗口有可能遮盖关键统计数据。

游戏 UI 和对话窗口冲突的解决方案

  1. 用户应能够通过操作系统禁用该功能
    理想情况下,用户可以选择离开游戏,通过使用”轻松使用”设置打开或关闭语音转文本选项。
    • UI 影响:无
    • UX 影响:差
    示例:通过操作系统设置禁用语音转文本设置。(此处显示 XBOX One 主机的关键路径)
  2. 游戏提供了一种让用户最小化窗口的方法 拥有一个用于最小化或移动窗口的语音转文本设置为设计师和用户提供了额外的灵活性。
    • UI 影响:中等 需要向游戏内设置菜单添加最小化/最大化聊天窗口按钮。我们建议此选项仅在启用语音转文本时出现。
    • UX 影响:良好 这是一个 3 次点击的解决方案,在游戏中展现设置菜单。
    示例:通过游戏内选项菜单最小化/最大化语音转文本窗口(XBOX 主机/PC 关键路径 主机示例:在暂停菜单中添加语音转文本设置。 PC 示例:在暂停菜单中添加语音转文本设置。 允许用户最小化或最大化对话窗口将选择权交给了他们。游戏不必尝试避免占用关键区域。 不需要立即响应的游戏屏幕给了用户时间将注意力转移到别处并编辑设置。他们可以最小化或最大化窗口,而不会破坏会话。请尽可能高效地进出此设置。 对于需要立即响应的游戏屏幕,或者当点击(PC)不可行时,可以直接映射一个按钮或键命令。 主机示例:一个按钮被映射为切换显示开/关,并在图例中注释。 PC 示例:一个按钮被映射为切换显示开/关,并在图例中注释。

功能要求

  • 窗口最小化时对话继续被跟踪。
  • 用户可以展开并查看最新回复。(用户不会看到错过的回复的历史记录。)
  • 当检测到用户配置文件的语音转文本设置已启用时,会出现此选项。
  • 此设置不会覆盖操作系统配置文件的语音转文本设置。

显示频率

游戏会话期间玩家之间的聊天活动会有所波动。当玩家不聊天时,保持空聊天窗口打开没有任何价值。 在聊天处于非活动状态一段时间后自动关闭窗口。 示例:在 15 秒不活动后语音转文本窗口关闭。此数字基于用户阅读一条 280 字符消息所需的时间。
值得测试各种设置,以确保打开和关闭窗口在活动量大的游戏屏幕上不会太分散注意力。

滚动

在正在进行的对话中,窗口必须便于查看最新回复。最新回复显示在回复的底部并向上滚动。
自动滚动是一种解决方案,可以让开发者和用户更轻松地管理对话。它最接近于模拟流畅的对话。用户管理视图所需的努力越少,他们就有更多的时间专注于游戏。手动滚动条需要转移控制器焦点,这在活跃的游戏中可能会造成干扰。

视觉差异

将此聊天窗口设计为与你的 UI 样式相匹配可能很诱人。然而,聊天窗口具有特定的功能,与其他游戏组件不同。它呈现的是源于游戏指令之外的信息。 它是同时使用文本和框架的游戏信息。如果聊天窗口看起来太相似,用户可能会将其意图与实际的游戏内组件混淆。因此,聊天叠加层必须具有独特的属性,能够清楚地将其与游戏 UI 分开。差异程度由设计师自行决定。

关闭或销毁对话窗口

游戏必须确定何时保持对话窗口处于活动状态(当用户多任务处理时)或何时应关闭它(例如,当用户退出聊天会话时)。请记住,此窗口代表实时聊天对话,不要与即时消息 (IM) 混淆。例如,如果用户离开主机或暂停游戏,对话将继续,但他们将错过在他们返回之前发生的回复。
UX 建议:当游戏受限或暂停时保持窗口处于活动状态。当游戏退出时关闭窗口。

标题可调用 UI (TCUI)

主机示例:XBOX One 指南是 TCUI,具有半透明的叠加层,会使屏幕变暗。 平台的系统 UI 通常是任何游戏或应用 UI 的”顶层”可见层。例如,XBOX One 操作系统启动的 UI(错误消息、虚拟键盘、Toast 通知、XBOX One 指南、人员选择器和其他元素)在其内容窗口上应用全屏、半透明的黑色叠加层。
  • UX 影响:对话窗口的可见性将被遮挡。

结论

PlayFab Party 文本转语音和语音转文本 API 是将更广泛的用户纳入游戏和游戏对话的高效功能。玩家参与和发展关系越多,他们继续游戏的可能性就越大。本指南将有助于确保尽可能最佳的用户体验。

资源

设计模板

文本转语音旁白菜单指南

PlayFab Party 文本转语音和语音转文本 UX 系列

SDK 文档

  • PlayFab SDK 中的”Accessible in-game chat overview”(请参阅 SDK 下载

辅助功能指南

包容性设计

最后修改于 2026年8月24日