Transforms
Unity Manual > User Guide > Creating Gameplay > Transforms

Transforms

Transform — ключевой компонент в каждом объекте. Он задаёт позицию, угол поворота и масштаб объекта. Не может быть объекта без этого компонента. Можно добавить Transform любому объекту в Scene View, Inspector или через скрипт.

Подробности — Transform Component Reference.

Transform

Компонент Transform задаёт позицию, угол поворота и масштаб всех объектов в сцене. Каждый объект снабжён им.


Компонент Transform отображается и редактируется в Inspector.

Properties

PositionПозиция в координатах XYZ.
RotationУгол поворота по осям XYX.
Scale Масштаб по осям XYZ. Значение «1» — исходный размер.

Все свойства компонента Transform измеряются относительно его «родителя». Если такового нет, то измерения идёт относительно начала мировых координат.

Using Transforms

Transforms позволяет манипулиции в трёхмерном пространстве по осям XYZ.
В Unity оси сопоставлены цветам: красный, зелёный, синий. XYZ=RGB (КЗС).


Соответствие осей цветам.

Transform Components can be directly manipulated using the Scene View or the Inspector. The Inspector will list the properties stated above for easy editing. You can also modify Transforms in your Scene by interacting with them, using the Move, Rotate, and Scale tools. These tools are located in the upper left-hand corner of the Unity Editor.


Инструменты Обзор (View), Перемещение (Translate), Вращение (Rotate) и масштабирование (Scale).

Эти инструменты могут использоваться для любого объекта в сцене. При нажатии на объект отобразится контейнер гизмо. Для каждого из инструментов он имеет свой вид. Также выделенный объект (его свойства и компоненты) появится в Inspector. Если в Inspector не отображается компонент Transform, то это значит, что ни один объект не выделен..



Все три гизмо могут редактироваться непосредственно в Scene View.

Манипулирование происходит через «таскание» мышью осей гизмо. Чтобы задействовать сразу все оси, надо «таскать» центр гизмо.


Каждая ось может быть выделена щелчком по ней.

Parenting

Наследование — одна из важнейших концепций Unity. Когда объект является «родителем» другого, то дочерний объект будет перемещаться, вращаться и масштабироваться так же, как родительский. Например, руки прикреплённые к телу, поворачиваются вместе с ним. У любого объекта может быть много дочерних объектов, но только один родитель.

Можно создать наследование просто перетащив один объект на другой в Hierarchy View. Это создаст взаимосвязь «родитель-ребёнок» между объектами.


Пример наследования. Все объекты со стрелками — родители.

В данном примере arm наследуется от body, а hand от arm. Иерархия наследования может быть многоуровневой. Самый верхний объект называется корневым (Root). Когда перемещается родитель, перемещаются и дочерние объекты.

У дочернего объекта в Inspector в компоненте Transform отображаются координаты относительно родителя. Их называют локальными координатами (Local Coordinates). К ним можно получить доступ из скрипта наряду с глобальными координатами (Global Coordinates).

You can build compound objects by parenting multiple separate objects together, like the skeletal structure of a human ragdoll. You can also create small yet effective objects with single parents. For example, if you have a horror game that takes place at night, you can create an effective atmosphere with a flashlight. To create this object, you would parent a spotlight Transform to the flashlight Transform. Then, any alteration of the flashlight Transform will affect the spotlight, creating a convincing flashlight effect.

Importance of Scale

Масштаб определяет отношения размера меша в Unity к размеру меша в родном ему 3D-пакете. Размер меша в Unity очень важен, так как учитывается в расчётах физики. Есть 3 фактора, которые определяют масштаб объекта:
* Размера меша в 3D-пакете;
* Mesh Scale Factor в настройках импорта меша;
* Значение Scale в компоненте Transform.

В идеале, вообще не нужно использовать свойство Scale в компоненте Transform. Нужно изначально создаваь модель в реальных пропорциях и размерах, чтобы потом их не нужно было править. Если же такая необходимость возникла, то нужно исправлять ситуацию через настройки импорта меша.

Hints

Перед созданием наследования, переместите родителя в начало координат (0, 0, 0). Это избавит Вас от последующих головных болей.
Системы частиц не подвержены влияюнию масштабирования. Для увеличения размеров системы частиц нужно изменять свойства источника, аниматора и визуализатора частиц.
Можно изменить цвета осей гизмо (и других элементов интерфейса) в меню Preferences>Colors & keys.
Старайтесь настраивать масштаб объекта в 3D-пакете или, на крайний случай, в настройках импорта меша.