测试对象:Cube1和Cube2
情况1:
Cube1是Collider,Cube2时Collider
Collision事件触发,Trigger事件不触发
情况2:
Cube1是Collider,Cube2时Trigger
Collision事件不触发,Trigger事件触发
情况3:
Cube1是Trigger,Cube2时Collider
Collision事件不触发,Trigger事件触发
情况4:
Cube1是Trigger,Cube2时Trigger
Collision事件不触发,Trigger事件触发
总结:
当两个物体都是Collider时,才会触发Collision事件,并且不会触发Trigger事件。
两个物体中只要有一个是Trigger时,另一个无论是Collider还是Trigger,都只会触发Trigger事件。
测试代码:
using UnityEngine;
using System.Collections;
public class ColliderTest : MonoBehaviour {
void OnCollisionEnter(Collision collisionInfo)
{
Debug.Log("Collision" + collisionInfo.gameObject.name);
}
void OnTriggerEnter(Collider other)
{
Debug.Log("Trigger" + other.gameObject.name);
}
}