碰撞与触发事件

本文详细介绍了Unity中碰撞和触发器的工作原理及使用方法。包括碰撞开始、持续和结束时调用的方法,以及触发器如何在游戏对象通过时触发事件。通过具体代码示例解释了如何检测碰撞和触发条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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("离开触发");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值