首页 > 代码库 > [原]Unity3D深入浅出 - 之碰撞体(Colliders)

[原]Unity3D深入浅出 - 之碰撞体(Colliders)

通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过。

常用碰撞体有以下几种:

  • Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长方体,一般可用作门,墙及平台等,也可用于交通工具的外壳。最适合的是使用在盒子和箱子上。
    • Is Trigger:触发器,勾选后可用于触发事件,且将被物理引擎锁忽略。
    • Material:材质,采用不同的Physics Material决定了碰撞体与其他对象的交互形式。
    • Center:碰撞体在对象局部坐标的中的位置
    • Size:可调整碰撞体的大小
  • Sphere Collider:球形碰撞体,是一个基于球体的碰撞体,可用作石头,乒乓球等
    • Radius:调整球形碰撞体的半径,没有了Size属性。
  • Capsule Collider:胶囊碰撞体,由一个圆柱体两端分别连接两个半球体组成,可用在Character Controllers,或与一些其他不规则形状的碰撞结合来使用。建
    • Height:高度。
    • Direction:方向,默认是Y轴
  • Mesh Collider:网格碰撞体,通过获取网格对象并在其基础上构建碰撞器,与其他碰撞体相比,网格碰撞体更加精细,但会占用更多系统资源。只有在开启Convex属性才可以与其他的网格碰撞体发生碰撞。
    • Smooth Sphere Collisions:平滑碰撞,开启此项碰撞会变得平滑,因此在平滑的表面建议开启此选项。
    • Mesh:网格,获取对象的网格并将其作为碰撞体。
    • Convex:凸起,勾选后可以与其他的网格碰撞起发生碰撞。
    • 注意:网格碰撞器可以与所有的碰撞体发生碰撞,但要与其他的网格碰撞体发生碰撞必须开启Convex属性,且只有当网格碰撞体网格的三角形数量少于255的时候Convex属性才会生效。
  • Wheel Collider:车轮碰撞体,是一种针对地面车辆的特殊碰撞体,它有内置的碰撞检测,车轮物理系统,滑胎摩擦参考体。除了车轮也可用于其他对象。
    • Mass:车轮碰撞体的质量。
    • Radius:车轮碰撞体的半径大小。
    • Suspension Distance:车轮碰撞体的最大悬挂距离,根据局部坐标Y轴向下延伸。
    • Center:轮胎碰撞体的局部坐标的中心。
    • Suspension Spring:车轮的悬挂弹簧,通过添加弹簧和阻力使得悬挂达到目标位置。
      • Spring:弹簧,弹簧力度越大,悬挂到达目标的位置也就越快。
      • Damper:阻力器