2D樞紐關節 (Hinge Joint 2D)
2D樞紐/鉸鏈關節(Hinge Joint 2D
) 是 Unity 中的一個 2D 物理組件。
- 它可以讓遊戲物件(
GameObject
)圍繞一個特定的點旋轉 - 這個關節可以讓兩個點重疊,這兩個點可以是
- 兩個2D剛體(
Rigidbody 2D
)物件,或是 - 一個2D剛體物件另一個為一個世界空間中固定的點。若要連接到世界空間中固定的點可以透過將
Connected Rigidbody
設為None
- 兩個2D剛體(
- 這個關節可以向連接的兩個點施加一個線性力(
linear force
) - 通常用於模擬門、槓桿或鐘擺等旋轉機制。
2D樞紐/鉸鏈關節(Hinge Joint 2D
)具有三個約束條件,這些條件都是可選的
- 保持兩個2D剛體(
Rigidbody 2D
)物件上的兩個錨點(anchor point
)之間的相對線性距離(relative linear distance
)- 此約束確保錨點之間的距離保持不變。
- 保持兩個2D剛體(
Rigidbody 2D
)遊戲物件上的兩個錨點之間的角速度(angular speed
)- 可以使用
Maximum Motor Force
屬性限制最大扭矩(maximum torque
)來限制角速度。
- 可以使用
- 保持角度(
angle
)在指定的弧度(arc
)範圍內- 此約束確保角度在一定範圍內。
可以使用這個關節來建構需要像旋轉樞軸行為的物理遊戲物件。例如:
- 翹翹板的樞軸(
see-saw pivot
):水平部分連接到基座。使用關節的角度(Angle
)限制來模擬翹翹板的最高點和最低點。 - 剪刀(
scissors
)的樞軸:剪刀用鉸鏈連接在一起。使用關節的角度限制來模擬剪刀的閉合和最大打開。 - 簡單的車輪連接到車體:車輪的樞軸點在車輪的中心與車體相連。你可以使用2D樞紐/鉸鏈關節(
Hinge Joint 2D
) 的馬達(motor
)來旋轉車輪。
屬性 | 功能 | |
---|---|---|
Enable Collision | 啟用這個屬性後,可以偵測碰撞。 | |
Connected Rigidbody | 指定此關節連接到的其他遊戲物件(GameObject)。如果將此設置為「None」,則關節的另一端固定在由「Connected Anchor」設置定義的空間點。 | |
Auto Configure Connected Anchor | 啟用此屬性以自動設置此2D鉸鏈關節(Hinge Joint 2D )連接到的遊戲物件的錨點(Anchor )位置。如果啟用此屬性,則不需要為「Connected Anchor」屬性輸入座標。 |
|
Anchor | 定義此遊戲物件的2D剛體(Rigidbody2D )上的關節(joint )端點連接的位置(以x、y座標表示)。 |
|
Connected Anchor | 定義這個關節(joint )端點要連接到另一個遊戲物件的2D剛體(Rigidbody2D )上的位置(以x、y座標表示)。 |
|
Use Motor | 啟用此選項以對關節應用馬達動力。 | |
Motor | 選擇此選項以展開此屬性的設置。 | |
Motor Speed | 設定馬達要達到的目標速度(每秒度數)。 | |
Maximum Motor Force | 設定馬達在嘗試達到目標速度時可以施加的最大扭矩(torque )(或旋轉力(rotation ))。 |
|
Use Limits | 啟用此選項以限制旋轉的角度(rotation angle )。 |
|
Angle Limits | 選擇此選項以展開對角度限制的設置。當Use Limits 啟用時,就會應用這些限制。 |
|
Lower Angle | 設定旋轉圓弧(rotation arc )下端(lower end )允許的極限。 |
|
Upper Angle | 設定旋轉圓弧(rotation arc )上端(upper end )允許的極限。 |
|
Break Action | 設置當超過力(force )臨界值或達到扭矩臨界值(torque threshold )時採取的動作。 |
|
Break Force | 設置力的臨界值,當超過時這個關節就會執行選擇的Break Action 。預設值為Infinity ,表示不執行Break Action 。 |
|
Break Torque | 設置扭矩的臨界值,當超過時這個關節就會執行選擇的Break Action 。預設值為Infinity ,表示不執行Break Action 。 |
Reference