我们在VR中对声音的感知是和在普通游戏中的声音是截然不同的,我们需要根据声音的远近,声音的方位进行对听觉的判断。
用CardBoard实现VR中的立体音效。
- 首先为我们的“耳朵”添加上CardBoardSDK封装好的AudioListener脚本。(它会作为新的媒介与CardBoardAudioSource来处理声音)

- 接着为我们的声音源添加CardBoardAudioSource脚本。

选中的参数为VR中比较重要的参数,根据自己的项目不同的需求不同的应用。规定了声音传播的衰减方式是对数,线性,还是自定义的衰减,和AudioSource里的一样还有传播距离设置。
- 当然你同样可以使用将unity中的声音更改为3D的来进行实现,看你自己喜好。

- 紧接着找到Project Setting 中的Audio设置,将Audio的Spatializer Plugin(空间音响)设置为CardBoardAudio


- 这样就已经可以实现3D的音效。
如果你还想进一步的优化项目中的声音比如(声音的反射,等等)你需要添加一个CardBoard Audio Room脚本进行实现来控制这个房间里的声音是如何传播的。


- 以下是我自己做的小Demo,当自己靠近Vehicle时,并处在汽车的前右方,汽车就会鸣笛,VR3D的音效听着十分的不错(由于这些汽车自己添加了对象池所以赋值都是在OnEnable中进行的)

-
这里汽车行进的前方为Vector3.right
Paste_Image.png

网友评论