OnCollisionEnter不是统一调用的

Eri*_*utz 10 c# unity-game-engine

我几乎检查了每个答案,但这些都是简单的错误和错误.我的问题是OnCollisionEnter即使在碰撞其他刚体时也不会被调用.

这是不被称为的部分:

 void OnCollisionEnter(UnityEngine.Collision col) {
        Debug.Log("collision!!!");
        foreach(ContactPoint contact in col.contacts) {
            //checking the individual collisions
            if(contact.Equals(this.target))
            {
                if(!attacking) {
                    Debug.Log("hitting target");
                } else {
                    Debug.Log("dying");
                    //engage death sequence
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

甚至没有"碰撞!!!" 消息出现.我是否理解错误使用,或者我忘记了什么?

Kha*_*dal 43

你在使用2D对撞机和刚体吗?如果是这样,请使用此函数而不是OnCollisionEnter

void OnCollisionEnter2D(Collision2D coll)
    {
        Debug.Log(coll.gameObject.tag);

    }
Run Code Online (Sandbox Code Playgroud)