我正在联合开发一款 2d RPG 游戏,我想添加像 Brackeys 在此 video 中所做的那样平滑的相机运动。
我已经尝试过使用 FixedUpdate()
、Update()
和 LateUpdate()
,但是当我点击播放时,相机并没有落后于播放器。
奇怪的是,当我关闭相机脚本时,玩家移动流畅。
我什至尝试过 Vector3.SmoothDamp()
和 Vector3.Lerp()
,但没有什么它仍然有点滞后。
我该如何解决??
到目前为止我的代码:
public class CameraMovement : MonoBehaviour
{
public Transform target;
public float smoothing;
void FixedUpdate()
{
if(transform.position != target.position)
{
Vector3 targetPosition = new Vector3
(target.position.x, target.position.y,
transform.position.z);
transform.position = Vector3.Lerp
(transform.position,
targetPosition, smoothing);
}
}
}
目标是玩家变换。
答案 0 :(得分:0)
尝试删除此 - if(transform.position != target.position) 声明。
并且还将平滑与 time.deltatime 相乘。 这里-
public Transform target;
public float smoothing;
void FixedUpdate()
{
Vector3 targetPosition = new Vector3
(target.position.x, target.position.y,
transform.position.z);
transform.position = Vector3.Lerp
(transform.position,
targetPosition, smoothing*Time.deltatime);
}
}