Unity事例ノート

UNITY

Hinge Jointを使った振り子の動き

ヒンジジョイント(Hingi Joint)を使用して、オブジェクトを振り子のように動かすしくみを作ってみましょう。

上のCubeを移動させると、下のSphereが振り子のような動きで追従します。

関連記事:
紐をつけてブラブラをくり返す
Fixed Jointを解除してオブジェクトを落とす
スプリングを使って棒を振るような動き
HingeJointを使ってドアを作成
触れたら引っ付くオブジェクト

Cube(プレーヤー)の作成

CubeとSphereを作成します。

CubeのY座標を4に変更し、少し上の方に配置します。

Cubeにリジッドボディを追加し、「重力を使用」のチェックを外します。

Cubeは支点となりますので、質量を大きくしておきましょう。

ここでは質量100に設定し、回転位置を固定にチェックを入れます。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

Cubeが十字キーで操作できるようになります。

ヒンジジョイントを追加する

続いて、Sphereの設定を行いましょう。

Sphereにリジッドボディを追加します。

ヒンジジョイントを追加します。

コンポーネントを追加 > 物理 > ヒンジジョイント

Connected Bodyのフィールドで、Cubeを選択します。

追従する対象が、Cubeに設定されました。

次は、ヒンジジョイントの設定を行います。

AnchorのY座標を、適当に動かしてみましょう。

シーンビューを見てみると、アンカーの目印が現れます。

アンカーは、振り子の支点になります。

今回は、Cubeを支点にしたいので、Yを3.5にしました。

触れる方向は前後左右にしたいので、軸のXとZをそれぞれ1にしました。

ゲームプレイして、Cubeを動かしてみましょう。

Cubeにつられて、Sphereが振り子のように動きます。

注意点は、支点となるオブジェクトを固定するか、質量を上げるところ。

ヒンジジョイントが暴れたり、ばたついたりして、動きがおかしくなりますので、接続先オブジェクトの質量には気をつけましょう。

関連記事:
紐をつけてブラブラをくり返す
Fixed Jointを解除してオブジェクトを落とす
スプリングを使って棒を振るような動き
HingeJointを使ってドアを作成
触れたら引っ付くオブジェクト

この記事の監修・専門指導

枚方市のプログラミング専門スクール
フタバゼミ 枚方くずは校

この記事で解説したUnityやC#の技術も、当校では直接個別指導しています。「むずかしいことをおもしろく」をモットーに、初心者から本格開発までサポート。樟葉駅から徒歩1分、まずはお気軽に体験会へお越しください。

SCHOOL教室案内