Move Towards Explained

Detailed MoveTowards (method in Unity)

introduce

MoveTowards is a method in the Unity engine for smooth movement between two points. It can make the game object move from the current position to the target position, and achieve a smooth movement effect by updating the position every frame.

method

The MoveTowards method has the following parameters:

  • Current position (current): Indicates the current position of the game object.
  • Target position (target): Indicates the target position to which the game object will move.
  • Movement speed (maxDistanceDelta): Indicates the maximum distance the game object moves in each frame.
  • Return value : return the new position after moving.

for example

Here are a few common code examples showing how to use the MoveTowards method:

// 例子1:将游戏对象从当前位置移动到目标位置
Vector3 currentPos = transform.position;
Vector3 targetPos = new Vector3(5, 0, 0);
float speed = 2f;
transform.position = Vector3.MoveTowards(currentPos, targetPos, speed * Time.deltaTime);

// 例子2:使摄像机跟随目标物体平滑移动
Transform target = player.transform;
float cameraSpeed = 5f;
Vector3 newPosition = Vector3.MoveTowards(transform.position, target.position, cameraSpeed * Time.deltaTime);
transform.position = newPosition;

// 例子3:使物体在固定速度下在两个点之间来回移动
Vector3 startPoint = new Vector3(0, 0, 0);
Vector3 endPoint = new Vector3(10, 0, 0);
float objectSpeed = 3f;
transform.position = Vector3.MoveTowards(transform.position, endPoint, objectSpeed * Time.deltaTime);
if (transform.position == endPoint)
{
    
    
    Vector3 temp = startPoint;
    startPoint = endPoint;
    endPoint = temp;
}

These examples show the application of the MoveTowards method in different scenarios, and the parameters can be adjusted according to specific needs to achieve smooth movement effects.

Guess you like

Origin blog.csdn.net/qq_20179331/article/details/132120075