Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Vector3.RotateTowards

Объявление

public static Vector3 RotateTowards(Vector3 current, Vector3 target, float maxRadiansDelta, float maxMagnitudeDelta);

Параметры

current Управляемый вектор.
target Вектор.
maxRadiansDelta Максимальный угол в радианах, разрешенный для этого поворота.
maxMagnitudeDelta Максимально допустимое изменение величины вектора для этого поворота.

Возвращает

Vector3 Местоположение, которое генерирует RotateTowards.

Описание

Поворачивает вектор current по направлению к target.

Эта функция аналогична MoveTowards, за исключением того, что вектор обрабатывается как направление, а не позиция. Вектор current будет повернут в направлении target на угол maxRadiansDelta, хотя он приземлится точно в цель, а не промахнется. Если величины current и target различаются, то во время поворота величина результата будет линейно интерполирована. Если для maxRadiansDelta используется отрицательное значение, вектор будет поворачиваться от target/ до тех пор, пока не будет указывать точно в противоположном направлении. , затем останавливается.

Смотрите так же: Quaternion.RotateTowards.

using UnityEngine; // Чтобы использовать этот скрипт, присоедините его к GameObject, который вы хотите повернуть к другому игровому объекту. // После присоединения перейдите к инспектору и перетащите GameObject, направление которого вы хотите повернуть, в целевое поле. // Переместите цель в окне сцены, чтобы увидеть, как GameObject непрерывно вращается к ней. public class Example : MonoBehaviour { // The target marker. public Transform target; // Angular speed in radians per sec. public float speed = 1.0f; void Update() { // Determine which direction to rotate towards Vector3 targetDirection = target.position - transform.position; // The step size is equal to speed times frame time. float singleStep = speed * Time.deltaTime; // Rotate the forward vector towards the target direction by one step Vector3 newDirection = Vector3.RotateTowards(transform.forward, targetDirection, singleStep, 0.0f); // Draw a ray pointing at our target in Debug.DrawRay(transform.position, newDirection, Color.red); // Calculate a rotation a step closer to the target and applies rotation to this object transform.rotation = Quaternion.LookRotation(newDirection); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3