Unity Rigidbody

Rigidbody(剛體)component:可將Rigidbody應用到你的遊戲物件(GameObject)上,讓這個GameObject可以被物理的方式控制,也將是說讓這個GameObject可以被physics forces(物理力,如推力,阻力等) 與 torque(扭力)作用。

另外在2D遊戲中,則是使用Rigidbody2D component它只會做用在2D環境,也就是說只能在XY plane上作用。

參數簡介

  • Body Type(Rigidbody2D)
    • Dynamic(動態,預設值)
      • 運動時受力影響,並且接受完全的物理模擬,包括重力、碰撞、施加力等,最耗效能。
    • Kinematic(運動學)
      • 不受力影響但可移動,其運動行爲是被我們開發者完全限定的,可以碰撞,沒有設定質量(Mass)的參數
      • 只會與Dynamic2D碰撞
    • Static(靜態)
      • 不受力影響也不會動,會與動態類型剛體碰撞,最不消耗效能。
  • Mass:質量,預設為千克,質量越大慣性越大,質量越大越不容易被別的物體推動
  • Drag:空氣阻力,根據移動物件時影響物件的空氣阻力大小,0表示沒有空氣阻力
  • Angular Drag:根據樞紐旋轉物件時影響物件的空氣阻力大小,0表示沒有空氣阻力
  • Use Gravity:是否受重力影響
  • Is Kinematic:如果啟用此選項,則物件不會被物理引擎驅動,只能透過Transform對其進行操作,
    • 對於移動平台,或者如果要動畫化附加了HingeJoint的剛體,此屬性非常有用
  • Interpolate:插值運算,讓剛體物體移動更平滑
    • None:不使用
    • Interpolate:根據前一幀的變換來平滑變換
    • Extrapolate:根據下一幀估計的變換來平滑變換
  • Collision Detection:碰撞檢測,用於防止快速移動的物體其他物體而不檢測碰撞
    • Discrete:預設值,離散檢測,
      • 最不耗效能的檢測,
      • 對場景中所有其他碰撞體使用離散碰撞檢測,
      • 用於一般碰撞。
      • 可能會出現當物體移動太快造成偵測不到與其他物體碰撞。
    • Continuous:連續檢測,
      • 對動態碰撞體(具有剛體),使用離散檢測
      • 對靜態碰撞體(沒有剛體),使用連續檢測
      • 對於所有其他剛體碰撞使用離散檢測
      • 較消耗物理效能
    • Continuous Dynamic:連續動態檢測
      • 對動態碰撞體(具有剛體)與靜態碰撞體(沒有剛體)都使用連續碰撞檢測
      • 對於所有其他剛體碰撞使用離散檢測
      • 用於快速移動的物體
    • Continuous Speculative:連續推測檢測
      • 對剛體和碰撞體使用推測性連續碰撞檢測,
      • 一般比Continuous Dynamic的成本低
  • Constraints:約束,對剛體運動的限制
    • Freeze Position:有選擇地停止剛體沿世界X, Y, 和 Z軸的移動
    • Freeze Rotation:有選擇地停止剛體圍繞局部X, Y, 和 Z軸的轉動

Collision Detection的效能消耗為Continuous Dynamic > Continuous Speculative > Continuous > Discrete

無剛體 Discrete Continuous Continuous Dynamic Continuous Speculative
無剛體 不檢測碰撞 Discrete Continuous Continuous Continuous Speculative
Discrete Discrete Discrete Discrete Discrete Continuous Speculative
Continuous Continuous Discrete Discrete Continuous Continuous Speculative
Continuous Dynamic Continuous Discrete Continuous Continuous Continuous Speculative
Continuous Speculative Continuous Speculative Continuous Speculative Continuous Speculative Continuous Speculative Continuous Speculative

評論