zoukankan      html  css  js  c++  java
  • 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 )  当逗留碰撞器

     
  • 相关阅读:
    利用jmSlip写一个移动端顶部日历选择组件
    JS写的排序算法演示
    jmSlip WEB前端滑屏组件
    如何:使用 Visual Basic 编写基于 Unity3D 的计算器
    验证 .NET 4.6 的 SIMD 硬件加速支持的重要性
    VB 2015 的 闭包(Closure)
    VS "15" 预览 5 中 VB 15 新增的功能
    演练:使用Xamarin.Forms开发产品介绍性质的应用(VB版)
    UWP游戏防内存修改器的方法
    优化win2d实现的萤火虫粒子效果
  • 原文地址:https://www.cnblogs.com/ANLOG/p/4928720.html
Copyright © 2011-2022 走看看