Скелетна анімація

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
'Кістки' (позначено зеленим) використовуються для позиціонування долоні. Вони зазвичай приховані за іншими, більш дружніми до користувача, об'єктами. У цьому прикладі з відкритого проекту Sintel, 'тримачі' (позначено синім) були вкорочені, щоб зігнути пальці. Кістки досі контролюють деформацію, але користувач бачить лише тримачі.

Скелетна анімація - техніка у комп'ютерній анімації, де представлення персонажа складається з двох частин: зовнішній вигляд(за нього відповідає полігональна сітка, або меш) та дерево взаємозв'язаних кісток(скелет), потрібне для анімування мешу.[1] Хоч техніка зазвичай використовується для анімування людей та органічних об'єктів загалом, її призначення - зробити процес анімування більш інтуїтивним, і практично тими самими методами можна контролювати деформацію будь-якого об'єкта - дверей, ложки чи галактики. Якщо анімований об'єкт більш загальний, ніж, наприклад, людина, кістки можуть не утворювати дерево чи бути взаємозв'язаними, але це тільки дозволяє ширше описати рух відповідної частини мешу.

Техніку використовують практично усі анімаційні системи, де спрощений користувацький інтерфейс дозволяє легко маніпулювати складними алгоритмами і великою кількістю геометрії; особливо вирізняється інверсна кінематика[2] та інші техніки планування руху. Проте, імітація реальної анатомії чи фізичних процесів ніколи не були метою скелетної анімації, лише контроль деформації мешу.

Техніка[ред. | ред. код]

"Монтаж - це надавання персонажам можливості рухатись. Під час монтажу ми беремо цю цифрову скульптуру, і починаємо будувати скелет, м'язи, ми прикріплюємо шкіру до персонажа, а ще сворюємо засоби контролю анімації, щоб наші аніматори могли всюди тягати і штовхати тіло."
— — Frank Hanner, керівник відділу CG персонажів у Walt Disney Animation Studios, на пальцях пояснює основи монтажу персонажів.[3]

Використання техніки складається з конструювання послідовностей 'кісток', також відомого як монтаж (rigging). Кожній кістці властива трансформація(яка включає зміну позиції, розміру і напрямку), також, за потреби, можна призначити їй 'батьківську' кістку. Таким чином кістки утворюють ієрархію. Повна трансформація синівського вузла включає трансформацію і 'батька', і 'сина'. Тобто, рух стегнової кістки означатиме й рух гомілки. А оскільки персонажа анімують, трансформація його кісток змінюється з плином часу під впливом певного контролера анімації. Загалом скелет складається з частин, отриманих з допомогою прямої та інверсної кінематики, які можуть взаємодіяти одна з одною.

Кожна кістка в скелеті зв'язується з певною ділянкою зовнішнього вигляду персонажа. Скінінг (skinning) - процес утворення таких зв'язків. У найпоширенішому випадку полігональної сітки кістка асоціюється з групою вершин; наприклад, у моделі людини 'стегнова' кістка пов'язується з вершинами групи полігонів, що утворюють стегно моделі. Ділянку 'шкіри' моделі можна зв'язати з кількома кістками, кодна з яких має фактор розмірності, який називається вагою вершини, або вагою змішування. Таким чином рух шкіри біля 'суглоба' визначається обома кістками. У найбільш досконалих графічних рушіях скінінг виконується на графічному процесорі за допомогою шейдерів.

Отже, у полігональній сітці кожна вершина зберігає вагу змішування для кожної кістки. Для того, щоб розрахувати кінцеву позицію вершини, трансформацію кожної кістки застотовують до початкової позиції, а потім коригують з допомогою відповідної ваги. Цей алгоритм називають палітрою матриць скінінгу, оскільки множина трансформацій кісток(які зберігаються як матриці трансформації) утворює палітру, з якої обирає вершина сітки.

Переваги і недоліки[ред. | ред. код]

Переваги
  • Кістка представляє множину вершин(або інших об'єктів, які утворюють, наприклад, руку).
    • Аніматорові доводиться контролювати меншу кількість характеристик моделі
      • Аніматор може зосередитись на рухові великих масштабів
    • Кістки можуть рухатись незалежно
  • Анімація визначається простим переміщенням кісток, а не повершинно(у випадку полігональної сітки).
Недоліки
  • Не забезпечується реалістичний рух моделі та шкіри. Можливе рішення - спеціальні м'язові контролери, приєднані до кісток

Застосування[ред. | ред. код]

Скелетна анімація - стандартний спосіб анімувати персонажів чи механічні частини на довгий проміжок часу(більше 100 кадрів). Її зазвичай використовують ігрові дизайнери та у кінематографі, але можна застосувати й до механічних пристроїв ті інших об'єктів з рухомими деталями.

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

Якщо захоплення руху використовувати занадто небезпечно, можна скористатись цифровим моделюванням, щоб автоматично розрахувати фізику руху і опору для скелета. Можна додати властивості, що відносяться до віртуальної анатомії, такі як вага кінцівок, м'язова реакція, міцність кісток і рухливість суглобів. Це дозволить виконувати віртуальні трюки - стрибки, вигини, переломи і т.д. Також віртуальна анатомія застосовується у військовій[4] та медичній галузях. Вірутальних солдат, рятівників, пасажирів і потерпілих використовують для тренування, віртуальної інженерії та віртуального тестування спорядження. Технології віртуальної анатомії можуть бути об'єднані з штучним інтелектом для подальшого розвитку анімації та моделювання.

Посилання[ред. | ред. код]

  1. Soriano, Marc. Skeletal Animation. Bourns College of Engineering. Процитовано January 2011. 
  2. [1]
  3. Wloszczyna, Susan (November 26, 2013). With Frozen, Director Jennifer Lee Breaks the Ice for Women Directors. Indiewire. Процитовано 8 January 2014. 
  4. Defense. Santos Human Inc. Процитовано January 2011.