3. ボールをカメラで追いかけよう

カメラにもスクリプトを追加しよう

カメラがプレーヤーに追従するスクリプトを書いてみよう

変数を宣言する際にpublic GameObject playerのように、頭にpublicを追記すると、Unityエディタから値を見ることができるようになります。 publicな変数とする事で、Unityエディタからドラッグ&ドロップでゲームオブジェクトを登録する事ができるようになります。

また、ゲーム開始時のカメラとプレーヤーの位置関係をoffsetという変数を作成して保持するようにし、それを元に毎フレームのカメラの位置を算出して、移動させましょう。

public class CameraScript : MonoBehaviour
{
    // 追いかけるターゲット
    public GameObject player;

    // 自分とターゲットの座標の差分
    private Vector3 offset;

    void Start()
    {
        // 自分とターゲットの座標の差分をメモする
        offset = transform.position - player.transform.position;
    }

    void Update()
    {
        // ターゲットの座標に、差分を追加した座標にカメラを移動させる
        transform.position = player.transform.position + offset;
    }
}
  • 5. スクリプトを追加しよう
  • 実運用では、被写体の移動が物理更新(FixedUpdate)で行われる場合にカメラはLateUpdateで追従させると滑らかになります。