Unity碰撞检测

本文详细介绍了Unity中两种不同的碰撞检测方式:触发器和碰撞检测。触发器通过设置Collider的isTrigger属性实现,允许物体相互穿过并提供OnTriggerEnter、OnTriggerExit及OnTriggerStay等回调函数;碰撞检测则不允许物体相互穿透,并提供了OnCollisionEnter、OnCollisionExit及OnCollisionStay等回调函数。

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

碰撞个必要条件为两个角色必须都挂载 Rigibody 刚体组件,至少一个角色挂载 Collider脚本


第一种 触发器,必须打开 Collider的 isTrigger 为 true ,两个碰撞对象会相互穿过
    void OnTriggerEnter(Collider collider) //开始触发器
    {
        print("cube1  triggerEnter");
    }

    void OnTriggerExit(Collider collider) //触发器结束
    {
        print("cube1 triggerExit");
    }

    void OnTriggerStay(Collider collider)  //持续触发
    {
        print("cube1 triggerStay");
    }
    
第二种碰撞检测 不需要设置 Collider 的 isTrigger为true,碰撞物体不能相互穿透
    void OnCollisionEnter(Collision collision) //开始碰撞
    {
        print("cube1 collisionEnter");
    }
    
    void OnCollisionExit(Collision collision) //退出碰撞
    {
        print("cube1 collisionExit");
    }


    void OnCollisionStay(Collision collision) //持续碰撞
    {
        print("cube1 collisionStay");
    }
     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值