触摸物体时不会触发碰撞

问题描述 投票:0回答:1

我有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");
       }
}
c# unity3d collision-detection
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.