У нашому прикладі випромінювачі або антени інопланетного персонажа повинні динамічно й еластично рухатися разом із кожним рухом голови. Звичайно, наш приклад можна також застосувати до космичних волосин, хвостів динозаврів та багато чого іншого.
У робочому файлі "PSD_C4D_R12_IK_Dyn_Start.c4d" ви знайдете модельовану і текстуровану голову інопланетянина для спільної роботи.
Побудова каркасу спільного суставу
Наша інопланетянська голова складається, з одного боку, з геометрії голови у вигляді полігонів та, з іншого боку, з двох кульових об'єктів для очей. У подальшому ми пов'яжемо всі об'єкти ієрархічно або через важкий зв'язок з суставами, щоб можна було легко анімувати всю голову разом з відростками.
Починати побудову каркасу спільного суставу ми будемо з першого суставного об'єкта для голови. Ви знайдете його в меню Персонаж.
Оскільки інопланетянська голова розташована точно на початку координатної системи, сустав голови може залишатися на нульовій позиції.
Ми залишаємо тільки що створений суставний об'єкт вибраним і активуємо інструмент суставів у меню Персонаж. В діалозі налаштувань інструменту суставів вимикаємо створення вищестоячого нульового об'єкта. Ми створимо його самостійно пізніше, щоб краще зрозуміти, яку функцію він виконує у каркасі спільних суставів.
Щоб працювати симетрично, розгортаємо розділ Симетрія та використовуємо опцію Малювати на площині YZ світу. Саме на цій площині, або у цьому вигляді, ми будемо малювати сустави.
Якщо ми тепер увімкнемо інструмент суставів та клікнемо у вигляді з натиснутою клавішею Ctrl або Ctrl, нам автоматично і симетрично будуть створені сустави, підпорядковані суставу голови.
Ми вирішуємо робити один з двох відчуттів або антени й поміщаємо перший підсустав безпосередньо на початку відчуття близько до голови. Сустав для іншої антени буде розміщений автоматично завдяки увімкненій симетрії.
Тепер ми побудуємо ланцюг суставів у відповідних позиціях, натискаючи і утримуючи кліку з натиснутою клавішею Ctrl або Ctrl. Там, де структура стає більш детальною, сустави також мають бути трохи ближче один до одного. Ми не повинні заощаджувати на суставах, оскільки саме в цих місцях з'єднання може відбуватися деформація або згинання геометрії.
Після створення всіх суставів ми побачимо в об'єктному менеджері ієрархію суставів, показану на малюнку. Об'єкт сустава голови має в цілому два ланцюги суставів як дочірні об'єкти - один ланцюг для кожної антени.
Щоб налаштувати позицію суставів парамірно у боковому вигляді, ми вибираємо пару суставів в об'єктному менеджері та зсуваємо сустави вздовж їх ось Z у геометрію.
Каркас спільних суставів для анімації антен або відростків майже готовий. Нажаль, він ще не пов'язаний з нашою інопланетною головою, що дозволить нам анімувати голову.
Це можливо лише після того, як ми з'єднали ієрархію спільних суставів з геометрією. Для цього спочатку ми вибираємо через об'єктний менеджер всі суставні об'єкти і полігонний об'єкт інопланетної геометрії.
Зв'язок ієрархії спільних суставів з полігонною сіткою за допомогою команди Пов'язати з меню Персонаж>Команди.
Що саме зробив команду Пов'язати? Полігонний об'єкт інопланетної геометрії тепер має тег ваги, в якому зібрані всі суставні об'єкти, які можуть впливати на геометрію голови інопланетянина. Це автоматичне вагування базується на позиції суставів відносно геометрії і слугує як хороша основа.
Вага суставів
Це вагування рідко буває досконалим; тому для деяких випадків потрібно трохи підштовхувати руку. Щоб побачити ваги, спочатку вимикаємо функцію гіпер-подсітки через об'єктний менеджер. Інструмент ваг показує ваги на геометрії у вигляді нестиснутої полігональної мережі. Для повного огляду спочатку вибираємо всі суставні об'єкти з геометрією в об'єктному менеджері.
Інструмент Ваговій Інструмент ми знаходимо в меню Character. Коли ми його активуємо, геометрія голови прибирається. Кожен Joint має власний колір, який показує його вплив на геометрію.
Щоб перевірити Joints та їх вплив на геометрію окремо, потрібно просто вибрати відповідний Joint в Менеджері Об'єктів. Усі області геометрії, які не охоплені цим Joint, залишаються чорними.
На Joint голови помічено, що кінчик носа не на 100% знаходиться у колірному зоні Joint. За допомогою Вагового Інструменту ми можемо уникнути потенційні неполадки при деформації, підвищуючи вагу деформування Joint шляхом спрямованого підняття ваги за допомогою Щітки Ваги.
Також на переходах до вусів або антен надто великий вплив на геометрію голови. Для зменшення прилеглих ваг використовуємо Ваговий Інструмент з натиснутою клавішею Ctrl або ЖМІТАЙ.
Під час завершення вагової роботи рекомендується ще раз вибрати всі Joints через Менеджер Об'єктів, змінити відображення вагових кольорів на однотонне і перевірити, чи має вся геометрія вагу. Як видно на малюнку, ціла голова прибрана в білий колір, що означає, що всі частини геометрії мають вагу.
Від ваг залишилися вбережені Куля-Об'єкти очей. Щоб ці об'єкти також рухалися разом з обертанням або рухом голови, просто віднесемо їх до Joint голови в Менеджері Об'єктів. Якщо Joint голови буде наприклад обертатися, очі будуть слідувати за головним суглобом через їх підпорядкування головному напрямку.
Зараз настав час перевірити практичну реалізацію Joint-структури та вмістову вагу. Ми вибираємо Joint голови та обертаємо його за допомогою Інструменту Обертання по осьові y. Ціла голова при цьому має без проблем переходити на рухи Joint голови.
Включення оберненої кінематики з динамікою
Після того як Joints працюють так, як потрібно на різних областях голови прибулець, ми можемо зайнятися анімацією вус або антен через Обернену Кінематику (IK). Для цього нам необхідно визначити дві ланцюги Joint для вус або антен як Ланцюжок IK.
Ми вибираємо ці два ланцюга Joint в Менеджері Об'єктів - будь ласка, зверніть увагу, що Joint голови залишається поза їх вибором!
Тут також CINEMA 4D пропонує спеціальну команду під назвою Створити Ланцюжок IK, яка автоматично перетворює вибрані ланцюжки Joint на Ланцюжки IK. Ми знаходимо її в меню Character>Команди.
Застосовуємо команду Створити Ланцюжок IK та перевіряємо, що сталося з нашим ланцюгом Joint. Діаметрично в головній частині кожен Joint отримав вказівку IK-Тег. В цій вказівці автоматично були визначені початок та кінець IK-Ланцюга.
Крім того, ми знаходимо два нові Об'єкти Null як Цільові Об'єкти в Менеджері Об'єктів. Ці дві цілі названі аналогічно кінцям ланцюга Joint і дозволяють нам анімувати весь IK-Ланцюг через ці прості керуючі цілі.
Ми хочемо рухи вус або антен зазвичай регулювати автоматично через динамічні властивості. Однак тримати ці два цілеві об'єкти не завадить, оскільки вус і антени після кожного руху та деформації автоматично повертаються до цілей і надають само собі автоматичне налаштування.
Огляд параметрів IK-Тегів показує, як визначені кінці або цілі IK-Ланцюга. Ці параметри в області Тег ми залишаємо такими ж; зараз ми цікавимося налаштуваннями динаміки.
Для цього ми переходимо до вкладки Динаміка та активуємо спочатку параметр Динаміка. Тепер вуси або антени вже можуть реагувати на впливи, такі як Гравітація або Рух.
Утім, щоб вуси не просто слабо звисали, але поводились більш еластично та міцно, ми знижуємо Силу Динаміки до приблизно 40-45% та драматично збільшуємо Демпфування до близько 70%. Щоб вуси старалися ще сильніше повернутися до початкового положення, ми збільшуємо параметр ЗбереженняКута до приблизно 40-45%.
В цей момент я можу лише запросити вас далі експериментувати з параметрами. Це дозволяє швидко вивчити, як кожне окреме налаштування впливає на весь ланцюг оберненої кінематики - і це, звісно ж, надзвичайно весело.
Тому, що дві віддалені цілі об'єкти не сприймають динамічну анімацію вусів або антен, нам потрібно навчити ІК враховувати, що ці цілі об'єкти мають бути зроблені змістовними. В іншому випадку вуса під час швидкого обертання дуже швидко заплутаються між собою.
У вкладці Додаткові опції в тегу ІК, нам доступна дуже елегантна функція. Ми просто активуємо опцію Рух цілі, і обидва цільові об'єкти автоматично рухаються разом з кожним рухом.
Тепер функціональність оберненої кінематики вусів або антен також вже налагоджена. Давайте також трохи організуємо в Менеджері об'єктів, перейменувавши відповідно цільові об'єкти та ланцюжки з'єднань.
Для анімації голови інопланетянина зараз слугує джоїнт голови. На жаль, цей джоїнт досить незручний, оскільки через свої підпорядковані ланцюжки з'єднань він стоїть і ротує в просторі.
Проте насправді нам потрібен "чистий" початковий стан щодо кутів, щоб ротація та рух голови інопланетянина відбувалися для нас без небажаних обертань вперед.
Ось де входить в гру Нуль-об'єкт кореня, про який ми вже коротко згадували на початку.
Він надає нам абсолютно нову, чисту координатну систему. Щоб врахувати повну ланцюжок ІК, треба просто підпорядкувати його Нуль-об'єкту кореня.
Спочатку ми створюємо свіже нуль-об'єкт через меню Об'єкти. Оскільки джоїнт голови знаходиться в нуль-позиції, нам навіть не потрібно переміщувати новий нуль-об'єкт.
Ми логічно перейменовуємо цей новий нуль-об'єкт у Корінь і підпорядковуємо йому цілу ієрархію ланцюжка через Менеджер об'єктів.
Тепер ми можемо натиснути кнопку відтворення і обертаючи корінь-нуль-об'єкт усіма напрямками, анімувати інопланетянина. Вуси або антени будуть динамічно керовані гравітацією та нашими рухами.
Значить, Нуль-об'єкт кореня є допоміжним інструментом при анімації ієрархії ланцюжків. При створенні каркасу ланцюжка, принаймні головний ланцюжок (зазвичай стегно) призначається такий надлежний Нуль-об'єкт. Щоб це сталося автоматично, нам потрібно активувати опцію Нуль-об'єкт кореня у діалозі налаштувань інструмента ланцюжка.