カメラをFPS(1人称)視点にする

カメラをプレイヤーキャラに追従させてFPS(1人称視点)にしよう

監視したいプレイヤーをpublicで持たせておいて、Updateごとに追従するようにしましょう。

また、そのまま値を反映するとプレイヤーのオブジェクトの中心点にカメラが配置されてしまうので、視点の位置を補正できるように、offsetの値をUnityエディタから設定できるようにし、その差分を毎フレーム追加するようにしましょう。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FPSCamera : MonoBehaviour
{
	public GameObject player;//プレイヤーを設定する
	public Vector3 offset = Vector3.zero;//プレイヤーとカメラの位置関係

	void Update ()
	{
		//プレイヤーの位置にカメラを移動 + プレイヤーとカメラの位置関係を調整
		transform.position = player.transform.position + offset;

		//プレイヤーの向いている方向にカメラを向ける
		transform.rotation = player.transform.rotation;
	}
}

あとはカメラにスクリプトをアタッチし、PlayerやOffsetに目的の値を反映させましょう。

シーンビューを見るとこのようにカメラが追従している事がわかるかと思います。