以下の内容はhttps://r9.hateblo.jp/entry/2022/05/11/224941より取得しました。


Unity でカメラを移動追従させるのに Position Constraint を使う

ユニティちゃん神楽で使われていたのを見て知ったのでメモ。
unity-chan.com

Position Constraint コンポーネントをカメラにアタッチした図

  • カメラに Position Constraint コンポーネントをアタッチして、Sources に追従対象のオブジェクトを追加すると、オブジェクトの移動に合わせてカメラが移動追従する
    • 複数のオブジェクトを対象にすると、その中間値が使われる
  • IsActive にチェックをすると、シーン上からカメラの移動ができなくなるので注意
  • Freeze Position Axes で、追従させる方向も指定できる。Y を外しておけば、オブジェクトの上下移動がカメラに伝わらない


この Constraint コンポーネントは兄弟がいて、他にも

  • Rotation Constraint
  • Scale Constraint
  • Parent Constraint
  • Aim Constraint
  • Look At Constraint

がある。カメラと追従対象の距離が変わる場合は、Aim Constraint とか Look At Constraint でカメラがずっと対象のオブジェクトを捉え続けるようにできるみたい。


ちなみに、いつも追従させるときは、以下のような簡単な C# スクリプトを用意していたが、これがそのまま Postion Constraint で置き換わるイメージ。

using UnityEngine;

public class MainCameraController : MonoBehaviour
{
    public GameObject targetObj;
    private Vector3 offset;

    void Start()
    {
        offset = transform.position - targetObj.transform.position;
    }

    void Update()
    {
        transform.position = target.transform.position + offset;
    }
}



以上の内容はhttps://r9.hateblo.jp/entry/2022/05/11/224941より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14