К «сложной» анимации принято относить два типа — использование скелетов и работу с множеством частиц/сложной деформацией объектов. Сегодня мы поговорим о скелетной анимации, которая используется повсеместно…
Сама суть скелетной анимации — автоматизация трудоемких процессов. Ведь не секрет: для того, чтобы показать шагающего персонажа нужно следить за множеством параметров, работать на полигональном уровне с изменением пропорций графических примитивов. Причем именно эта работа очень сложна особенно в современных условиях, когда используются объекты с огромным количеством составных элементов. Но… не трудно догадаться, что все эти изменения пропорций можно описать общими математическими законами, и это сильно облегчает задачи моделлеров и аниматоров.
LightWave3D отличается по концепции от других систем 3D-моделирования и анимации, потому как сама программа разделена на две ключевые отдельные части — Modeler и Layout. Это обуславливает удобное разграничение рабочих процессов, но при этом Modeler гораздо сильнее по функциональным возможностям нежели Layout. Причем в Layout вы можете явно увидеть процесс работы с костями (Bones), но создавать скелеты удобнее при моделировании, а не при формировании сцены. Очень многие из тех, кто только начал освоение LightWave3D, но при этом имеющие опыт общения с другими трехмерными пакетами столкнулись с проблемой: в Layout работа с созданием скелетов выглядит достаточно трудоемкой, а иногда и совсем не понятной. Каков выход?
На самом деле он прост, потому как в Modeler предусмотрен промежуточный вариант — скелегоны. Что это и с чем едят? Давайте рассмотрим на конкретном примере.
Создание скелета в Layout…
Для начала смоделируем обычный цилиндр (инструмент Disk) в Modeler’e. Напомним, что в LightWave 3D эффективно работать с использованием "горячих" клавиш.
- Запускаем Modeler и Layout. Переходим к Modeler.
- Включаем инструмент Create -> Disk.
- Рисуем произвольно фигуру цилиндра.
- Не закрывая ее Enter’ом, вызываем окно свойств формируемого объекта (нажимая на кнопку Numeric или просто «n» на клавиатуре).
- Выставляем, к примеру, следующие параметры: кол-во сторон (Sides) — 24, кол-во сегментов (Segments) — 12, Bottom — 0 м, Top — 3 м, центр Х — 0, центр Y — 0, центр Z — 1. Желательно, чтобы вы повторили выбранные параметры, и у вас получилось именно то, что изображено на рисунке.
- Выходим из окна Numeric, нажимаем Enter, сохраняем объект под именем Cyl001.lwo.
- Не выходя из Modeler, передаем объект в Layout (крайняя правая верхняя кнопка с выпадающим меню, из которого выбираем пункт Send Object to Layout).
- Переходим в Layout и видим нашу модель. В меню окна отображения выбираем вид Right (ZY), а в качестве отображения для удобства возьмем вариант Wireframe (цилиндр отобразится в виде каркаса).
- Нажимаем на клавиатуре «=», в меню выберем название первой кости, иногда ее называют «родительской», потому как последующая на автомате будет наследовать ее свойства и иметь с ней «родственные» связи. Назовем ее «Bone1».
- На изображении появилась первая кость, чтобы войти в ее свойства нужно нажать «p», либо просто выйти в окно Properties через нижнее меню управления. В данном случае не будем ничего менять, потому как по умолчанию стоит длина (Rest Lenght), равная 1 м, а у нас цилиндр высотой в 3 м, а костей мы будем делать тоже три. В данном случае может быть уместно поставить активным флажок Bone Active.
- Нажимаем «=», создаем еще одну кость, повторяем операцию еще раз и получаем третью.
- Все, теперь мы можем деформировать объект по своему усмотрению по трем костям, растягивать сжимать, вращать в рамках трехмерного представления.
Сами точки соединения костей в данном случае не принципиальны, то есть, кости можно относить на расстояние друг от друга. Этот момент интересен для первого знакомства и экспериментов, но на практике вы будете использовать множество дополнительных возможностей, касающихся, например, параметров изгиба с эмуляцией мускулатуры и так далее.
Создание скелета в Modeler
Итак, предыдущие действия мы выполнили за 12 пунктов. Теперь обнулите (закройте) сцену в Layout и перейдите к нашему цилиндру в Modeler. Будем создавать скелегоны. Делаются они очень просто: закладка Setup -> Create Scelegons. После чего мы просто шаг за шагом указываем мышью точки разбиения объекта на кости (будущие кости:)).
Сохраняем наш объект и переносим в Layout. Теперь уже в Layout’е входим в закладку Setup и выбираем -> Convert Selegones into Bones. Все, наш скелет создан, и гораздо быстрее. Данная методика, хоть и быстра, но имеет один недостаток — нет обратного хода, то есть вы не сможете потом этот скелет редактировать в Modeler’e, причем скелегоны и кости имеют разные свойства, и в более расширенном представлении они отражены в Layout.
Но, в принципе, по существу все очень удобно. Например, вы смоделировали некоего персонажа: человека, робота, паука, правильно сформировали скелет и все — переводите объект в Layout, транслируете скелегоны в «кости» и занимаетесь непосредственно анимацией. И, конечно, зря очень многие находят в таком разбиении непонятность, на самом деле к такому варианту очень быстро можно привыкнуть.
Анимация
Анимация скелетов происходит точно также как и с обычными объектами, то есть вы можете менять в различных режимах вращение, смещение и т.п. Ваши модели «оживут» в буквальном смысле этого слова.
При этом стоит отметить один важный момент, который актуален для скелетной анимации. В ее рамках вы часто работаете с так называемой прямой кинематикой. Другими словами, например, чтобы поднять руку модели, в которой что-то находится, вы смещаете сначала плечо, потом предплечье, а после и кисть. Но в большинстве случаев, даже часто не совсем осознанно используется инверсионная или инверсная кинематика (IK), в рамках которой вы изначально изменяете положение кисти, а весь остальной «скелет» также меняет месторасположение других костей согласно определенным законам и родительским связям. Почему на этом стоит заострить особое внимание? Именно потому, что некоторые аниматоры неосознанно используют IK, думая, что так все и нужно, и не заостряют вопросы «естественности». Например, вы часто можете встретить анимации, в которых персонажи неестественно ходят и двигаются, хотя по идее их движения должны быть более натуральными. На самом деле нужно поменьше увлекаться автоматизацией и иногда работать руками и головой.
Кстати, инверсная кинематика — это практически бич 2D-анимации, в случаях, когда используются пакеты, предусматривающие наличие скелетов. Конечно, рисовать тогда нужно гораздо меньше, на все тратиться мало времени, но результаты… В принципе, неправильное использование инверсной кинематики видно сразу, а хорошие и качественные продукты на особом счету.
Для практического освоения материала рекомендуется использовать примеры сцен из того, что поставляется с программой.
Модель лягушки поворачивает голову (скелет), открывает рот (изменение размеров) и выстреливает языком (изменение размеров объекта, траектория), захватывает наживку (наживка по траектории). Вид от камеры, источник света в верхнем углу слева.
Скелетная анимация собаки
|