Справочники Unity C# Transform.Rotate

Что такое Transform.Rotate в Unity C#?

Метод Transform.Rotate в Unity используется для поворота объекта вокруг заданной оси на определенный угол. Это один из самых удобных способов реализовать вращение объектов в трёхмерном пространстве, будь то вращение в ответ на пользовательский ввод или автоматическое вращение в течение времени.


Основные характеристики метода Transform.Rotate
  1. Поворот относительно локальной или мировой системы координат: Метод поддерживает поворот как в локальной системе координат объекта (по умолчанию), так и в мировой системе, если это указано.
  2. Гибкость: Позволяет вращать объект по любой из трёх осей (X, Y, Z) или по комбинации осей.
  3. Время выполнения: Часто используется в методах Update или FixedUpdate для создания постоянного вращения.

Синтаксис:

void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self)

Где:

  • eulerAngles — Вектор с углами поворота по осям X, Y и Z.
  • relativeTo — Указывает систему координат (Space.Self или Space.World).
using UnityEngine;

public class Rotator : MonoBehaviour
{
    public float rotationSpeed = 50f;

    void Update()
    {
        // Вращаем объект вокруг оси Y в мировой системе координат
        transform.Rotate(Vector3.up * rotationSpeed * Time.deltaTime, Space.World);
    }
}


Пример использования вращения в нескольких плоскостях
using UnityEngine;

public class MultiAxisRotator : MonoBehaviour
{
    public float rotationSpeedX = 30f;
    public float rotationSpeedY = 50f;
    public float rotationSpeedZ = 20f;

    void Update()
    {
        // Вращение объекта по всем осям в локальной системе координат
        transform.Rotate(new Vector3(rotationSpeedX, rotationSpeedY, rotationSpeedZ) * Time.deltaTime, Space.Self);
    }
}

Такой подход позволяет задать сложное вращение, которое будет происходить в зависимости от указанных скоростей по каждой оси.

Комментарии
Добавить комментарий

Пока комментариев нет