【发布时间】:2016-03-11 19:51:15
【问题描述】:
我必须使用 rigidbody 和 box collider 来处理所有碰撞的游戏对象(我必须检测碰撞)。也就是说,我遇到了一些非常大的麻烦 由于 two 对象相互碰撞,2 次 onTriggerEnter 播放 我当然不想这样做。有什么办法可以控制吗?不删除脚本 和任何物体的刚体。
void OnTriggerEnter(Collider collidedAGV)
{
if (collidedAGV.tag == "cib" )
{
}
}
【问题讨论】:
-
嗨 Mohammad - 首先您应该熟悉 Unity 中的 Layers 功能 - 这很棒。事实上,你必须每次都使用它。
-
你的意思是我需要更改图层,然后检查触发器,但我将无法重置它。我猜
-
值得一提的是,理论上,在这种情况下,您可以做的一件事就是获得两者的
InstanceID,并且只有在您是较低 ID 时才采取行动!我真的不建议将其作为解决方案docs.unity3d.com/ScriptReference/Object.GetInstanceID.html -
为什么不推荐
-
我已经使用层它工作正常,但我没有正确测试它!所以也许图层解决方案看起来可行,但必须大力测试