Как изменить Scale объекта увеличив его лишь в одну сторону?
Добрый вечер! Как изменить размер к примеру, палочки, что бы она увеличилась лишь вверх, при этом не опускалась в низ по мере увеличения размера?
Задача стоит в том, что бы палочка, являющийся дочерним объектом вращающегося куба, должна увеличиваться в высоту. Но при изменении её Scale y, она пробивает своим дном куб. Подскажите,как решить данную задачу?
Пробовал компенсировать transform.position, но увеличение и смещение идёт не равномерное. По этому палочка всё равно отрывается от куба, и улетает в восвояси.
Я бы хотел получить увеличение длины палочки, аналогично инструменту Rect Tool, который просто удлиняет объект в одну сторону.
Мастера, прошу уделите минутку, и помогите в решении вопроса ,спасибо заранее.
Transform
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Submission failed
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Description
Position, rotation and scale of an object.
Every object in a Scene has a Transform. It’s used to store and manipulate the position, rotation and scale of the object. Every Transform can have a parent, which allows you to apply position, rotation and scale hierarchically. This is the hierarchy seen in the Hierarchy pane. They also support enumerators so you can loop through children using:
Visual Scripting Components Part 1: Transform
In this article, we will get to know how we can move, rotate and scale Game Objects in Unity’s Visual Scripting. We’ll explore all the nodes Unity offers for working with the Transform component.
Properties
When working with Game Objects, we want to move and change them by accessing the Transform component’s properties.
Position
To access the position of a Game Object in the world, we use the Get Position node. To modify it, we’ll use the Set Position node.
Scale
We can use the Get Lossy Scale node to get the Object’s actual size.

Rotation
When we want to rotate an Object, we have the Get Euler Angles & Set Euler Angles nodes; we can retrieve and modify the Object’s rotation angle through them.

If we want to increase or decrease the existing rotation angle, we can use the Transform Rotate node. It also allows us to configure the Relative To option, which we can set to World or Self – determining whether to rotate the Object relative to itself or to the parent Game Object it is under.

Check out our high–quality Unity assets!
![]()
![]()
![]()
Parenting
When we nest Objects in the hierarchy, we refer to them as a parent and child.
We have access to various nodes dedicated to controlling the Objects’ hierarchy.
In some cases, we will set a Game Object as a child affected by its parent, such as the case of a tank’s turret. We want the turret to rotate and move along with the tank’s body, so we’ll set it as a child of the body Object.
In the graph, we use the Get Parent & Set Parent nodes to control the Object’s parent and retrieve it.
We got another node for setting the parent, Set Parent (World Position Stays) node, and with it, as its name suggests, we can choose to retain the Object’s world position, rotation, and scale when changing the parent.

A parent Object may have multiple children; we can ask for a specific child using the Get Child node or count them with the Get Child Count node.
Combing these nodes with the For Loop node, we access all the parent’s children.
The Detach Children node allows us to disconnect all the parent’s child Game Objects.

Local vs World
We already know we can get and set the different properties of the Transform component; we can also transform Game Objects relative to their parent.
We can use nodes similar to those we met earlier:
- Get/Set Local Position
- Get/Set Local Scale
- Get/Set Local Euler Angles
These nodes differ from the previous nodes we learned about in such they are retrieving or changing the properties based on the parent. For example, Get Local Position provides us the distance from the parent instead of the position in the world.

Outstanding Assets For Boosting Development
Moving Objects
Moving a Game Object is a fundamental part of creating any game in Unity, and as such, there are many ways to do so.
The Translate node moves a Game Object in the direction and distance based on the vector input. It’s a shortcut for a graph built of Get Position and Add nodes connected to Set Position.

Another valuable node is Look At. With this node, we can rotate to follow another Game Object as it moves.

For example, we can make the game’s camera follow another Game Object.
We add a Script Graph to the camera Game Object and connect the Update event to the Look At node. We attach the Game Object to the Target input using the Game Object Find node. When we move the Game Object at runtime, the camera will follow it around.
Movement Direction
We can get the direction axis the Transform faces with the Get Up, Get Right, and Get Forward nodes:
- Get Up is for the green arrow.
- Get Right is for the red arrow.
- Get Forward is for the blue arrow.

When it comes to controlling the movement direction of a Game Object, these nodes come in handy.
For example, connecting the Get Up node to the Translate node will move the Object one unit in the direction of the green arrow.
Transforms
Transform используется для хранения GameObject фундаментального объекта в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
Просматривать в Словарь положение, поворот, масштаб и родительское состояние и, таким образом, очень важный. К GameObject всегда будет присоединен компонент Transform — невозможно удалить Transform или создать GameObject без него.
Компонент преобразования
Компонент Transform определяет Положение, Поворот и Масштаб каждого объекта в классе scene Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь . У каждого GameObject есть Transform.

Свойства
| Свойства: | Функции: |
|---|---|
| Position | Положение преобразования в координатах X, Y и Z. |
| Rotation | Вращение Transform вокруг осей X, Y и Z, измеряемое в градусах. |
| Scale | Масштаб преобразования по осям X, Y и Z. Значение «1» — исходный размер (размер, с которым был импортирован объект). |
Значения положения, поворота и масштаба преобразования измеряются относительно родительского элемента преобразования. Если у преобразования нет родителя, свойства измеряются в мировом пространстве.
Редактирование преобразований
Преобразования выполняются в 3D-пространстве по осям X, Y и Z или в 2D-пространстве только по осям X и Y. В Unity эти оси представлены красным, зеленым и синим цветами соответственно.
Преобразование, показывающее цветовое кодирование осей
Преобразование можно редактировать в Вид сцены Интерактивный вид создаваемого вами мира. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Дополнительная информация
См. в Словарь или изменив его свойства в Инспектор Окно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет вам проверять и редактировать значения. Подробнее
См. в Словарь . В сцене вы можете изменять Transforms с помощью инструментов Move, Rotate и Scale. Эти инструменты расположены в верхнем левом углу редактора Unity.
Инструменты «Просмотр», «Перенос», «Поворот» и «Масштаб»
Инструменты можно использовать для любого объекта сцены. При нажатии на объект вы увидите инструмент gizmo Графическое наложение, связанное с GameObject в сцене и отображаемое в вид сцены. Встроенные инструменты сцены, такие как инструмент перемещения, представляют собой гизмо, и вы можете создавать собственные гизмо, используя текстуры или сценарии. Некоторые гизмо отрисовываются только при выборе игрового объекта, в то время как другие гизмо отрисовываются редактором независимо от того, какие игровые объекты выбраны. Подробнее
See in Словарь появляются внутри него. Внешний вид гизмо зависит от того, какой инструмент выбран.
Transform gizmo
Когда вы щелкнете и перетащите одну из трех осей гизмо, вы заметите, что ее цвет изменится на желтый. Когда вы перетаскиваете мышь, вы увидите, как объект перемещается, вращается или масштабируется вдоль выбранной оси. Когда вы отпустите кнопку мыши, ось останется выбранной.
Преобразование, показывающее выбранную (желтую) ось X
В режиме преобразования также есть дополнительная опция, позволяющая привязать движение к определенной плоскости (т. е. разрешить перетаскивание по двум осям, сохраняя при этом третью без изменений). Три маленьких цветных квадрата вокруг центра гизмо перевода активируют блокировку для каждой плоскости; цвета соответствуют оси, которая будет заблокирована при щелчке по квадрату (например, синий блокирует ось Z).
Воспитание детей
Родительские обязанности — одна из самых важных концепций, которые необходимо понимать при использовании Unity. Когда GameObject является родителем объектом, который содержит дочерние объекты в иерархии. Когда GameObject является Родителем другого GameObject, Дочерний GameObject будет перемещаться, вращаться и масштабироваться точно так же, как и его Родитель. Вы можете думать о воспитании детей как об отношениях между вашими руками и вашим телом; всякий раз, когда ваше тело двигается, ваши руки также двигаются вместе с ним. Подробнее
Посмотреть в Словарь другого игрового объекта, дочернего элемента GameObject будет двигаться, вращаться и масштабироваться точно так же, как и его Parent. Вы можете думать о воспитании детей как об отношениях между вашими руками и вашим телом; всякий раз, когда ваше тело двигается, ваши руки также двигаются вместе с ним. Дочерние объекты также могут иметь своих собственных дочерних элементов и так далее. Таким образом, ваши руки могут рассматриваться как «дети» ваших рук, и тогда каждая рука имеет несколько пальцев и т. д. Любой объект может иметь несколько потомков, но только одного родителя. Эти несколько уровней отношений родитель-потомок образуют иерархию преобразования. Объект на самом верху иерархии (то есть единственный объект в иерархии, не имеющий родителя) называется корневым.
Вы можете создать родительский элемент, перетащив любой игровой объект из Просмотра иерархии на другой. Это создаст отношения «родитель-потомок» между двумя игровыми объектами.
Пример иерархии «родитель-потомок». Игровые объекты со стрелками слева от их имен являются родителями.
Обратите внимание, что значения преобразования в Инспекторе для любого дочернего игрового объекта отображаются относительно значений преобразования родительского объекта. Эти значения называются локальными координатами. Возвращаясь к аналогии с телом и руками, положение вашего тела может измениться, когда вы идете, но ваши руки все равно будут прикреплены в том же относительном положении. Для построения сцены обычно достаточно работать с локальными координатами дочерних объектов, но в игровом процессе часто бывает полезно найти их точное положение в мировом пространстве или глобальные координаты. API сценариев для компонента Transform имеет отдельные свойства для локального и глобального положения, поворота и масштаба, а также позволяет преобразовать любую точку между локальными и глобальными координатами.
Ограничения при неравномерном масштабировании
Неравномерное масштабирование — это когда Scale в Transform имеет разные значения для x, y и z; например (2, 4, 2). Напротив, равномерное масштабирование имеет одно и то же значение для x, y и z; например (3, 3, 3). Неравномерное масштабирование может быть полезно в некоторых конкретных случаях, но оно вносит несколько странностей, которые не возникают при равномерном масштабировании:-
- Некоторые компоненты не полностью поддерживают неравномерное масштабирование. Например, некоторые компоненты имеют круглый или сферический элемент, определяемый свойством radius, среди них Sphere Collider Компонент коллайдера в форме сферы, который обрабатывает столкновения для игровых объектов, таких как мячи или другие вещи, которые можно приблизительно представить как сферу для целей физики. Подробнее
См. в Словарь , Capsule Collider Компонент коллайдера в форме капсулы, который обрабатывает коллизии игровых объектов, таких как бочки и конечности персонажей. Подробнее
См. в Словарь , Light и Источник аудио Компонент, который воспроизводит аудиоклип в сцене для слушателя звука или через аудиомикшер. Подробнее
См. в Словарь . В подобных случаях круглая форма не станет эллиптической при неравномерном масштабировании, как можно было бы ожидать, а просто останется круглой. - Если дочерний объект имеет родительский объект с неравномерным масштабом и повернут относительно этого родительского объекта, он может выглядеть перекошенным или «срезанным». Есть компоненты, которые поддерживают простое неравномерное масштабирование, но не работают корректно при таком перекосе. Например, скошенный Box Collider компонент коллайдера в форме куба, который обрабатывает коллизии игровых объектов, таких как игральные кости и кубики льда. Подробнее
См. в Словарь не будет соответствовать форме отображаемого mesh Основной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
Точно смотрите в Словарь . - Из соображений производительности дочерний объект родительского объекта с неравномерным масштабом не будет автоматически обновляться при повороте. В результате может показаться, что форма дочернего элемента резко меняется, когда масштаб в конечном итоге обновляется, например, если дочерний объект отсоединяется от родительского.
Важность масштаба
Масштаб преобразования определяет разницу между размером сетки в приложении для моделирования и размером этой сетки в Unity. Размер сетки в Unity (и, следовательно, масштаб преобразования) очень важен, особенно во время моделирования физики. По умолчанию используется физический движок Система, моделирующая аспекты физических систем, чтобы объекты могли правильно ускоряться и подвергаться воздействию столкновений, гравитации и другие силы. Подробнее
См. в Словарь предполагает, что одна единица в мировом пространстве соответствует одному метру. Если объект очень большой, может показаться, что он падает в «замедленной съемке»; симуляция на самом деле правильная, поскольку фактически вы наблюдаете, как очень большой объект падает с большого расстояния.
Есть три фактора, которые могут повлиять на масштаб вашего объекта:
- Размер сетки в приложении для 3D-моделирования.
- Настройка Коэффициент масштабирования сетки в Настройках импорта объекта.
- Значения Масштаб вашего компонента преобразования.
В идеале не следует настраивать Масштаб объекта в компоненте преобразования. Лучший вариант — создавать свои модели в реальном масштабе, чтобы вам не пришлось менять масштаб преобразования. Следующим лучшим вариантом является настройка масштаба импорта вашей сетки в Настройки импорта для вашей отдельной сетки. Определенные оптимизации выполняются в зависимости от размера импорта, и создание экземпляра объекта с настроенным значением масштаба может снизить производительность. Дополнительные сведения см. в разделе об оптимизации масштаба на странице с описанием компонентов Rigidbody.