Довідники 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);
    }
}

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

Коментарі
Додати коментар

Поки що коментарів немає