public static Vector3 MoveTowards (Vector3 current, Vector3 target, float maxDistanceDelta);


将点 current 沿直线向 target 点移动。

该函数返回的值是 currenttarget 之间的线上 距离 targetmaxDistanceDelta 个单位的点。如果目标比 maxDistanceDelta 近, 则返回值将等于目标(即,移动不会超过目标)。 可以为 maxDistanceDelta 使用负值,以将点推离目标。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { // The target marker. public Transform target;

// Speed in units per sec. public float speed;

void Update() { // The step size is equal to speed times frame time. float step = speed * Time.deltaTime;

// Move our position a step closer to the target. transform.position = Vector3.MoveTowards(transform.position, target.position, step); } }