触摸物体时不会触发碰撞

时间:2014-01-01 14:00:09

标签: c# unity3d collision-detection

我有1个第一人称控制器作为玩家并创建了1个立方体作为敌人。

Enemy有刚性的人为它分配重力,它在一个由立方体制成的平台上移动。

碰撞检测脚本附有敌人。 当敌人触及玩家方法成功触发时。但是当玩家触摸敌人的方法没有被调用时。

void OnCollisionEnter(Collision collision) {

       Collider other=collision.collider;
       Debug.Log(string.Format("OnCollisionEnter tag={0}",other.tag));
         //                   

       if(other.gameObject.tag=="Player")
       {
         Debug.Log("Player1 Touched");
       }
}

1 个答案:

答案 0 :(得分:0)

我找到了答案。

因为我使用了firstpersoncontroller,我必须实现以下方法来查找碰撞

 void OnControllerColliderHit(ControllerColliderHit collision)
        {
  Debug.Log(string.Format("object tag={0}",collision.collider.gameObject.tag));
    }

谢谢大家的帮助。 团结链接帮助了我。

http://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.OnControllerColliderHit.html