[原]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:阻力器,阻尼器控制着懸掛的速度,數值越大,懸掛彈簧移動的速度越慢。
      • Target Position:懸掛沿着其方向上的靜止時的距離。
    • Forward Friction:當輪胎向前滾動時的摩擦力屬性。
      • Extremum Slip:滑動極值
      • Extremum Value:極限值
      • Asymptote Slip:滑動漸進值
      • Asymptote Value:漸進值
      • Stiffness Factor:剛性因子
    • Sideways Friction:當輪胎側向滾動時的摩擦力屬性。
      • 同Forward Friction一樣有5個可設置值

車輪碰撞檢測是通過從局部坐標Y軸向下投射一條射線來實現的,車輪有一個通過懸掛距離向下延伸的半徑,可通過腳本中不同的屬性值來對車輛進行控制。這些屬性值有motorTorque(馬達轉矩)、brakeTorque(制動轉矩)和steerAngle(轉向角)。與其他物理引擎的碰撞體相比,車輪碰撞體是通過一個基於滑動摩擦力的參考體來單獨計算摩擦力的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM