在 Unity 中,可阻挡或遮蔽声音。有关详细信息,请参阅以下章节:
A. Emitter Obstruction/Occlusion
在将 Ak Emitter Obstruction Occlusion 组件添加到 GameObject 后,可在 Unity 中阻挡或遮蔽发声体。 若地图未使用空间音频(即未添加任何 Ak Room 组件),则 Ak Emitter Obstruction Occlusion 组件仅使用声笼。. 在空间音频场景中,该组件仅对空间音频听者(即添加了 Ak Spatial Audio Listener 组件的 GameObject)应用声障。Emitter Obstruction 仅作用于空间音频听者所在房间内的发声体。
- 将 Ak Emitter Obstruction Occlusion 组件添加到 Button Outside。
- 在 Layer Mask 中,选择会遮挡音频的分层。在 Integration 内提供的 SpatialAudioTutorial 场景中,我们将第一人称角色放在了用户创建的 Player 分层,并将与 AkRoom 和 AkRoomPortal 组件关联的 GameObject 放在了用户创建的 Ignore Audio Raycast 分层。Layer Mask 选项中并未选中这些分层。
Ak Emitter Obstruction Occlusion component
Layer Mask options for the Ak Emitter Obstruction Occlusion component
- 播放场景。
- 播放 Button Outside。
- 移动到 Barrier GameObject 后面,试听场景中与 Ak Room 组件相关联的 GameObject 被遮蔽或阻挡后的效果。
B. Portal Obstruction
另外,过门户传播的声音也可以被阻挡。为此,可将 Ak Room Portal Obstruction 组件用在与 Ak Room Portal 组件关联的游戏对象上。 如需向场景添加房间和门户,请参阅 Room 和 Portal 教程 部分。
- 将 Ak Room Portal Obstruction 组件添加到 Outside Portal。
- 在 Layer Mask 中,选择会遮挡音频的分层。在 Integration 内提供的 SpatialAudioTutorial 场景中,我们将与 AkRoom 组件关联的 GameObject 放在了用户创建的 Ignore Audio Raycast 分层。Layer Mask 选项中并未选中此分层。
Ak Room Portal Obstruction component
Layer Mask options for the Ak Room Portal Obstruction component
- 播放场景。
- 播放 Button Small Room。
- 移动到 Barrier GameObject 后面,从而遮挡住门户。