Приріднювання Об’єктів – 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

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

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.

Moving, rotating or scaling the parent will also usually transform the child/children. Yet transforming the child/children of the parent will not affect the parent. In other words, the direction of influence is from parent to child and not child to parent.

Порада

You can «move» a child object back to its parent by clearing its origin.

Type – Тип

Blender supports many different types of parenting, listed below. Besides parenting the selected objects, some types add a Modifier or Constraint to the child objects, with the parent as the target object or activates a parent property i.e. Follow Path.

  • Object – Об’єкт

  • Armature Deform – Деформа Арматури

  • Bone – Кістка

  • Curve Deform – Деформа Кривої

  • Follow Path – Слідування Шляхом

  • Path Constraint – Примус Шляху

  • Lattice Deform – Деформа Решіткою

  • Vertex – Вершина

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

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.

Підказка

Використання Структуратора – 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.

Інверсія Приріднення – 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.

Приріднення до Об’єкта – 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.

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.

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.

Example: Object Parent (Keep Transform)

Object Parent with Keep Transform will keep any previous transformations applied to them from the previous parent object.

Assume that we have a scene consisting of three objects, those being two empty objects named «EmptyA» and «EmptyB», and a Monkey object. Fig. Сцена без приріднювання. shows the three objects with no parenting relationships active on them.

../../../_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».

This happens because the Monkey object never had its scale altered directly, the change came about because it was the child of «EmptyA» which had its scale altered. Changing the Monkey’s parent to «EmptyB» resulted in those indirect changes in scale being removed, because «EmptyB» has not had its scale altered.

This is often the required behavior, but it is also sometimes useful that if you change your parent object that the child object keep any previous transformations it got from the old parent object; If instead when changing the parent object of the Monkey from «EmptyA» to «EmptyB» we had chosen parenting type Object and enable Keep Transform, the Monkey would keep its scale information it obtained from the old parent «EmptyA» when it is assigned to the new parent «EmptyB».

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

The Object parent with Keep Transform.

If you want to follow along with the above description here is the blend-file:

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

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

Bone parenting allows you to make a certain bone in an armature the parent object of another object. This means that when transforming an armature the child object will only move if the specific bone is the child object of moves.

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

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

In Fig. Три картинки арматур з чотирма кістками. with the 2nd bone being the bone parent of the child object cube. The cube is only transformed if the 1st or 2nd bones are. Notice altering the 3rd and 4th bones has no effect on the cone.

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 parenting is an option you can toggle for each bone. This works in the same way as bone parenting with one difference.

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

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

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

In Fig. Одинична кість арматури, яка має прирідненим до себе нащадковий об’єкт куба за звичайним методом приріднювання до кістки. the 1st picture shows the position of the cube and armature before the bone is moved in Edit Mode. 2nd picture shows the position of the cube and armature after the bone was selected in Edit Mode, moved and switched back into Pose Mode. Notice that the child object moves to the new location of the pose bone.

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

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

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

In Fig. Одинична кістка з прирідненим до неї кубом методом Bone Relative. the 1st picture shows the position of the cube and armature before the bone is moved in Edit Mode. 2nd picture shows the position of the cube and armature after the bone was selected in Edit Mode, moved and switched back into Pose Mode. Notice that the child object does not move to the new location of the pose bone.

Примітка

When using Ctrl-P to set parents, choosing «Bone» or «Bone Relative» will respectively clear and set the bone’s «Relative Parenting» option. Since «Relative Parenting» is an option that is set per bone, this influences all child objects of that bone at once.

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

For objects of type curve, surface, mesh and lattice, there is the possibility to use one of its vertices or points as the parent of other objects. You can parent an object to a single vertex or a group of three vertices as well; that way the child/children will move when the parent mesh is deformed.

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

In Object Mode, select the child/children and then the parent object. Tab into Edit Mode and on the parent object select either one vertex that defines a single point, or select three vertices that define an area (the three vertices do not have to form a complete face; they can be any three vertices of the parent object), and then press Ctrl-P and confirm.

At this point, if a single vertex was selected, a relationship/parenting line will be drawn from the vertex to the child/children. If three vertices were selected then a relationship/parenting line is drawn from the averaged center of the three points (of the parent object) to the child/children. Now, as the parent mesh deforms and the chosen parent vertex/vertices move, the child/children will move as well.

Приріднення до Вершин у Режимі Об’єкта – 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.

Make Parent without Inverse

Орієнтир – Reference

Режим – Mode

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

Меню – Menu

Object ‣ Parent ‣ Make Parent 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.

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

Орієнтир – Reference

Режим – Mode

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

Меню – Menu

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

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

Alt-P

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

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

If the parent in the group is selected, nothing is done. If a child or children are selected, they are disassociated from the parent, or freed, and they return to their original location, rotation, and size.

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

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

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

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

Instead of removing the hierarchical parent-child relationship, this clears the Parent Inverse matrix from the selected objects. With an empty matrix, the location, rotation and scale properties of the children are interpreted in the coordinate space of the parent.

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

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

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

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

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