中级05/Unity中3D声音播放
ADX2提供了多种方式来表现空间声音,我们此次将探讨如何通过ADX2制作3D声音来实现声音的空间位置效果。
ADX2中设置
要使得听到的声音具有3D定位,首要在ADX2中将声音的Pan Type设置为3D Positioning。
同时我们可以更改其衰减距离来实现远近的声音音量表现效果:
Min和Max决定了衰减的开始衰减距离和最大衰减距离,通过调整相关值来表现正确的游戏内衰减效果。
Unity中相关设置
当我们完成ADX2中Cue创建后进行构建,生成对应的ACB文件,导入到Unity中进行使用。
我们在Unity中创建相关Game Object。为了方便测试我们在相关Game Object上创建脚本用以让其自动运动。
public class RotatePosition : MonoBehaviour
{
public float RotateSpeed = 100.0f;
public Vector3 centerPosition = new Vector3(0, 0, 1.5f);
void Update()
{
/* Rotate around a center position. */
this.gameObject.transform.RotateAround(centerPosition, new Vector3(0, 1, 0), Time.deltaTime * RotateSpeed);
}
}
需要注意的是,我们在创建了Object后需要启用Cri Atom Source的3D Positioning,并勾选Play On Start方便测试。
完成上述内容后,我们进行场景的运行就能看到声音不断的运动,同时能够听到声音根据其位置变化引起的听觉上的变化效果: