Unity Audio -- (5)声音的可用性考量
在某些情况下,用户可能会关闭声音或者让音量降低至很小的水平,用户本身的听力情况(用户可能有听力障碍,失聪等情况)也有差异。一个好的设计者应该要考虑到项目的可用性,音频也不例外。本节我们来看看如何能对声音做文字可视化标记(Closed Caption,闭路字幕以及一个声音方向提示箭头)以提升项目的可用性。
声音可用性的最佳实践
对于绝大多数的交互式体验应用而言,增加音频可用性选项并不是一个复杂的任务,但在项目进程的早期就要对这部分的需求进行考量。声音可用性考量的目标是在不依赖能听见声音的情况下,使用任意类型的字幕或标题来确保用户能够理解到应用的全部相关信息。为了达成这个目的,交互式体验应用至少要有:
所有对话对应的字幕。
重要声音时间的说明文字。
字幕或说明文字在屏幕上要能轻松地被阅读到(清晰的字体,合适的大小)。
字幕或说明文字要在屏幕上停留足够长的时间以便能轻松地被阅读。
最具可用性的体验是允许用户能够自定义这些值以便他们能够选出适合自己个人需要的效果。这可以通过使用UI选项菜单来实现。
更多的音频可用性指导原则,可以参考以下链接(声音部分):
创建闭路字幕数据库(Closed Captions Database)
本案例中我们使用简单的闭路字幕数据库脚本系统来做说明。这种方法只是Unity中实现闭路字幕的诸多方法中的一种。
这个系统有两个主要组件:一个方向指示器(在角色旁边,箭头指向音源位置),以及一个基于角色和音源距离动态缩放的文字标签。
1. 在工程窗口的Audio目录中,点击右键,选择Create > Closed Caption > CCDatabase。
2. 将这个新建的CCDatabase命名为“Waterfall Scene Database”。
3. 双击Waterfall Scene Database文件打开数据库编辑器。
4. 拖动AmbientWaterfall音频片段到数据库编辑器的空白区域。
5. 选中这个声音开启行编辑部分。


配置闭路字幕系统预制体(Closed Caption System prefab)
1. 在项目窗口中,进入 Assets > CreativeCore_Audio > ClosedCaptionSystem > Prefabs > System。
2. 从Project窗口中拖动CCSystem预制体到Hierarchy中,选中这个游戏物体。
3. 在Inspector中,找到CC Manager(Script)组件。
4. 找到Database属性,通过浏览选择(点击右边圆形图标)我们新建的Waterfall Scene Database,或者直接拖拽这个文件到这个属性。
5. 用同样的方法将Tracked For Pos属性设置为Main Camera游戏物体。

添加闭路字幕到Audio Source
数据库现在知道存在一条瀑布的闭路字幕,但它并不知道场景中和它相连接的audio source是谁。这意味着数据库并不知道什么时候该去显示这个提示信息。
1. 选择Waterfall Audio游戏物体,在其Inspector中,选择Add Component。搜索并添加CCSource(Script)组件。
2. 在Assets > CreativeCore_Audio > ClosedCaptionSystem > Prefabs > System目录中,定位到CCCanvas预制体,将它拖动到CC Source Canvas。
3. 将Max Distance设置为15。
4. 运行场景并走向瀑布。看看当靠得足够近时,屏幕上有没有出现瀑布声的提示信息。

添加一个瀑布声音方向指示器
假设我们想要在一个很大的场景中引导玩家找到瀑布。对于听力正常的玩家来说,这并不是一个大问题。但如果玩家要关闭声音玩或者玩家有听力障碍,则这个任务就很难完成了。
我们可以通过添加一个可视化的声音提示(audio cues)来解决这个问题。
1. 选择Waterfall audio source,在CC Source上,勾选Always Tracked。


探索:为其它Audio Source增加闭路字幕
尝试为场景中其它Audio Source添加闭路字幕。