Unity 为什么有时候播放音乐(音效)会没有声音

1.问题描述

昨晚,我遇到的情况如下:
1.MainCamera里有Audio Source,并且在循环播放音乐
2.在其他的GameObject中也新增一个Audio Source,在某个时机播放音效
3.GameObject中播放音效没有反应(没声音)
 
于是我猜测是MainCamera中的Audio Source有问题,把它禁用。
误打误撞,此时的GameObject播放音效还真有声音了。
 
但是,注意了,但是,在我寻找为什么MainCamera中的Audio Source禁用后会正常时。
突然间GameObject又没有声音了。
 
这回我放弃了,因为刚租了个新房子,不打算用宽带。
没网络的情况下,我的战斗力立即降为原有战力的40%。
所以,我睡觉去了。
 

 
 

2.再次尝试

今晚,我又尝试去解决这个问题。
尝试步骤如下:
1.新建一个场景
2.新建一个GameObject
3.在GameObject中加入Audio Source,并且在Start函数里播放音效
4.毫不意外,仍然没有声音
 
然后,我突然发现Audio Source一个奇怪的属性:
q1
没错,音效文件默认是3D音效。
 
3D?我突然有个猜测,既然是3D音效,声音大小肯定和离镜头的距离有关系。
于是我把GameObject放到镜头的正中间,然后再运行测试。
果然,有声音了。
 

 
 

3.原因及解决方案

那么,没声音的原因及解决方案如下。
原因:其实并不是没有声音,只是因为这是3D音效,如果物体离镜头太远,声音就会很小,小到一定程度,自然没声音了。
解决方案:

很简单,选中声音文件,查看它的属性,把3D Sound的勾去掉即可:
q2
 
原文地址:https://www.cnblogs.com/Peng18233754457/p/8175669.html