Rigdbody剛體組件:必須和碰撞體(Colliders)一起使用,否則會發生穿過的現象。碰撞體(Colliders)不是必須和剛體一起使用。
剛體的作用:使游戲物體能獲得重力,接受外界的受力和扭力,可以通過腳本或是物理引擎為游戲對象添加剛體組件。
Unity中添加引擎的方法:Component→ Physics→ Rigdbody。
屬性簡介:
Mass:質量。設置游戲對象的質量。建議同一場景中的游戲對象質量差值不能大於100倍。
Drag:阻力。設置游戲對象受到的空氣阻力。0~...。
Angular Drag:角阻力。當游戲對象扭矩力旋轉的時候,受到的空氣阻力。0~...。
Use Gravity:是否啟用重力。
Is Kinematic:是否開啟動力學。開啟之后將不在受物理引擎的影響而只能通過Transform屬性來操作,
這個選項適用於模擬平台的移動或帶有鉸鏈關節連接剛體的動畫。
Interpolate:插值。None——沒有插值。Interpolate——內插值,基於前一幀的Transform來平滑的此次的Transform。
Extrapolate——外插值,基於后一幀的Transform來平滑的此次的Transform。
Collision Detaction:碰撞檢測。該屬性用於控制游戲對象高速運動的游戲對象穿過其他游戲對象而未發生碰撞。
Discrete:默認選項,檢測場景中其他所有碰撞體進行碰撞檢測。
Continuous:連續碰撞檢測。此模式適用於那些需要與采用了連續動態碰撞檢測的對象相碰撞的對象。
Continuous Dynamic:連續動態檢測模式。
Constraints:約束。Freeze Position:凍結位置或是某個軸。Freeze Rotation:凍結向某個方向旋轉的軸。
注意:
1.通常情況下沒有必要在操作—個對象剛體的同時也操作其Transform,只 需要二選其一即可。
2.在使用物理系統時,不要直接改變對象的Transform組件的屬性,可通過在游戲對象的剛體上添加AddForce()不口AddTOrqueo函數,
達到通過腳本來添加作用力或扭矩力,來對剛體進行控制。
3.當剛體被標記為動力學模式時,就不會受到如碰撞、作用力或其他物理效果的影晌,動力學剛體會影晌其他的對象,但其自身並不受到物理系統
的影響。例如,那些綁定到動力學對象上的關節會約束其他綁定到該對象上的剛體,動力學剛體在碰撞時會影晌其他的剛體。