1. 程式人生 > >Unity遊戲開發之控制相機跟隨主角

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);     } }