Unity3D-Rigidbody


掛載Rigidbody的Gameobject受物理引擎的作用,有真實的物理力學。

Mass質量:物體的質量(任意單位)。建議一個物體的質量不要多余或少於其他單位的100倍。

Drag阻力:當受力移動時物體收到的空氣阻力。0表示沒有空氣阻力,極大時物體立即停止運動。

Angular Drag角阻力:當受扭力旋轉的時候物體受到空氣阻力。0表示沒有空氣阻力,極大時物體立即停止運動。

Use Gravity使用重力:若激活,物體受重力影響。

Is Kinematic是否運動學:若激活,物體不受物理引擎驅動,而只能通過變換來操作。適用於模擬的平台或者模擬模擬受鉸鏈關節連接的剛體。

Interpolate插值:當你發現剛體運動時抖動,可以嘗試下面選項。

  1. None無:No Interpolation is applied。不引用插值。
  2. Interpolate內插值:基於上一幀的變換來平滑本幀變換。
  3. Extrapolate外插值:基於下一幀的預估變換來平滑本幀變換。

Collision Detection碰撞檢測:碰撞檢測模式。用於避免高速物體穿過其他物體,卻未觸發碰撞。

  1. Discrete不連續:不連續碰撞檢測。使用不連續碰撞檢測模式來與場景中其他碰撞器進行碰撞檢測。其他物體與它的碰撞檢測也會應用這種模式。適用於普通碰撞(默認)。
  2. Continuous連續:連續碰撞檢測。使用不連續碰撞檢測來檢測與動態碰撞器(剛體)的碰撞,使用連續碰撞檢測來檢測與靜態網格(非剛體)的碰撞檢測。采用連續動態碰撞檢測模式的剛體碰見這類物體也將采用連續碰撞檢測模式,而與其他剛體將采用不連續碰撞檢測模式。這種模式適用於那些采用連續動態碰撞模式的物體碰撞的物體。(這對物理表現有很大的影響,如果你不關心與高速物體的碰撞,那就用默認的不連續模式)
  3. Continous Dynamic動態連續:連續動態碰撞檢測。使用連續碰撞動態碰撞檢測方式來檢測與連續模式和連續動態模式的物體間的碰撞。也適用於靜態網格(非剛體)的碰撞檢測。而與之碰撞的其他模式的物體,采用的不連續動態碰撞檢測模式。適用於高速物體。

Constraints約束:對剛體運動的約束。

Freeze Position凍結位置:剛體在世界中沿所選x、y、z移動無效。

Freeze Rotation凍結旋轉:剛體在世界中沿所選x、y、z旋轉無效。

只能通過transform改變。

Collider碰撞組件:用於檢測倆個都攜帶Collider組件的GameObject碰撞。有以下屬性:

isTrigger:碰撞器是否是觸發器(可以穿越)

material:碰撞器所使用的物理材質

總結:

倆個物體要碰撞必須都有Collider,其中一個必須添加Rigidbody(最好在其中移動的物體添加)

倆個物體有一個勾選isTrigger則會穿越:

  OnTriggerEnter();

  OnTriggerExit();

  OnTriggerStay();

否則進行碰撞:

  OnCollisionEnter();

  OnCollisionExit();

  OnCollisionStay();

Properties變量

angularDrag 角阻力
angularVelocity 角速度
centerOfMass 相對於原點變換的質心
collisionDetectionMode 碰撞檢測模式
constraints 控制剛體模擬的自由度
detectionCollisions 碰撞檢測是否應用
drag 阻力
freezeRotion 控制是否改變物體旋轉
inertia Tensor 相對於重心質量的慣性張量對角線
inertia TensorRotation 慣性張量的旋轉
interpolation 平滑插值
isKinematic 是否運動學
mass 質量
maxAngularVelocity 最大角速度
maxDepenetrationVelocity 當非穿透狀態,剛體的最大速度
position 位置
rotation 旋轉角度
sleepThreshold 哪個對象開始進入休眠狀態,質量歸一的能力閾值
solverIterationCount 允許你覆蓋剛體求解的迭代次數
useConeFriction 用於該剛體的錐形摩擦力
useGravity 是否使用重力
velocity 速度
worldCenterOfMass 世界坐標中間的剛體的重心

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Public Functions 公共方法

Add ExplosionForce 添加一個爆炸力
AddForce 添加一個力
AddForceAtPositon 在position位置加一個力
AddRelativeForce 添加力到剛體相對於它的局部坐標
Add relativeTorque 相對於它的局部坐標添加扭力
AddTorque 添加扭矩到剛體
ClosestPointOnBounds 指定位置到剛體附加碰撞器的最近點
GetPointVelocity 剛體在世界坐標,worldPoint速度
GetRelativePointVelocity 剛體在局部坐標點速度
IsSleeping 剛體是否在休眠
MovePosition 移動新位置
MoveRotation 旋轉到新的角度
ResetCenterOfMass 重置質心
ResetInertiaTensor 重置慣性張量何旋轉
SetDensity 設置基於碰撞器的密度質量
Sleep 強置剛體休眠

SweepTest

如果一個剛體碰到任何東西觸發測試(給剛體一個類似Physic.Raycast)
SweepTestAll 返回所有碰撞信息
WakeUp 強制一個剛體喚醒

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

中文API入口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM