Unity遊戲開發之控制相機跟隨主角
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class FollowTarget : MonoBehaviour { private Transform player;//主角位置 private Vector3 offset;//位置偏移 private float smoothing = 3;//平滑度
// Use this for initialization void Start () { //獲取主角的位置 player = GameObject.FindGameObjectWithTag("Player").transform; //位置偏移=相機位置-主角位置 offset = transform.position - player.position; } // Update is called once per frame void LateUpdate () { //targetPosition(相機要移動的目標位置)=主角的位置+偏移 //(使用TransformDirection方法使相機一直在主角背面) Vector3 targetPosition = player.position + player.TransformDirection(offset); //利用差值運算移動相機到目標位置 transform.position=Vector3.Lerp(transform.position,targetPosition,Time.deltaTime*smoothing); transform.LookAt(player); } }