お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
お知らせカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

【Unity C#】Hingi Jointを使った振り子の動き

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

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

関連記事:【Unity C#】Fixed Jointを解除してオブジェクトを落とす

Cube(プレーヤー)の作成

CubeとSphereを作成します。

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

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

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

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

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

CubeMove.csを記述します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連記事:【Unity C#】Fixed Jointを解除してオブジェクトを落とす