| current | 要处理的向量。 | 
| target | 目标向量。 | 
| maxRadiansDelta | 两个向量之间的距离(以弧度表示)。 | 
| maxMagnitudeDelta | 弧度的长度。 | 
Vector3 RotateTowards 生成的位置。
将向量 current 朝 target 旋转。
该函数类似于 MoveTowards,但向量被视为方向而不是位置。
current 向量将朝 target 方向旋转 maxRadiansDelta 的角度,
但其将准确地落在目标上而不会超过目标。
如果 current 和 target 的大小不同,则在旋转期间对结果大小进行线性插值。
如果为 maxRadiansDelta 使用负值,则向量将朝远离 target 的方向旋转,
直到它指向完全相反的方向,然后停止。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // The target marker. Transform target;
// Angular speed in radians per sec. float speed;
void Update() { Vector3 targetDir = target.position - transform.position;
// The step size is equal to speed times frame time. float step = speed * Time.deltaTime;
Vector3 newDir = Vector3.RotateTowards(transform.forward, targetDir, step, 0.0f); Debug.DrawRay(transform.position, newDir, Color.red);
// Move our position a step closer to the target. transform.rotation = Quaternion.LookRotation(newDir); } }