使用Vector3.Lerp实现相机跟随球体时保留原有Z轴坐标的问题
实现方案
你只需要提前缓存相机初始的Z轴坐标,更新位置时固定使用该Z值即可,修改后的代码如下:
public class Tracker : MonoBehaviour { public GameObject target; // 存储相机初始Z轴坐标 private float _originalCameraZ; void Start() { // 脚本初始化时记录相机原始Z轴数值 _originalCameraZ = transform.position.z; } // 建议使用LateUpdate执行相机跟随逻辑,避免和物体移动逻辑的执行顺序冲突导致画面抖动 void LateUpdate() { // 构造跟随目标点:XY坐标与球体同步,Z轴保留相机原始值 Vector3 followTargetPos = new Vector3( target.transform.position.x, target.transform.position.y, _originalCameraZ ); transform.position = Vector3.Lerp(transform.position, followTargetPos, 0.5f); } }
如果后续需要动态调整相机和球体的Z轴距离,你可以将_originalCameraZ改为public修饰,直接在Inspector面板中调整数值即可。
内容的提问来源于stack exchange,提问作者Monkey
相关产品推荐
相关产品推荐

