关注

我想让游戏触发一个AudioClip(音频剪辑)但是听不到声音,这时怎么回事?

问题

  • 我无法在特定事件中播放音频剪辑。
  • 我想让玩家进入触发区域时听见声音。
  • 但我听不到任何声音播放。

原因

您已经在Unity中创建了一个声音触发器的C#脚本,当玩家进入触发区域时播放声音当主角离开时停止。 

已为GameObject绑定Audio Source组件并指定了AudioClip。

您的脚本在Console窗口显示没有错误(位于Unity左下角),但是当您的玩家进入触发区域时并没有听到有声音播放。

解决方案

有两种可能导致进入触发区域时不能听见声音: 

  • Audio Source 离Scene中Main Camera 的Audio Listener组件太远了。这导致声音减弱太多而不能被听见。
  • 您没有将Rigidbody添加到您的Collider或者GameObject上。触发器事件只有在Collider或者GameObject上有一个Rigidbody时才会发送。 

您可以同过调整Inspector窗口中3D Sound Settings的min/max distance属性使声音能在更远的距离被听到。或在Hierachy窗口者将Audio Source 添加到Player Controller的 Main Camera上。

选中Collider 确保Inspector面板中勾选了“is trigger”,点击Add Component,为Collider添加Rigidbody,给GameObject添加一个Rigidbody也是使用相同的方式。这个触发器并不会注册一个Rigidbody进入时的碰撞,所以您需要修改您的脚本调用OnTriggerEnter();当Rigidbody进入或离开碰撞区域时。下面是如何在玩家进入触发区域是播放声音的c#脚本。

更多信息 

更多有关Colliders的信息请看这里

 

 

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
还有其它问题?提交请求

0 评论

登录写评论。