说明
在合适的时机(如游戏开始)自行创建CamFollowCtr。
在合适的Update中调用它的Follow方法。
代码
CamFollowCtr.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CamFollowCtr
{
private Transform _camTrans;
private Transform _target;
private Vector3 _offset;
private float _moveSpeed = 10;
private Vector3 TargetPos { get { return _target.position - _offset; } }
public CamFollowCtr(Transform camTrans, Transform target)
{
_camTrans = camTrans;
_target = target;
_offset = _target.position - _camTrans.position;
}
public void MyDestroy()
{
_camTrans = null;
_target = null;
}
// 如果在Update中调用,则factor是Time.deltaTime;如果在FixedUpdate中调用,则factor是Time.fixedDeltaTime
public void Follow(float factor)
{
_camTrans.position = Vector3.Lerp(_camTrans.position, TargetPos, _moveSpeed * factor);
}
}
网友评论