unity中使用fmod音频插件3

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wodownload2/article/details/83418426

本博关于2D声音和3D声音的播放问题。
1、fmod中区分2D声音和3D声音。在fmod中如果音频有:
在这里插入图片描述

这个音频是3D的,如果没有则是2D声音。具体到unity中,我们可以通过EventBrowser查看声音的属性:
在这里插入图片描述
查看到。

而如果是3D声音,则是:
在这里插入图片描述

代码中判断方法,参考StudioEventEmitter的Play()方法:

eventDescription.is3D(out is3D);

2、2D、3D声音的区别:
在fmod中的,对应2D声音,即使没有加StudioListener组件,也会听到2D的声音。也不要以为是默认摄像机上的AudioListener听到的,因为我们把场景中所有的unity自己的AudioListener去除掉,依然可以听到fmod的2D声音,答案就是fmod为我们提供默认的耳朵以监听2D声音。

在fmod中的,3D声音,需要添加StudioListener组件,而且必须保证耳朵在声音的有效位置处,才能听到3D声音。有效位置是3D声音的最近和最远距离之间。超过这个范围则听不到3D声音。

在有多个StudioListener情况下,同一个3D声音会不会听到多次,答案是不会。fmod只会取离3D声音最近的耳朵监听3D声音。

声音有没有方向,目前不清楚,但是测试下来,没有。

耳朵有没有方向,答案是有的。我们尝试把播放3D声音,同时,移动StudioListener的位置,发现左右耳朵听到的声音会有变化。同时如果我们把物体旋转一个角度,也会发现左右耳朵听到的声音不同,这也符合实际的物理规律。

3、耳朵到底放在哪里,是角色还是摄像机,待思考。

猜你喜欢

转载自blog.csdn.net/wodownload2/article/details/83418426