我的相机跟踪脚本不是很流畅。如何平滑相机的移动?
这是:
using UnityEngine;
using System.Collections;
public class FollowCamera : MonoBehaviour {
public float interpVelocity;
public float minDistance;
public float followDistance;
public GameObject target;
public Vector3 offset;
Vector3 targetPos;
void Start () {
targetPos = transform.position;
}
void FixedUpdate () {
if (target)
{
Vector3 posNoZ = transform.position;
posNoZ.z = target.transform.position.z;
Vector3 targetDirection = (target.transform.position - posNoZ);
interpVelocity = targetDirection.magnitude * 5f;
targetPos = transform.position + (targetDirection.normalized * interpVelocity * Time.deltaTime);
transform.position = Vector3.Lerp( transform.position, targetPos + offset, 0.25f);
}
}
}
脚本使相机跟随旋转目标。
答案 0 :(得分:1)
您正在更新FixedUpdate上的相机位置。将其更改为LateUpdate。 FixedUpdate是为其他目的而设计的,通常每帧都会被调用。每个帧都会调用LateUpdate,然后在Update之后调用,所以如果你的目标在更新后更新,相机将在稍后更新它的位置,即可。