Unity 让一个物体向指定坐标前进!

发布于 2023-02-23  144 次阅读


以下是一个例子,展示如何使用Unity使一个物体向一个坐标缓慢移动:

首先,我们需要定义目标坐标和移动速度:

public Vector3 targetPosition;
public float speed;

然后在Update函数中,我们可以计算出物体需要移动的方向向量,并使用Vector3.MoveTowards方法逐渐将物体移动到目标坐标:

scssCopy codevoid Update()
{
    // 计算物体需要移动的方向向量
    Vector3 direction = targetPosition - transform.position;

    // 如果物体还没有到达目标坐标
    if (direction.magnitude > 0.01f)
    {
        // 将物体移动一定距离
        transform.position = Vector3.MoveTowards(transform.position, targetPosition, speed * Time.deltaTime);
    }
}

在这个例子中,我们使用了Vector3.MoveTowards方法来让物体缓慢移动到目标坐标。该方法会返回一个新的向量,该向量是从当前位置开始,向目标位置移动一定距离后的位置。我们每帧都调用该方法,直到物体到达目标坐标为止。