unity碰撞检测的几种函数


一、

OnCollisionEnter(Collision collision):这个函数用于检测两个物体之间的碰撞事件,当两个物体发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。


二、

OnCollisionStay(Collision collision):这个函数用于检测两个物体之间的持续碰撞事件,当两个物体持续发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。


三、

OnCollisionStay(Collision collision):这个函数用于检测两个物体之间的持续碰撞事件,当两个物体持续发生碰撞时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。


四、

OnTriggerStay(Collider other):这个函数用于检测一个物体是否持续停留在另一个物体的触发器范围内,当一个物体持续停留在另一个物体的触发器内时被调用。其中,参数other表示停留在触发器内的物体。

五、

OnCollisionExit(Collision collision):这个函数用于检测两个物体之间的碰撞事件结束,当两个物体之间的碰撞结束时被调用。其中,参数collision包含了碰撞的详细信息,例如碰撞点、碰撞法线等等。

六、

OnTriggerExit(Collider other):这个函数用于检测一个物体是否离开了另一个物体的触发器范围内,当一个物体离开另一个物体的触发器时被调用。其中,参数other表示离开触发器的物体。


七、 代码

using UnityEngine;

public class CollisionExample : MonoBehaviour
{
    // 碰撞事件,当两个物体发生碰撞时被调用
    void OnCollisionEnter(Collision collision)
    {
        Debug.Log("碰撞事件:" + collision.gameObject.name);
    }

    // 触发器事件,当一个物体进入另一个物体的触发器时被调用
    void OnTriggerEnter(Collider other)
    {
        Debug.Log("进入触发器:" + other.gameObject.name);
    }

    // 碰撞持续事件,当两个物体持续发生碰撞时被调用
    void OnCollisionStay(Collision collision)
    {
        Debug.Log("碰撞持续事件:" + collision.gameObject.name);
    }

    // 触发器持续事件,当一个物体持续停留在另一个物体的触发器内时被调用
    void OnTriggerStay(Collider other)
    {
        Debug.Log("触发器持续事件:" + other.gameObject.name);
    }

    // 碰撞结束事件,当两个物体之间的碰撞结束时被调用
    void OnCollisionExit(Collision collision)
    {
        Debug.Log("碰撞结束事件:" + collision.gameObject.name);
    }

    // 触发器结束事件,当一个物体离开另一个物体的触发器时被调用
    void OnTriggerExit(Collider other)
    {
        Debug.Log("触发器结束事件:" + other.gameObject.name);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忽然602

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值