【发布时间】:2019-03-07 13:38:57
【问题描述】:
我将 Reasonance 音频源添加到一个对象,并希望在该对象与另一个对象之间发生碰撞时生成声音。
我遇到的问题是,只要对象进入“音频区域”(连接到具有特定半径的对象的蓝色磁盘),就会触发 Unity 中的 OnCollisionEnter。但是,我感兴趣的是物理碰撞发生的时间,而不是这种“音频”碰撞。
绕过它的一种方法是创建该对象的副本,而不使用跟随另一个对象运动的 Reasonance 音频源。然后触发对象副本的冲突。但我想知道是否有任何方法可以区分 Unity 中的这两种类型的碰撞?
这是一个例子。红球是我想要从中生成声音的对象,它具有 Reasonance 音频源作为组件。蓝色区域是从该组件创建的。每当蓝色圆盘接触灰色地板时,就会产生碰撞。我想禁用这种“音频”碰撞,并且只有在红球和灰色地板之间发生物理碰撞时才检测到碰撞。
编辑:发现问题。我一直在测试 PhysicsManager 属性(编辑/项目设置/物理),我将“默认接触偏移”设置为 0.01,通过更改与蓝色区域相同,所以我在错误的地方寻找问题。我现在将接触偏移更改为较小的值,一切正常。
【问题讨论】:
-
如果您想要更具体的答案,请尝试提供您迄今为止尝试过的屏幕截图或代码示例。
-
谢谢!我现在添加了示例的图像来说明问题
标签: unity3d collision-detection