在 Unity 3D 中,物理引擎內置的關節組件能夠使遊戲對象模擬具有關節形式的連帶運動。
關節對象可以添加至多個遊戲對象中,添加了關節的遊戲對象將通過關節連接在一起並具有連帶的物理效果。
需要注意的是,關節組件的使用必須依賴剛體組件。
鉸鏈關節
Unity 3D 中的兩個剛體能夠組成一個鉸鏈關節,並且鉸鏈關節能夠對剛體進行約束。
具體使用時,首先執行菜單欄中的 Component→Physics→Hinge Joint 命令,爲指定的遊戲對象添加鉸鏈關節組件,如下圖所示。
然後,在相應的 Inspector 屬性面板中設置屬性,如下表所示。
參 數 | 含 義 | 功 能 |
---|---|---|
Connected Body | 連接剛體 | 指定關節要連接的剛體 |
Anchor | 錨點 | 設置應用於局部座標的剛體所圍繞的擺動點 |
Axis | 軸 | 定義應用於局部座標的剛體擺動的方向 |
Use Spring | 使用彈簧 | 使剛體與其連接的主體物形成特定高度 |
Spring | 彈簧 | 用於勾選使用彈簧選項後的參數設定 |
Use Motor | 使用馬達 | 使對象發生旋轉運動 |
Motor | 馬達 | 用於勾選使用馬達選項後的參數設定 |
Use Limits | 使用限制 | 限制鉸鏈的角度 |
Limits | 限制 | 用於勾選使用限制選項後的參數設定 |
Break Force | 斷開力 | 設置斷開鉸鏈關節所需的力 |
Break Torque | 斷開轉矩 | 設置斷開鉸鏈關節所需的轉矩 |
固定關節
在 Unity 3D 中,用於約束指定遊戲對象對另一個遊戲對象運動的組件叫作固定關節組件,其類似於父子級的關係。
具體使用時,首先執行菜單欄中的 Component→Physics→Fixed Joint 命令,爲指定遊戲對象添加固定關節組件。
當固定關節組件被添加到遊戲對象後,在相應的Inspector屬性面板中設置相關屬性,如下表所示。
參 數 | 含 義 | 功 能 |
---|---|---|
Connected Body | 連接剛體 | 爲指定關節設定要連接的剛體 |
Break Force | 斷開力 | 設置斷開固定關節所需的力 |
Break Torque | 斷開力矩 | 設置斷開固定關節所需的轉矩 |
彈簧關節
在 Unity 3D 中,將兩個剛體連接在一起並使其如同彈簧一般運動的關節組件叫彈簧關節。
具體使用時,首先執行菜單欄中的 Component→Physics→Spring Joint 命令,爲指定的遊戲對象添加彈簧關節組件。
然後,在相應的 Inspector 屬性面板中設置相關屬性,如下表所示。
參 數 | 含 義 | 功 能 |
---|---|---|
Connected Body | 連接剛體 | 爲指定關節設定要連接的剛體 |
Anchor | 錯點 | 設置應用於局部座標的剛體所圍繞的擺動點 |
Spring | 彈簧 | 設置彈簧的強度 |
Damper | 阻尼 | 設置彈簧的阻尼值 |
Min Distance | 最小距離 | 設置彈簧啓用的最小距離數值 |
Max Distance | 最大距離 | 設置彈簧啓用的最大距離數值 |
Break Force | 斷開力 | 設置斷開彈簧關節所需的力度 |
Break Torque | 斷開轉矩 | 設置斷開彈簧關節所需的轉矩 |
角色關節
在 Unity 3D 中,主要用於表現布偶效果的關節組件叫作角色關節。
具體使用時,首先執行菜單欄中的 Component→Physics→Character Joint 命令,爲指定的遊戲對象添加角色關節組件。
然後,在相應的 Inspector 屬性面板中設置相關屬性,如下表所示。
參 數 | 含 義 | 功 能 |
---|---|---|
Connected Body | 連接剛體 | 爲指定關節設定要連接的剛體 |
Anchor | 錨點 | 設置應用於局部座標的剛體所圍繞的擺動點 |
Axis | 扭動軸 | 角色關節的扭動軸 |
Swing Axis | 擺動軸 | 角色關節的擺動軸 |
Low Twist Limit | 扭曲下限 | 設置角色關節扭曲的下限 |
High Twist Limit | 扭曲上限 | 設置角色關節扭曲的上限 |
Swing 1 Limit | 擺動限制1 | 設置擺動限制 |
Swing 2 Limit | 擺動限制2 | 設置擺動限制 |
Break Force | 斷開力 | 設置斷開角色關節所需的力 |
Break Torque | 斷開轉矩 | 設置斷開角色關節所需的轉矩 |
可配置關節
Unity 3D 爲遊戲開發者提供了一種用戶自定義的關節形式,其使用方法較其他關節組件煩瑣和複雜,可調節的參數很多。
具體使用時,首先執行菜單欄中的 Component→Physics→Configurable Joint 命令,爲指定遊戲對象添加可配置關節組件。
然後,在相應的 Inspector 屬性面板中設置相關屬性,如下表所示。
參 數 | 含 義 | 功 能 |
---|---|---|
Connected Body | 連接剛體 | 爲指定關節設定要連接的剛體 |
Anchor | 錨點 | 設置關節的中心點 |
Axis | 主軸 | 設置關節的局部旋轉軸 |
Secondary Axis | 副軸 | 設置角色關節的擺動軸 |
X Motion | X 軸移動 | 設置遊戲對象基於 X 軸的移動方式 |
Y Motion | Y 軸移動 | 設置遊戲對象基於 Y 軸的移動方式 |
Z Motion | Z 軸移動 | 設置遊戲對象基於 Z 軸的移動方式 |
Angular X Motion | X 軸旋轉 | 設置遊戲對象基於 X 軸的旋轉方式 |
Angular Y Motion | Y 軸旋轉 | 設置遊戲對象基於 Y 軸的旋轉方式 |
Angular Z Motion | Z 軸旋轉 | 設置遊戲對象基於 Z 軸的旋轉方式 |
Linear Limit | 線性限制 | 以其關節原點爲起點的距離對齊運動邊界進行限制的 設置 |
Low Angular X Limit | X 軸旋轉下限 | 設置基於 X 軸關節初始旋轉差值的旋轉約束下限 |
High Angular X Limit | X 軸旋轉上限 | 設置基於 X 軸關節初始旋轉差值的旋轉約束上限 |
Angular Y Limit | Y 軸旋轉限制 | 設置基於 Y 軸關節初始旋轉差值的旋轉約束 |
Angular Z Limit | Z 軸旋轉限制 | 設置基於 Z 軸關節初始旋轉差值的旋轉約束 |
Target Position | 目標位置 | 設置關節應達到的目標位置 |
Target Velocity | 目標速度 | 設置關節應達到的目標速度 |
X Drive | X 軸驅動 | 設置對象沿局部座標系 X 軸的運動形式 |
Y Drive | Y 軸驅動 | 設置對象沿局部座標系 Y 軸的運動形式 |
Z Drive | Z 軸驅動 | 設置對象沿局部座標系 Z 軸的運動形式 |
Target Rotation | 目標旋轉 | 設置關節旋轉到目標的角度值 |
Target Angular Velocity | 目標旋轉角速度 | 設置關節旋轉到目標的角速度值 |
Rotation Drive Mode X&YZ | 旋轉驅動模式 | 通過 X&YZ 軸驅動或插值驅動對對象自身的旋轉進 行控制 |
Angular X Drive | X 軸角驅動 | 設置關節圍繞 X 軸進行旋轉的方式 |
Angular YZ Drive | YZ 軸角驅動 | 設置關節繞 Y、Z 軸進行旋轉的方式 |
Slerp Drive | 球面線性插值驅動 | 設定關節圍繞局部所有的座標軸進行旋轉的方式 |
Projection Mode | 投影模式 | 設置對象遠離其限制位置時使其返回的模式 |
Projection Distance | 投影距離 | 在對象與其剛體鏈接的角度差超過投影距離時使其回 到適當的位置 |
Projection Angle | 投影角度 | 在對象與其剛體鏈接的角度差超過投影角度時使其回 到適當的位置 |
Configured In World Space | 在世界座標系中 配置 | 將目標相關數值都置於世界座標中進行計算 |
Swap Bodies | 交換剛體功能 | 將兩個剛體進行交換 |
Break Force | 斷開力 | 設置斷開關節所需的作用力 |
Break Torque | 斷開轉矩 | 設置斷開關節所需的轉矩 |
Enable Collision | 激活碰撞 | 激活碰撞屬性 |