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を使ってドアを作成
触れたら引っ付くオブジェクト

SCHOOL教室案内