有时候我们在做第三人称游戏的时候,想让相机平滑的跟随物体移动,下面这些代码就能很快达到这个效果
using UnityEngine;
using System.Collections;
public class CameraMover : MonoBehaviour
{
public Transform follow;//目标的tansform
public float distanceAway = 5.0f;//表示距离目标后方的距离
public float distanceUp=2.0f;//目标上方的高度
public float smooth = 1.0f;//插值系数
private Vector3 camPosition;//目标的位置
void LateUpdate()
{
//计算出相机应该在的位置
camPosition = follow.position + Vector3.up * distanceUp - follow.forward*distanceAway;
//插值到相机应该的位置
transform.position=Vector3.Lerp(transform.position,camPosition,smooth*Time.deltaTime);
//一个tranform中的函数,用于使一个物体正对着目标
transform.LookAt(follow);//理解成看着目标
}
}