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

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

Орієнтир – Reference

Режим – Mode:Режим Об’єкта – Object Mode
Меню – Menu:«Об’єкт > Приріднення» – Object ‣ Parent
Скорочення – Hotkey:
 Ctrl-P

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

Для приріднення об’єктів виділіть принаймні два об’єкти (виберіть спочатку об’єкти, що будуть нащадками – Child Objects, та останнім виберіть об’єкт, що буде предком – Parent Object) та натисніть Ctrl-P. Спливне меню «Задати Приріднення До» – Set Parent To дозволяє вам вибрати один з можливих типів приріднювання. Після вибору одного з пунктів меню Set Parent To створиться відношення «нащадок/нащадки-предок».

Останньо вибраний об’єкт буде «Активним Об’єктом» – Active Object (підсвічується світло-оранжевим каркасом) і він стане Об’єктом Предка – Parent Object. Якщо ви вибрали одночасно кілька об’єктів перед вибиранням майбутнього предка, то всі вони будуть нащадками цього предка та будуть знаходитися на однаковому рівні ієрархії (вони будуть «спільнопредкові» – «siblings»).

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

Для приріднювання без інверсії приріднення Parent Inverse, використовуйте натомість скорочення Shift-Ctrl-P.

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

Загалом, коли використовуються для приріднення об’єктів Ctrl-P або «Заголовок 3D Огляду > Об’єкт > Приріднення» – 3D View Header ‣ Object ‣ Parent, то об’єкти нащадків – Child Objects можуть мати тільки одного об’єкта предка – Parent Object. Якщо об’єкт нащадка – Child Object вже має об’єкт предка – Parent Object і ви даєте йому іншого предка, то Blender вилучить попереднє відношення приріднення та створить нове.

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

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

Для приріднювання без призначання цієї матриці використовуйте натомість скорочення Shift-Ctrl-P. Це створює альтернативне відношення «предо-нащадок», де властивості об’єкта нащадка обчислюються у системі координат предка. Це кращий вибір для цілей САПР – CAD, наприклад.

Ця матриця може також бути зчищена після приріднювання за допомогою «Зчистити Інверсію Приріднення» – Clear Parent Inverse.

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

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

  • Об’єкт – Object
  • Кістка – Bone
  • Вершина – Vertex
  • Вершина (Трикутник) – Vertex (Triangle)

Уклади – Setups

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

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

Приріднення до об’єкта – Object Parent – це найбільш загальна форма приріднення, яку підтримує Blender. Якщо взяти вибрані об’єкти та зробити останньо вибраний об’єкт об’єктом предка – Parent Object, то усі інші вибрані об’єкти будуть об’єктами нащадків – Child Objects. Об’єкти нащадків будуть успадковувати трансформації предка. Об’єкт предка може бути будь-якого типу.

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

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

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

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

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

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

Якщо ви виберете об’єкт мавпи – Monkey клацанням RMB, далі додасте у вибрання за допомогою Shift-RMB об’єкт «EmptyA», натиснете Ctrl-P та виберете у спливному меню Set Parent To пункт «Об’єкт» – Object. То це у результаті дасть те, що об’єкт «EmptyA» стане об’єктом предком – Parent Object для об’єкта мавпи – Monkey. При вибраному тільки «EmptyA» його обертання/масштабування/переміщування призведе до того, що об’єкт Monkey буде змінюватися відповідно.

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

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

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

Якщо ви виберете тільки об’єкт Мавпа – Monkey клацком RMB, далі з Shift-RMB клацнете на об’єкті «EmptyB», натиснете Ctrl-P та виберете у спливному меню Set Parent To пункт Object. То це дасть у результаті те, що об’єкт «EmptyB» стане об’єктом предка – Parent Object для об’єкта Monkey. Зауважте, що коли ви змінюєте предка для Monkey, то масштаб Мавпи також змінюється.

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

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

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

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

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

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

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

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

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

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

../../../../_images/scene-layout_object_properties_relations_parents_bone1.png

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

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

Для використання приріднення до кістки ви повинні спочатку виділити усі нащадкові об’єкти, які ви хочете приріднити до певної кістки арматури, далі клацніть Shift-RMB для вибрання об’єкта арматури, ще далі перемкніться у Режим Пози – Pose Mode і потім виділіть клацком RMB конкретну кість, яка має стати предківською кісткою. Після цього натисніть Ctrl-P та виберіть пункт «Кістка» – Bone у спливному меню Set Parent To.

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

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

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

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

../../../../_images/scene-layout_object_properties_relations_parents_bone2.png

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

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

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

../../../../_images/scene-layout_object_properties_relations_parents_bone3.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зміна масштабу предківської ікосфери у Режимі Об’єкта означає, що нащадкові куби також змінять свій масштаб.

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

Примітка

Це фактично вид «розвернутого» гачка – 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 з вибраних об’єктів. З порожньою матрицею властивості локації, обертання і масштабу нащадків інтерпретуються у просторі координат предка.

Підказка

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

Іншим способом побачити відношення «предок-нащадок» у групах є використання огляду редактора структури – Структуратора – Outliner editor.

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

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

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

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

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