1.发生碰撞的两个物体必须都带有Collider
2.发生碰撞的两个物体至少有一个带有刚体
3.发生碰撞的两个物体必须有相对运动
public void OnCollisionEnter(Collision collision)
{
// print("碰撞开始");
}
//当碰撞持续发生的时候调用
public void OnCollisionStay(Collision collision)
{
//检测与谁发生了碰撞,排除地面
if (string.Equals(collision.gameObject.name, "Cube"))
{
print("碰撞进行中");
}
}
//碰撞结束时调用一次
public void OnCollisionExit(Collision collision)
{
// print("碰撞结束");
}
触发。
触发器的isTrigger是勾选的,也需要有一个刚体。不需要相对运动。
如wow 猎人的陷阱是需要用触发器来实现的。
触发器是游戏对象可以通过,但通过时,触发事件。对游戏对象产生影响
public void OnTriggerEnter(Collider other)
{
print("地雷爆炸");
}
//持续触发时会调用,呆在触发范围内会一直调用。
public void OnTriggerStay(Collider other)
{
print("持续触发");
}
//当离开触发范围时,会调用一次 炮塔?
public void OnTriggerExit(Collider other)
{
print("离开触发");
}