允许对象通过对象,同时在Unity3D中检测碰撞

本文关键字:对象 Unity3D 碰撞 检测 许对象 | 更新日期: 2023-09-27 18:00:20

我试图让球通过一个空对象,但也向调试窗口发回一条消息。但我不知道如何做到这一点,也不知道从哪里开始,所以如果能在这方面提供任何帮助,我将不胜感激。很抱歉,我没有代码可以作为示例显示,但是我已经能够进行碰撞检测,或者允许对象一次通过一个空对象,但决不能同时通过这两个对象。我使用过OnTriggerEnterOnCollionEnter

允许对象通过对象,同时在Unity3D中检测碰撞

在空对象上放置一个Collider(例如SphereCollider),并将其Is Trigger设置为true。现在,您可以按预期在脚本中使用OnTriggerEnter(附加到空对象)。

public class MyBehaviour : MonoBehaviour
{
    private void OnTriggerEnter(Collider other)
    {
        var collider = other.gameObject;
        // Do something...
        Debug.Log(collider);
    }
}

您希望使GameObject的碰撞器成为编辑器上的触发器。转到编辑器,在你的游戏对象中添加一个碰撞器,然后使其成为触发器。

C#代码

void OnTriggerEnter(Collider other)
{
    Debug.Log("I hit something: " + other.gameObject);
}

Javascript

function OnTriggerEnter (other : Collider) 
{
    Debug.Log("Hey I hit you: " + other.gameObject);
}