Unity中摄像机的缓动功能是非常容易实现的,主要用到Vector3 Lerp(Vector3 a, Vector3 b, float t);
public class MainCameraCtr : MonoBehaviour
{
public Transform playerTransform;//玩家坐标
private Vector3 offset;
private float cameraMoveSpeed;
void Start()
{
offset = transform.position - playerTransform.position;
}
void LateUpdate()
{
Vector3 newPosition = playerTransform.position + offset;
transform.position = Vector3.Lerp(transform.position, newPosition, cameraMoveSpeed * Time.deltaTime);
}
}
transform.position以speed* time.deltaTime的比例无限接近newposition,该比例(0-- > 1)越大,接近越快,缓动越不明显