我想让玩家不断地向z方向移动,但也想将此功能与将玩家移动到3个固定x位置(-1.5,0或1.5)中的一个的选项结合起来,像Vector3.Leap函数一样平滑过渡。我尝试了几个选项,但都不起作用。有人知道我该怎么做吗?
yjghlzjz1#
分割这两个对象,并在Z轴上不断移动,但在X轴上进行插值:
[SerializeField] private float zVelocity = 1f; [SerializeField] private float smoothTime = 0.3f; private float xVelocity = 0f; private float targetX = 0f; public void SetTargetX(float newTargetX) { targetX = newTargetX; } public void SetZVelocity(float newZVelocity) { zVelocity = newZVelocity; } private void Update () { var position = transform.position; position.z += zVelocity * Time.deltaTime; position.x = Mathf.SmoothDamp(position.x, targetX, ref xVelocity, smoothTime); transform.position = position; }
1条答案
按热度按时间yjghlzjz1#
分割这两个对象,并在Z轴上不断移动,但在X轴上进行插值: