Що таке Transform.Rotate в Unity C#?
Метод Transform.Rotate в Unity використовується для повороту об'єкта навколо заданої осі на певний кут. Це один із найзручніших способів реалізувати обертання об'єктів у тривимірному просторі, будь то обертання у відповідь на введення користувача або автоматичне обертання протягом часу.
Transform.Rotate
- Обертання відносно локальної або світової системи координат: Метод підтримує обертання як у локальній системі координат об'єкта (за замовчуванням), так і в світовій системі, якщо це зазначено.
- Гнучкість: Дозволяє обертати об'єкт навколо будь-якої з трьох осей (X, Y, Z) або їхньої комбінації.
- Час виконання: Часто використовується в методах
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);
}
}
Такий підхід дозволяє задати складне обертання, яке відбуватиметься залежно від заданих швидкостей по кожній осі.
Коментарі