碰撞和触发

碰撞器分类:

盒型碰撞器(Box Collider),球形碰撞器(Sphere Collider),胶囊碰撞器(Capsule Collider),网格碰撞器(Mesh Collider),车轮碰撞器(Wheel Collider)等;

效率比较:

球形碰撞器>胶囊碰撞器>盒型碰撞器>网格碰撞器

碰撞的必备条件:

1、两个物体要有碰撞器

2、必须要有一个物体有刚体

物理材质:

Dynamic Friction:动态摩擦力。游戏对象运动时候的摩擦力,取值在0~1之间。

Static Friction:静态摩擦力。游戏对象放置表面时候的摩擦力,取值在0~1之间。值为0时表面类似冰的效果。

Bounciness:反弹,该参数用于设置游戏对象的反弹,值为0时表示没有反弹,值为1时表示能量没有损失的反弹,会一直反弹

Friction combine:摩擦力组合,该参数用于设置游戏对象摩擦力的组合方式。

Bounce combine:反弹组合,用于设置游戏对象反弹力的组合,反弹力组合提供了与摩擦力类似的选项。

碰撞检测:

能发生碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。

一、碰撞器是一群组件,包含了多个种类,比如:Box Collider, Capsule Collider等,这些碰撞器应用的场合不同,但必须加到GameObject身上。

二、所谓触发器,只需要在检视面板中碰撞器组件中勾选is Trigger属性选择框。

三、给游戏对象添加刚体(Rigdbody)组件,并且取消刚体组件的重力选项UseGravity。

碰撞器的三种方法:

//碰撞接触的那一帧被调用  

    void OnCollisionEnter(Collision collision) {  

     print(collision.gameObject.name);  }

// 碰撞接触的每帧都被调用  

    void OnCollisionStay(Collision collision) {  

        print(collision.gameObject.name);    }  

    // 碰撞结束被调用  

    void OnCollisionExit(Collision collision) {  

        print(collision.gameObject.name);   }  

触发器的三种方法:触发器可以穿透,所以把重力去掉。

// 触发接触的那一帧被调用  

    void OnTriggerEnter(Collider other) {  

       print(other.gameObject.name);  

    }  

    //触发接触的每帧都被调用  

    void OnTriggerStay(Collider other) {  

      print(other.gameObject.name);  

    }  

    // 触发结束被调用  

    void OnTriggerExit(Collider other) {  

     print(other.gameObject.name);  

    }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值