Что такое 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, и других. Это полезно при работе с объектами в сложных иерархиях.
Комментарии