Приріднювання Об’єктів – Parenting Objects

When modeling a complex object, such as a watch, you may choose to model the different parts as separate objects. To make all the parts move as one («the watch»), you can designate one object as the parent of all the other parts. These other parts become its children, and any translation, rotation, or scale of the parent will also affects its children.

Contrary to most biological lifeforms, each object or bone in Blender has at most one parent. If an object already has a parent object and you give it another parent then Blender will remove the previous parent relationship. When the plural «parents» is used in this chapter, it references the hierarchy of parents, so the parent, the grandparent, great grandparent, and so on, of an object.

Зробити Приріднення – Make Parent

Орієнтир – Reference

Режим – Mode

Режим Об’єкта – Object Mode

Меню – Menu

«Об’єкт > Приріднення» – Object ‣ Parent

Скорочення – Hotkey

Ctrl-P

To parent objects, select at least two objects (select the child objects first, and select the parent object last), and press Ctrl-P. The Set Parent To menu will pop up allowing you to select from one of several possible different parenting types. Selecting one of the entries in Set Parent To confirms, and the child/children to parent relationship is created. The selected objects will have their „parent“ set to the active object, and as a result will be „siblings“.

Спливне меню Set Parent To є контекстно чутливим – тобто кількість показуваних пунктів у ньому змінюється залежно від того, які об’єкти вибрано перед натисканням скорочення Ctrl-P.

Переміщування, обертання або масштабування предка зазвичай також дає відповідну трансформу нащадка/нащадків. Крім того, трансформування нащадка/нащадків предка не буде впливати на цей предок. Іншими словами, напрямок впливу здійснюється від предка до нащадка, а не від нащадка до предка.

Інверсія Приріднення – Parent Inverse

Blender can assign a parent without moving the child object. This is achieved via a hidden matrix called the Parent Inverse matrix, which sits between the transform of the parent and the child.

When objects are parented with Ctrl-P, Parent Inverse matrix is updated. Depending on the choice in the Set Parent menu, the object’s local location, rotation, and scale are also updated. For more details, see Object Parent.

The Parent Inverse matrix can be cleared by using Clear Parent Inverse.

Примітка

When setting the parent via the Object Properties panel, the Parent Inverse matrix is always reset. This can cause an unexpected jump in the object’s position. To avoid this, use Ctrl-P to set the new parent.

Типи Приріднення – Parent Types

Blender підтримує багато різних типів приріднювання, що перелічені нижче:

  • Об’єкт – Object

  • Кістка – Bone

  • Вершина – Vertex

  • Вершина (Трикутник) – Vertex (Triangle)

Уклади – Setups

Окрім приріднювання вибраних об’єктів це додає Модифікатор – Modifier або Примус – Constraint для нащадкових об’єктів з предком як цільовим об’єктом, або активує властивість приріднення, як наприклад «Слідування Шляхом» – Follow Path.

Приріднення до Об’єкта – Object Parent

Object Parent is the most general form of parenting that Blender supports. It will take selected objects and make the active object the parent object of all the selected objects. Each child object will inherit the transformations of the parent. The parent object can be of any type.

There are three operators that allow you to set an object parent. They differ in the way they compute the Parent Inverse matrix and the local transform of the object.

Set Parent to Object

If the object has a pre-existing parent, that is cleared first. This moves the object to its own location, rotation and scale, without its parent’s influence. Regardless of whether it had a parent before, Blender proceeds to do the same as «Keep Transform» below.

Set Parent to Object (Keep Transform)

The object’s current world transform (so its absolute location, rotation and scale in the world) is computed. The new parent is set, and then the Parent Inverse matrix is computed such that after setting the new parent the object is still at its previous world transform.

Set Parent to Object (Without Inverse)

This sets the parent, and then resets the Parent Inverse matrix and the object’s local location. As a result, the object will move to the location of the parent, but keep its rotation and scale.

Example: Object (Keep Transform) Parent

Object (Keep Transform) Parent працює дуже подібно до приріднення до об’єкта Object Parent. Головна відмінність полягає у тому, чи нащадкові об’єкти будуть зберігати будь-які попередні трансформації, застосовані до них від попереднього предківського об’єкта.

Припустімо, що ми маємо сцену, що містить три об’єкти, два з яких об’єкти порожні з іменами «EmptyA» та «EmptyB» та один об’єкт мавпи Monkey. Ілюстрація Сцена без приріднювання. показує ці три об’єкти без наявного відношення приріднювання.

../../../_images/scene-layout_object_editing_parent_keep-transform-a.png

Сцена без приріднювання.

If you select the Monkey object by LMB click and then Shift-LMB click «EmptyA» object and press Ctrl-P and finally select Object from the Set Parent To pop-up menu. This will result in «EmptyA» object being the parent object of the Monkey object. With only «EmptyA» selected rotating/scaling/moving it will result in the Monkey object being altered respectively.

Масштабування об’єкта «EmptyA» дасть те, що Monkey стане меншим та переміщується трохи вліво.

../../../_images/scene-layout_object_editing_parent_keep-transform-b.png

Мавпа є нащадковим об’єктом предківського об’єкта «EmptyA».

If you select only the Monkey object by LMB click and then Shift-LMB click «EmptyB» object and press Ctrl-P and select Object from the Set Parent To pop-up menu. This will result in «EmptyB» object being the parent object of the Monkey object. Notice that when you change the parent of the Monkey the scale of the Monkey changed.

../../../_images/scene-layout_object_editing_parent_keep-transform-c.png

Тут мавпа є об’єктом нащадка предківського об’єкта «EmptyB».

Це відбувається, тому що для об’єкта Monkey тут ніколи масштаб не змінюється безпосередньо, така зміна походить від зміни масштабу об’єкта «EmptyA», нащадком якого він був. Зміна приріднення Мавпи від попереднього об’єкта до об’єкта «EmptyB» призведе до того, що непрямі зміни у масштабі вилучаться, оскільки новий об’єкт «EmptyB» не мав змін у масштабі.

Це часто необхідна поведінка, але також інколи корисно, щоб, якщо ви змінюєте предківський об’єкт, то нащадковий об’єкт зберіг будь-які попередні трансформації, отримані від старого предківського об’єкта; і якщо натомість при зміні предківського об’єкта для Monkey з «EmptyA» на «EmptyB» ви виберете тип приріднення «Об’єкт (Утримувати Трансформу) – Object (Keep Transform), Monkey зберегла б інформацію про своє масштабування, отримане від старого предка «EmptyA», коли буде призначатися новий предок «EmptyB».

../../../_images/scene-layout_object_editing_parent_keep-transform-d.png

Метод приріднення «Об’єкт (Утримувати Трансформу)» – Object (Keep Transform).

Якщо ви хочете відстежити описане вище, тут є blend-файл, в якому використовується описаний метод приріднення Object (Keep Transform):

File:Parent_-_Object_(Keep_Transform)_(Demo_File).blend.

Приріднення до Кістки – Bone Parent

Приріднення до кістки дозволяє вам робити певну кістку в арматурі предківським об’єктом для іншого об’єкта. Це означає, що при трансформуванні арматури нащадковий об’єкт буде рухатися тільки тоді, коли певна кістка, що є предком для нього, буде рухатися.

../../../_images/scene-layout_object_editing_parent_bone1.png

Три картинки арматур з чотирма кістками.

На ілюстрації Три картинки арматур з чотирма кістками. 2-га кістка є предківською кісткою нащадкового об’єкта куба. Куб буде трансформуватися лише тоді, якщо 1-ша або 2-га кістка буде трансформуватися. Зауважте, що зміна 3-ої та 4-ої кісток не буде впливати на конус.

To use bone parenting, you must first select all the child objects you wish to parent to a specific armature bone, then Shift-LMB select the armature object and switch it into Pose Mode and then select the specific bone you wish to be the parent bone by LMB selecting it. Once done press Ctrl-P and select bone from the Set Parent To pop-up menu.

Відтепер трансформування цієї кістки у режимі пози Pose Mode буде спричиняти також трансформування нащадкових об’єктів.

Відносне Приріднювання – Relative Parenting

Приріднення типу Bone Relative є опцією, яку ви можете перемикати для кожної кістки. Це працює подібним чином, як і звичайне приріднювання до кістки, з однією відмінністю.

При звичайному прирідненні до кістки, якщо ви приріднили до кістки деякі нащадкові об’єкти та вибрали цю кістку і перемкнулися у режим редагування Edit Mode, а потім перемістили цю кістку, то при перемиканні назад у режим пози Pose Mode для цієї кістки, нащадковий об’єкт, що приріднений до цієї кістки, підхопиться назад у локацію кістки в Pose Mode.

../../../_images/scene-layout_object_editing_parent_bone2.png

Одинична кість арматури, яка має прирідненим до себе нащадковий об’єкт куба за звичайним методом приріднювання до кістки.

На ілюстрації Одинична кість арматури, яка має прирідненим до себе нащадковий об’єкт куба за звичайним методом приріднювання до кістки. 1-ша картинка показує позицію куба та арматури перед тим, як кістка пересунута у Режимі Редагування. 2-га картинка показує позицію куба та арматури після того, як кістка була вибрана та переміщена у Режимі Редагування, та перемкнуто було назад у Режим Пози. Зауважте, що нащадковий об’єкт переміщується у нову локацію позованої кістки.

Приріднювання Bone Relative працює по-іншому; якщо ви перемістите предківську кістку у режимі редагування Edit Mode, то при перемиканні назад у режим пози Pose Mode нащадкові об’єкти не будуть переміщуватися у нову локацію для позованої кістки Pose Bone.

../../../_images/scene-layout_object_editing_parent_bone3.png

Одинична кістка з прирідненим до неї кубом методом Bone Relative.

На ілюстрації Одинична кістка з прирідненим до неї кубом методом Bone Relative. 1-ша картинка показує позицію куба та арматури перед переміщенням кістки у Режимі Редагування. 2-га картинка показує позицію куба та арматури після того, як кістка була вибрана та переміщена у Режимі Редагування, та перемкнуто було назад у Режим Пози. Зауважте, що нащадковий об’єкт не переміщується у нову локацію позованої кістки.

Примітка

При використовуванні Ctrl-P для задання предків вибирання «Bone» або «Bone Relative» буде відповідно зчищати та установлювати опцію відносного приріднювання «Relative Parenting» для кістки. Оскільки «Relative Parenting» є опцією, що установлюється для кожної окремо кістки, це впливає на всі нащадкові об’єкти цієї кістки одразу.

Приріднення до Вершини – Vertex Parent

Для таких типів об’єктів, як крива, поверхня, сіть та решітка, існує можливість використати одну з їх вершин або точок як предка для інших об’єктів. Ви можете приріднити об’єкт до одиничної вершини або групи з трьох вершин; таким чином, нащадок/нащадки будуть переміщуватися, коли предківська сіть буде деформуватися.

Приріднення до Вершини у Режимі Редагування – Vertex Parent from Edit Mode

У Режимі Об’єкта – Object Mode виберіть майбутніх нащадка/нащадків та останнім об’єкт предка. Натисніть Tab для переходу у Режим Редагування – Edit Mode та на предківському об’єкті виберіть одну вершину, що визначатиме одиничну точку, або виберіть три вершини, що визначатимуть ділянку (ці вершини не повинні формувати завершену грань; вони можуть будь-якими трьома вершинами на предківському об’єкті), а потім натисніть Ctrl-P та підтвердьте пунктом зі спливного меню.

У момент, якщо була вибрана одинична вершина, то лінія відношення/приріднення буде нарисована від вершини до нащадка/нащадків. Якщо були вибрані три вершин, то лінія відношення/приріднення буде нарисована від усередненого центру цих трьох точок (предківського об’єкта) до нащадка/нащадків. Відтепер, при деформуванні предківської сіті та переміщення обраних предківських вершини/вершин, також будуть переміщатися нащадок/нащадки.

Приріднення до Вершин у Режимі Об’єкта – Vertex Parent from Object Mode

Приріднення до вершин може бути здійснене у режимі об’єкта Object Mode, це робиться, як і звичайне приріднення до об’єкта, натисніть Ctrl-P у режимі об’єкта Object Mode та виберіть у спливному меню «Вершина» – Vertex або «Вершина (Трибічник)* – Vertex (Triangle).

Найближчі вершини будуть використовуватися з кожного об’єкта, які б ви типово хотіли.

Приклад Приріднення до Вершини.
../../../_images/scene-layout_object_editing_parent_object-mode-example-1.png

Маленькі куби можуть кожен автоматично приріднитися до тріади найближчих вершин на ікосфері за допомогою пункту «Vertex (Triangle)» у контекстному меню задання приріднення.

../../../_images/scene-layout_object_editing_parent_object-mode-example-2.png

Зміна форми об’єкта у режимі редагування Edit Mode означає, що кожен з кубів слідує за своєю предківською вершиною окремо.

../../../_images/scene-layout_object_editing_parent_object-mode-example-3.png

Масштабування предківської ікосфери в режимі об’єкта Object Mode означає, що нащадкові куби також масштабуються, як очікується.

Цей пункт спливного меню приріднення означає, що користувачі можуть швидко установити велику кількість відношень приріднення до вершин та уникнуть стомливих зусиль установлення кожного відношення «предок-нащадок» до вершини окремо.

Примітка

Це фактично вид «розвернутого» гачка – hook.

Опції – Options

Переміщення Нащадка – Move Child

Ви можете перемістити нащадковий об’єкт до його предка, зчистивши його початок. Це не впливає на відношення між предком і нащадком. Виберіть нащадковий об’єкт та натисніть Alt-O. Після підтвердження нащадковий об’єкт буде підхоплений у локацію предка. Скористайтеся Структуратором – Outliner для перевірки, чи цей нащадковий об’єкт є все ще прирідненим.

Зчистити Приріднення – Clear Parent

Орієнтир – Reference

Режим – Mode

Режим Об’єкта – Object Mode

Меню – Menu

«Об’єкт > Приріднення» – Object ‣ Parent

Скорочення – Hotkey

Alt-P

Ви можете вилучити відношення «предок-нащадок» через Alt-P.

Зчистити Приріднення – Clear Parent

Якщо предок у групі вибраний, то нічого не відбудеться. Якщо нащадок або нащадки вибрані, то вони відв’яжуться від свого предка, або звільняться, та вони повернуться в їх оригінальні локацію, оберт та розмір.

Зчистити та Утримати Трансформацію – Clear and Keep Transformation

Звільняє нащадки від предка та зберігає локацію, оберт та розмір, заданий для них предком.

Дивіться про Non-Uniform Scale, який може застосовуватися тут.

Зчистити Інверсію Приріднення – Clear Parent Inverse

Замість вилучання ієрархічного відношення «предок-нащадок», це зчищає матрицю Parent Inverse з вибраних об’єктів. З порожньою матрицею властивості локації, обертання і масштабу нащадків інтерпретуються у просторі координат предка.

Підказка

Використання Структуратора – Use the Outliner

There is another way to see the parent-child relationship in groups and that is to use the Outliner view of the Outliner editor.

Відомі Обмеження – Known Limitations

Не-Однорідний Масштаб – Non-Uniform Scale

Предко з не-однорідними масштабом та обертанням відносно його нащадка може спричиняти ефект «косування» – shear.

Хоча це і підтримується приріднюванням, косування буде втрачене, коли приріднення зчищається, оскільки воно не може бути представлене локацією, масштабом та обертанням.

Якщо Clear and Keep Transformation переміщує об’єкт, то не-однорідний масштаб є найімовірнішою причиною.