unity transform.movetowards

Unity 中的 Transform.MoveTowards 方法是用来在游戏中移动游戏对象的位置。它接受三个参数:当前位置,目标位置和最大移动距离。如果当前位置和目标位置之间的距离小于最大移动距离,那么游戏对象将会移动到目标位置,否则游戏对象将会移动到最大移动距离的位置。

请看一下如下的代码:

public float speed;
public Transform target;
void Update() {
    transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime);

在上面的代码中,我们定义了一个目标对象(target)和一个速度(speed)。在 Update 函数中,我们使用 Vector3.MoveTowards 方法来移动游戏对象的位置,将当前位置,目标位置和最大移动距离传入。

如果需要移动物体到一个点然后停止可以使用如下代码:

void Update() {
    if(transform.position!=target.position){
        transform.position = Vector3.MoveTowards(transform.position, target.position, speed * Time.deltaTime);

这样物体就会移动到目标点并停止在那里.

  •