Unity 3D 剛體(Rigidbody)

2020-07-14 09:50 更新

Unity 3D 中的 Rigidbody 可以為游戲?qū)ο筚x予物理特性,使游戲?qū)ο笤谖锢硐到y(tǒng)的控制下接受推力與扭力,從而實現(xiàn)現(xiàn)實世界中的物理學現(xiàn)象。

我們通常把在外力作用下,物體的形狀和大小(尺寸)保持不變,而且內(nèi)部各部分相對位置保持恒定(沒有形變)的理想物理模型稱為剛體。

剛體(Rigidbody)是物理引擎中最基本的組件。通過該組件可以給物體添加一些常見的物理屬性,如質(zhì)量、摩擦力、碰撞參數(shù)等。

Unity 3D 提供了多個實現(xiàn)接口,開發(fā)者可以通過更改這些參數(shù)來控制物體的各種物理狀態(tài)。

剛體在各種物理狀態(tài)影響下運動,剛體的屬性包含:

  • Mass(質(zhì)量)

  • Drag(阻力)

  • Angular Drag(角阻力)

  • Use Gravity(是否使用重力)

  • Is Kinematic(是否受物理影響)

  • Collision Detection(碰撞檢測)

剛體添加方法

在 Unity 3D 中創(chuàng)建并選擇一個游戲?qū)ο螅瑘?zhí)行菜單欄中的 ComponentPhysicsRigidbody 命令為游戲?qū)ο筇砑觿傮w組件。

剛體選項參數(shù)

游戲?qū)ο笠坏┍毁x予剛體屬性后,其 Inspector 屬性面板會顯示相應的屬性參數(shù)與功能選項,具體內(nèi)容如下表所示。

參數(shù) 含義 描述
Mass 質(zhì)量 物體的質(zhì)量(任意單位)。建議一個物體的質(zhì)量不要與其他物體 相差100倍。
Drag 阻力 當受力移動時物體受到的空氣阻力。0表示沒有空氣阻力,極 大時使物體立即停止運動。
Angular Drag 角阻力 當受扭力旋轉(zhuǎn)時物體受到的空氣阻力。0表示沒有空氣阻力, 極大時使物體立即停止旋轉(zhuǎn)。
Use Gravity 使用重力 該物體是否受重力影響,若激活,則物體受重力影響。
Is Kinematic 是否是運動學 游戲?qū)ο笫欠褡裱\動學物理定律,若激活,該物體不再受物理 引擎驅(qū)動,而只能通過變換來操作。適用于模擬運動的平臺或 者模擬由鉸鏈關節(jié)連接的剛體。
Interpolate 插值 物體運動插值模式。當發(fā)現(xiàn)剛體運動時抖動,可以嘗試下面的 選項:None(無),不應用插值;Interpolate(內(nèi)插值),基于上一巾貞 變換來平滑本幀變換;Extrapolate(外插值),基于下一幀變換來 平滑本幀變換。
Collision Detection 碰撞檢測 碰撞檢測模式。用于避免高速物體穿過其他物體卻未觸發(fā)碰 撞。碰撞模式包括Discrete (不連續(xù))、Continuous (連續(xù))、 Continuous Dynamic (動態(tài)連續(xù)〉3種。其中,Discrete模式用來 檢測與場景中其他碰撞器或其他物體的碰撞;Continuous模式 用來檢測與動態(tài)碰撞器(剛體)的碰撞;Continuous Dynamic模式用來檢測與連續(xù)模式和連續(xù)動態(tài)模式的物體的碰撞,適用于 高速物體。
Constraints 約束 對剛體運動的約束。其中,Freeze Position(凍結(jié)位置)表7TC剛體 在世界中沿所選HZ軸的移動將無效,Freeze Rotation(凍結(jié) 旋轉(zhuǎn))表示剛體在世界中沿所選的X、Y、Z軸的旋轉(zhuǎn)將無效。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號