c# - 如何在 Unity 的 2D 应用程序中获得空间声音?
问题描述
我的 2D 游戏中有一个检查点,在小范围内应该会发出声音。但是即使玩家离开了一段距离,声音仍在播放。我尝试在音频源中设置设置:
Max distance = 2
和
Volume Rolloff = Linear Rolloff
还
Spatial Blend = 1
但在此之后我根本听不到声音。
它不适用于2D吗?
解决方案
唯一重要的是你AudioListener
在场景中离场景有多远AudioSource
默认情况下,AudioListener
在您的MainCamera
. 在 2D 游戏中,我怀疑相机会停留在其位置,或者至少始终以固定距离移动到放置玩家和物体的动作平面。
但实际上,您可以将该AudioListener
组件移动到GameObject
您想要的任何位置,以使其负责接收AudioSource
场景的不同 s。
因此,您可以/应该在 2D 应用程序中通过AudioListener
从相机中移除 并且将其附加到您的播放器对象来更改它。
然后启用它很重要,Spatial Blend
但您已经这样做了。
推荐阅读
- amazon-web-services - 将现有 AWS 资源整合到 CloudFormation 堆栈中
- node.js - 如何使用 mongodb 在单节点项目中将数据存储在两个不同的数据库中
- r - 从 arules 包中获取 read.transactions 错误
- jquery - 无法将标签附加到 div
- reporting-services - 创建 SSRS 报告并遇到结构问题
- python - 如何获得聚类中心的 Y 坐标?
- python - 在 Dreamhost Python 网页上获取“脚本头过早结束”
- asp.net-mvc - MVC 5 中下拉列表组合的远程验证
- xslt - 找不到块容器的背景图像属性的图像
- python - 如何循环遍历熊猫数据框,并有条件地将值分配给变量的一行?