Unity基礎-物理系統

Unity內置了NVIDIAPhysx物理引擎,Physx是目前使用最爲廣泛的物理引擎,被很多遊戲大作所採用,開發者可以通過物理引擎高效、逼真地模擬剛體碰撞車輛駕駛布料重力等物理效果,使遊戲畫面更加真實而生動,下面就給大家介紹下Unity遊戲開發中物理引擎的使用。

##Rigidbody(剛體)
Rigidbody(剛體)能讓你的遊戲對象被物理引擎所控制,它能通過受到推力和扭力來實現真實的物理表現效果。所有遊戲對象必須包含剛體組件來實現重力、通過腳本施加力、或者與其他對象進行交互,這一切都通過NVIDIA的PhysX物理引擎來實現。

####屬性

Mass 質量,單位爲Kg,建議不要讓對象之間的質量差達到100倍以上
Drag 空氣阻力,爲0表示沒有阻力,infinity表示立即停止移動
Angular Drag 扭力的阻力,數值意義同上
Use Gravity 是否受重力影響

Is Kinematic 是否爲Kinematic剛體,如果啓用該參數,則對象不會被物理所控制,只能通過直接設置位置、旋轉和縮放來操作它。

Is Kinematic一般用來實現移動平臺,或者帶有HingeJoint的動畫剛體,在某些時候,主要是創建布娃娃效果的時候,你可能需要在動畫與物理控制之間進行切換。你可以將剛體設置爲Is Kinematic,當設置爲Kinematic模式,它將不再受到外力影響。這時你只能通過變換方式來操作對象,但是Kinematic剛體還會影響其他剛體,但他自己不會再受物理引擎控制。比如,連在Kinematic剛體上的Joints還會繼續影響連接的另一個非Kinematic剛體,同時也能夠給其他剛體產生碰撞力。

Interpolate 如果你的剛體運動時有抖動,嘗試一下修改這個參數,None表示沒有插值,Interpolate表示根據上一楨的位置來做平滑插值,Extra

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章