UnityのJointの使い方
Unityの「Joint」の使い方についてまとめました。
1. Joint
「Joint」は、「Rigidbody」を持つオブジェクト同士を繋ぐ機能です。
2. Fixed Jointの利用
「Fixed Joint」の利用手順は、次のとおりです。
◎ 実験環境の作成
(1) Planeを配置し、Positionに(0, 0, 0)を指定。
(2) Cubeを配置し、Positionに(0, 1, 0)を指定し、名前を「CubeA」に変更。
(3) Cubeを配置し、Positionに(0, 4, 0)を指定し、名前を「CubeB」に変更。
◎ CubeAの設定
(1) Rigidbodyを追加し、以下のように設定。
物理演算を無効にします。
◎ CubeBの設定
(1) Rigidbodyを追加し、以下のように設定。
重力と物理演算を有効にします。
(2) 「Fixed Joint」を追加し、「Connected Body」にCubeAをドラッグ&ドロップ。
◎ 実行
(1) sceneビューを開き、「Move Tool」(上下左右矢印)を選択。
(2) CubeAをマウスで動かす。
CubeBがCubeAと繋がれていることを確認します。
(2) CubeBマウスで動かす。
CubeBはCubeAと繋がれているため動けないことを確認します。
(3) 「Fixed Joint」を以下のように設定。
任意の力を加えると、Joint関係が壊れるようになります。
(4) CubeAを動かしてCubeBを床にぶつける。
CubeBとのJoint関係が壊れることを確認します。
3. Spring Jointの利用
「Spring Joint」の利用手順は、次のとおりです。
◎ CubeBの設定
(1) 上記で追加した「Fixed Joint」を削除。
(2) 「Spring Jointを追加し、「Connected Body」にCubeAをドラッグ&ドロップ。
◎ 実行
(1) CubeAをマウスで動かす。
CubeBがCubeAとバネで繋がれてるように伸び縮みすることを確認します。
(2) CubeBの以下の値を変更。
Springの値を小さくするとバネが緩くなることを確認します。
(3) CubeBの「Spring Joint」を以下のように設定。
Damperの値を大きくするとバネの動きの変化がゆっくりになります。
4. Hinge Jointの利用
「Hinge Joint」の利用手順は、次のとおりです。
◎ CubeBの設定
(1) 上記で追加した「Spring Joint」を削除。
(2) 「Hinge Jointを追加し、「Connected Body」にCubeAをドラッグ&ドロップ。
◎ 実行
(1) CubeAをマウスで動かす。
CubeBがCubeAとヒンジで繋がれてるように動くことを確認します。
(2) CubeBの回転軸を確認。
茶色い矢印が回転軸になります。
(3) CubeBの「Hinge Joint」を以下のように設定。
Anchorを変更すると軸が変わることがわかります。
5. Character Jointの利用
「Character Joint」の利用手順は、次のとおりです。
◎ CubeBの設定
(1) 上記で追加した「Hinge Joint」を削除。
(2) 「Character Jointを追加し、「Connected Body」にCubeAをドラッグ&ドロップ。
◎ 実行
(1) CubeAをマウスで動かす。
CubeBがCubeAと球体関節で繋がれてるように動くことを確認します。
(2) CubeBの回転軸を確認。
茶色い矢印が回転軸になります。
6. Configurable Jointの利用
「Configurable Joint」の利用手順は、次のとおりです。
◎ CubeBの設定
(1) 上記で追加した「Character Joint」を削除。
(2) 「Configurable Joint」を追加し、「Connected Body」にCubeAをドラッグ&ドロップ。
(3) CubeBの「Configurable Joint」を以下のように設定。
バネのような動きに設定します。
◎ 実行
(1) CubeAをマウスで動かす。
CubeBがCubeAとバネで繋がれてるように伸び縮みすることを確認します。