Playerタグが付いているオブジェクトを追従するカメラ
最初にカメラとプレイヤーの位置の差分を計算しておき,プレイヤーとの位置を保ち続ける。
using UnityEngine;
using System.Collections;
public class CameraControl : MonoBehaviour {
private GameObject player = null;
private Vector3 offset = Vector3.zero;
void Start () {
player = GameObject.FindGameObjectWithTag("Player");
offset = transform.position - player.transform.position;
}
void LateUpdate () {
Vector3 newPosition = transform.position;
newPosition.x = player.transform.position.x + offset.x;
newPosition.y = player.transform.position.y + offset.y;
newPosition.z = player.transform.position.z + offset.z;
transform.position = newPosition;
}
}
カメラの移動をスムーズにしたいときは,LateUpdate内の
transform.position = newPosition;
この部分をこのようにする。
transform.position = Vector3.Lerp(transform.position,newPosition,5.0f * Time.deltaTime);