天天看點

[原]Unity3D深入淺出 - 實體引擎之剛體部件(Rigidbody)

在虛拟世界中,任何物體都是沒有活力的,要想變的真實,Rigidbody是必不可少的元件,下面介紹Rigidbody的各個屬性:

  • Mass:品質
  • Drag:阻力,對象在運動時遇到的空氣阻力,0表示沒有空氣阻力,好比丢一個東西出去,如果這個東西沒有阻力的話,則會一直不停的向你丢的方向所運動。
  • Angular Drag:角阻力也稱扭矩力,扭矩力是使物體發生轉動的一種特殊的力炬。
  • Use Gravity:使用重力,開啟後會受到重力影響。
  • Is Kinematic:是否開啟動力學,開啟後不在受實體引擎的影響,隻能通過Transform屬性來操作。此屬性一般用來模拟平台的移動,或帶有鉸鍊關節連結剛體的動畫。
  • Interpolate:插值,用于控制剛體運動抖動的情況,有以下三種值可選。
    • None:沒有插值
    • Interpolate:内插值,基于前一幀的Transform來平滑此次的Transfomr。
    • Extrapolate:外插值,基于下一幀的Transform來平滑此次的Transform。
  • Collsion Detection:碰撞檢測,用于控制避免高速運動的對象穿過其他對象而未發生碰撞。
    • Discrete:離散碰撞檢測(預設值),與場景中其他多有碰撞體進行碰撞檢測。
    • Continuous:連續碰撞檢測,此模式對實體性能會有很大影響,如果不需要對快速運動的對象進行碰撞檢測,就是用離散模式。
    • Continuous Dynamic:連續動态碰撞檢測模式。
  • Constraints:限制,控制對剛體運動的限制。
  • Freeze Position:當機位置,剛體對象在世界坐标系中的X,YZ,軸方向上的移動将無效
  • Freeze Rotation:當機旋轉

剛體會使對象在實體引擎下運動,真實模拟一個物體在現實世界中受到力後的行為。

通常如果使用了剛體來操作遊戲對象時沒必要再對其Transform進行操作。