我有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");
}
}
我找到了答案。
因为我使用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