Unity事例ノート

UNITY

HingeJointを使ってドアを作成

押し開けるタイプの扉を作成してみましょう。

ヒンジジョイントを使えば、ドアを開閉させるしくみを簡単に作成できます。

関連記事:
【Unity C#】触れると開くドア
【Unity C#】Hingi Jointを使った振り子の動き
【Unity C#】スプリングを使って棒を振るような動き

押して開ける扉の作成

平面とCubeを作成して色をつけます。

Cubeの名前をDoorにして、位置、サイズを変更します。

ゲームビューでは、このような見た目になっています。

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

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

HingeJointの設定を行います。

Anchorは、振りの中心となる軸の位置。オブジェクトの左端、-0.5にしました。

軸は、振りの中心となる軸の方向。今回はYを軸として回転させるため、1を入れました。

茶色で表示されている部分が、軸の中心になります。

Springは、ターゲット位置に移動するための力。

Damperの数値は、大きければ大きいほど、オブジェクトの速度が落ちます。

Target Positionは、スプリングのターゲット角度。ドアの閉まった状態として、0°に設定しました。

以上の設定で、ドアを押し開けることができるようになります。

プレーヤーの作成

ドアを開けるために、簡単なプレーヤーを用意しましょう。

Cubeを作成し、座標を変更。

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

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

CubeMove.csを記述します。

プレーヤーを動かして、ドアを押してみましょう。

扉が開き、通過すれば、スプリングが効いて閉まります。

関連記事:
【Unity C#】触れると開くドア
【Unity C#】Hingi Jointを使った振り子の動き
【Unity C#】スプリングを使って棒を振るような動き