• Unity3D 碰撞关系表 (转)


    几个类型碰撞器:

    1. 静态碰撞器: 就是只有碰撞器,但没有刚体的
    2.刚体碰撞器: 带Rigidbody的碰撞器,这个是最基本的碰撞器
    3.运动学刚体碰撞器: 带Rigidbody, 而且Rigidbody的IsKinematic打勾的,注意这个碰撞器是不能加力的,只能修改他的transform才能移动

    Triggers 触发器

    仅需要选中Inspector中的IsTrigger属性选择框。触发器不受物理引擎控制,当和一个触发器发生碰撞时会发出三个独特的触发信息,为了使两个触发器碰撞时发出碰撞事件,其中一个必须包含刚体.
     
    今天遇到的一个情况是:如果刚体碰撞器不动,静态碰撞器去碰撞,则不会触发任何信息,而如果静态碰撞器不动,刚体碰撞器(包括运动学刚体碰撞器)去碰撞静态碰撞器,则会触发碰撞,如果是触发器,则会触发事件。所以下面的表格提供了触发的条件,但主动性大家也还需要注意,不然要纠结一段时间的。

     

     
    Collision detection occurs and messages are sent upon collision
    碰撞后有碰撞检测并有碰撞信息发出
      Static Collider
    静态碰撞器
    Rigidbody Collider
    刚体碰撞器
    Kinematic 
    Rigidbody Collider
    运动学刚体碰撞器
    Static 
    Trigger Collider
    静态触发碰撞器
    Rigidbody 
    Trigger Collider
    刚体触发碰撞器
    Kinematic Rigidbody 
    Trigger Collider
    运动学刚体触发碰撞器
    Static Collider 静态碰撞器   Y        
    Rigidbody Collider 刚体碰撞器 Y Y Y      
    Kinematic Rigidbody Collider 
    运动学刚体碰撞器
      Y        
    Static Trigger Collider
    静态触发碰撞器
               
    Rigidbody Trigger Collider
    刚体触发碰撞器
               
    Kinematic Rigidbody Trigger Collider
    运动学刚体触发碰撞器
               
    Trigger messages are sent upon collision
    碰撞后有触发信息
      Static Collider
    静态碰撞器
    Rigidbody Collider
    刚体碰撞器
    Kinematic 
    Rigidbody Collider
    运动学刚体碰撞器
    Static 
    Trigger Collider
    静态触发碰撞器
    Rigidbody 
    Trigger Collider
    刚体触发碰撞器
    Kinematic Rigidbody 
    Trigger Collider
    运动学刚体触发碰撞器
    Static Collider 静态碰撞器         Y Y
    Rigidbody Collider 刚体碰撞器       Y Y Y
    Kinematic Rigidbody Collider
    运动学刚体碰撞器
          Y Y Y
    Static Trigger Collider 静态触发碰撞器   Y Y   Y Y
    Rigidbody Trigger Collider
    刚体触发碰撞器
    Y Y Y Y Y Y
    Kinematic Rigidbody Trigger Collider
    运动学刚体触发碰撞器
    Y Y Y Y Y Y

    触发信息检测:
    1.MonoBehaviour.OnTriggerEnter( Collider other )当进入触发器
    2.MonoBehaviour.OnTriggerExit( Collider other )当退出触发器
    3.MonoBehaviour.OnTriggerStay( Collider other )当逗留触发器

    碰撞信息检测:
    1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) 当进入碰撞器
    2.MonoBehaviour.OnCollisionExit( Collision collisionInfo ) 当退出碰撞器
    3.MonoBehaviour.OnCollisionStay( Collision collisionInfo )  当逗留碰撞器

     
  • 相关阅读:
    短信平台接口调用方法参考
    C#部分类与部分方法
    Oracle表字段类型更改的一个经验
    ueditor的上传文件漏洞(c#)
    判断一个文件是否是指定后缀名的文件
    利用FluorineFx的ByteArray上传图片
    FluorineFx 播放FLV 时堆棧溢出解决 FluorineFx NetStream.play 并发时,无法全部连接成功的解决办法
    Flex数据交互之Remoting[转]
    fluorinefx使用手册
    SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例【转】
  • 原文地址:https://www.cnblogs.com/ANLOG/p/4928720.html
Copyright © 2020-2023  润新知