[Unity 3D] Constraintコンポーネントでオブジェクトを制御する方法。

(2024/08/07)
[Unity 3D] Constraintコンポーネントでオブジェクトを制御する方法。

開発環境
  • Unityのバージョン:2022.3.32f1
  • Constraintコンポーネントとは?

    UnityのConstraintコンポーネントは、ゲームオブジェクトの位置、回転、スケールを他のオブジェクトに制限することが出来るコンポーネントのことです。例えば、親子関係を持っていないオブジェクト同士でも、片方のオブジェクトを動かしたらもう片方のオブジェクトも動くなどのことが実装できます。

    Constraintコンポーネントの種類

    Constraintコンポーネントは、以下の6種類があります。詳しくはUnityの公式ページで確認できます。

    • Position Constraint: ゲームオブジェクトの位置を他のゲームオブジェクトに制約します。

    • Rotation Constraint: ゲームオブジェクトの回転を他のゲームオブジェクトに制約します。

    • Scale Constraint: ゲームオブジェクトのスケールを他のゲームオブジェクトに制約します。

    • Parent Constraint: ゲームオブジェクトの位置、回転、スケールを他のゲームオブジェクトに制約します。

    • Aim Constraint: ゲームオブジェクトの向きを他のゲームオブジェクトに向けます。

    • Look At Constraint: ゲームオブジェクトの正面を他のゲームオブジェクトに向けます。
    Constraintコンポーネントの使い方

    ここでは例として、Scale Constraintを使っています。まずHierarchyから3D Object→Cubeを選択し、名前をObjectAに変更します。同じようにもう一つCubeを生成します。こちらは名前をObjectBに変更します。

    次に、ObjectBを選択しInspector ウィンドウで Add Component ボタンをクリックし、Scale Constraintコンポーネントを追加します。

    追加されたScale Constraintコンポーネントには、Sourcesに何も設定されていないのでここに、ObjectAを設定します。その後、Activateをクリックします。

    [Unity 3D] Constraintコンポーネントでオブジェクトを制御する方法。

    この状態で、ObjectAのScaleを変更すると同じように、ObjectBのスケールも変更されます。

    親子関係は使いたくないけど、親子関係を持っているような動きをさせたいときに、役立つのでぜひ使いこなせるようになってください。