Що таке Transform в Unity C#?
Клас Transform є одним із основних класів Unity, який представляє позицію, обертання та масштаб ігрового об’єкта у сцені. Кожен об’єкт в Unity має компонент Transform, який визначає його розташування у світовому просторі або відносно батьківського об’єкта.
Transform
- Позиція: Керує розташуванням об’єкта через властивість
position(у світовому просторі) абоlocalPosition(відносно батька). - Обертання: Визначається за допомогою властивості
rotation(у світовому просторі) абоlocalRotation. - Масштаб: Задається властивістю
localScale, що визначає розмір об’єкта відносно його локального простору. - Батьківські та дочірні зв’язки: Клас
Transformпідтримує ієрархічні відносини між об’єктами через властивостіparent,childCountта методи, такі якSetParent. - Навігація по ієрархії: Дозволяє переміщатися по ієрархії об’єктів за допомогою методів
GetChild,Find, іDetachChildren.
Приклад роботи з компонентом Transform:
using UnityEngine;
public class ObjectController : MonoBehaviour
{
void Start()
{
// Встановлення початкової позиції об’єкта
transform.position = new Vector3(0, 1, 0);
Debug.Log("Початкова позиція: " + transform.position);
// Зміна масштабу
transform.localScale = new Vector3(2, 2, 2);
Debug.Log("Змінений масштаб: " + transform.localScale);
}
void Update()
{
// Обертання об’єкта
transform.Rotate(0, 50 * Time.deltaTime, 0);
// Рух об’єкта вгору при натисканні клавіші
if (Input.GetKey(KeyCode.Space))
{
transform.Translate(Vector3.up * Time.deltaTime);
}
}
}
Transform
Клас Transform також підтримує перетворення координат між локальним і світовим простором за допомогою методів TransformPoint, InverseTransformPoint та інших. Це корисно при роботі з об’єктами у складних ієрархіях.
Коментарі