Глава 11 - огляд тривимірної анімації

Огляд тривимірної анімації

Спершу з'ясуємо, що ж таке тривимірна анімація? У двох словах - це виконання дій з одним або декількома об'єктами в тривимірному просторі, що змінюють їх з плином часу будь-яким чином. Думаєте, чому це потрібно вам, розробнику стратегічних ігор? Добре, поясню спеціально для початківців: тривимірний танк у вашій грі буде виглядати не дуже правдоподібно, якщо його гусениці не рухаються, а тривимірний механоидов не виглядає вражаючим, якщо антена його радара не обертається. Щоб зрозуміти як тривимірна анімація вписується в загальну картину розробки ігор, спершу треба засвоїти наступні концепції:

Перше, що потрібно вам для тривимірної анімації - сцена. Сцена це всього лише набір тривимірних об'єктів. Звучить просто, правда? Погляньте на сцену, зображену на рис. 11.1.


Глава 11 - огляд тривимірної анімації

Мал. 11.1. Тривимірна сцена візуалізована в 3ds max

Об'єкти - це джерело життєвої сили тривимірної анімації. Без об'єктів не було б ні сцен ні анімації. Що таке об'єкт? У цьому розділі об'єктом буде називатися тривимірна модель, що складається з полігонів, квітів і текстур. Візьмемо наприклад механоидов, згаданого мною хвилиною раніше. Механоидов, як ви добре знаєте, є броньованого бойового робота. До того ж у розглянутого в прикладі механоидов нагорі є обертається антена радара. Оскільки антена обертається незалежно від руху тіла механоидов, вона є окремим об'єктом. Отже, в цьому прикладі у нас два тривимірних об'єкта: тіло механоидов і антена радара. Хоча ці два об'єкти завжди існують разом, вони повинні бути окремими, щоб ви могли анімувати їх незалежно один від одного. Інший приклад, танк, зображений на рис. 11.2.


Глава 11 - огляд тривимірної анімації

Як бачите, танк складається з вежі, корпусу, гусениць і коліс. Оскільки вежа може обертатися незалежно від корпусу, вона повинна бути окремим об'єктом. Те ж саме справедливо для гусениць і коліс.

фіксовані об'єкти

Інший метод тривимірної анімації полягає в комбінуванні всіх складових модель об'єктів і збереженні змін для анімації в декількох файлах моделей. Цей метод використовується в грі Quake, оскільки реалізувати його набагато простіше, ніж відстежувати стан декількох об'єктів, що становлять єдине ціле. Хоча запрограмувати цей метод простіше, він не завжди буде найкращим, оскільки призводить до повторення однакових фрагментів для кожного кадру.

Ключові кадри

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


Глава 11 - огляд тривимірної анімації

Мал. 11.3. Два кадру танка

На ілюстрації зображено два ключових кадру танка. На лівому кадрі об'єкт вежі знаходиться в початковому стані. На кадрі праворуч об'єкт вежі повернуть на 45 градусів вліво. Як бачите, ключовий кадр це просто знімок об'єкта в певний момент часу. На рис. 11.3 є одна проблема - при наявності тільки двох кадрів не можна показати поступовий розворот вежі. Це елементарно вирішується шляхом додавання додаткових кадрів. Погляньте на рис. 11.4 де представлена ​​більш детальна анімація танка.



Мал. 11.4. Більш детальна анімація танка

Тут в анімації вежі більше ключових кадрів. Замість двох їх стало шість. Це підвищує якість анімації.

Автоматична вставка проміжних кадрів

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


Глава 11 - огляд тривимірної анімації

Мал. 11.5. Автоматична вставка проміжних кадрів при анімації танка

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

анімаційні набори

До теперішнього моменту у вас є сцена, що складається з об'єктів з набором ключових кадрів для виконання анімації. Крім цього озброєння аніматора вам необхідні анімаційні набори. Навіщо? Щоб ваше життя стало простіше. Ви знаєте що йдеться: програмісти за своєю природою ліниві. Саме тому вони завжди намагаються писати програми, для того щоб спростити роботу. Або щоб не купувати вироби інших програмістів. Хто ще працює 26 годин на добу? Жарт. Якщо серйозно, анімаційні набори - хороший спосіб заощадити час при розробці гри. Погляньте на рис. 11.6, де зображені анімаційні набори в дії.


Глава 11 - огляд тривимірної анімації

Мал. 11.6. Анімаційний набір для танка

На рис. 11.6 зображені три анімаційних набору для танка. Верхній називається «поворот вежі вліво», середній - «поворот вежі вправо», а нижній - «відкат знаряддя». Ідентифікувавши таким чином анімаційні набори, ви можете довільним чином комбінувати їх, щоб оживити об'єкти в грі. Візьмемо, приміром, стратегічну гру в якій потрібно, щоб вежа танка повернулася вліво, потім повернулася у вихідне положення, після чого був би зроблений постріл з гармати. Якщо спробувати зробити для цього окрему анімацію, то в результаті у вас будуть тисячі, якщо не мільйони окремих анімацій для зображення кожного можливого сценарію. Завдяки анімаційним наборам ви можете створювати невеликі прості анімації, а потім динамічно об'єднувати їх. Нижче наведено список анімаційних наборів, необхідних для футуристичної гри з боями механоидов.

У списку перераховані назви різних анімаційних наборів, комбінація яких дозволяє реалізувати динамічну анімацію об'єкта. Правда, здорово?

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

Схожі статті