Character studio: 3D живность

3ds MAX содержит огромное количество встроенных возможностей, открывая великие просторы для аниматора. Эти просторы ещё более расширяются при использовании внешних модулей. С одним из них, Character Studio, я и собираюсь познакомить читателя.

Вообще-то MAX предоставляет возможность использовать "bones" для анимации живых персонажей, но, на мой взгляд, возиться с расстановкой "костей" и IK solver'ов слишком утомительно. В Character Studio готовый "скелет" с заданным числом пальцев на руках и ногах, фаланг этих самых пальцев, хвостов и косичек появится в два щелчка мыши. Остаётся лишь подогнать его размеры под персонаж.

Однако я увлёкся. Чтобы проанимировать персонаж, его нужно сначала создать. Этим мы сейчас и займёмся. Создадим небольшого человека, а затем - короткую анимацию с ним в главной роли.

Поскольку создание персонажа - не основная тема статьи, я не буду на ней долго задерживаться. Вкратце опишу лишь два основных метода создания персонажей. Первый из них - создать box с достаточным количеством height, width и length segments, затем преобразовать его в редактируемый mesh (щелчок правой кнопкой по объекту, Convert to>Convert to Editable Mesh). После этого параллелепипед редактируется на уровне подобъектов (vertex, edge, face, polygon). Этот метод достаточно подробно описан в Tutorial к 3ds MAX 4. IMHO, он больше подходит для создания "неживых" объектов.

Следующий метод - создание персонажа при помощи модификатора Surface. Я опишу его по шагам на примере ноги. Для начала начертите при помощи объекта Line контур ноги в боковой проекции или, если Вы имеете этот контур в графическом файле, задайте Viewport background. Сравните свой результат с рисунком 1. Что значит "некрасиво"? Я почти художник, я так вижу! Этот контур будет для нас подсказкой при рисовании ноги. Теперь в проекции Top чертим круг (Create>Shapes>Circle) и при помощи Uniform scale подгоняем его диаметр под диаметр "ноги" в самой верхней точке. Нам нужно отсечь половину круга. Для этого конвертируем его в Editable Spline, на уровне подобъекта Segment выделяем половину круга и нажимаем магическую клавишу Del. При нажатой клавише Shift сдвигаем полученный полукруг вниз и в поле Number of copies вводим 14.


Рисунок 1


Можно больше, можно меньше. Мы, скорее всего, сделаем ещё несколько копий по ходу работы. У вас должно получится нечто похожее на рисунок 2.


Рисунок 2

Теперь при помощи Move, Rotate и Uniform scale размещаем полукруги по всей длине ноги (рисунок 3).


Рисунок 3

Если полукругов не хватает, делайте ещё копии. Самый последний полукруг, находящийся на самом конце ступни, уменьшите до каких-нибудь ничтожных размеров, так, чтобы его даже не было видно, иначе нога превратится в трубу. Большая часть работы сделана. Удалим наш контур (если он у Вас сделан из Line), он нам больше не понадобится. Выделяем самый первый полукруг и на панели Modify ищем кнопочку Attach. Нашли? Кликаем сначала на ней, затем последовательно на всех элементах нашего каркаса.

Не забудьте наш почти невидимый последний полукруг! Дальше всё просто. К полученному большому сплайну применяем модификатор CrossSection, в параметрах которого устанавливаем Smooth вместо Linear. Оркестр, барабанную дробь! Применяем модификатор Surface и получаем "обтянутый" каркас (рисунок 4).


Рисунок 4

Если поверхность "вывернута наизнанку" - отмечаем галочкой "flip normals". Параметр Patch Steps настройте по своему усмотрению. Теперь полученную поверхность конвертируем в Editable Mesh. Почему не Patch? Если бы у меня был Pentium 4 на два гигагерца и 512 МБ памяти, я бы использовал patch. На моём скромном Duron 900 двухминутный ролик с таким персонажем будет рендериться как минимум сутки. Но я опять отвлёкся. Кликнув на кнопку Mirror selected objects на главной панели, выбираем соответствующую ось, в Clone Selection - copy, и получаем отличную зеркальную копию нашей половинчатой ноги. Прикрепить её к второй половине можно при помощи кнопки Attach (кстати, так же эту самую ногу можно прикрепить к туловищу). Далее переходим к подобъектам "vertex" и в проекции Front выделяем все vertex'ы, расположенные вертикально по середине ноги. Кликом по кнопке Weld Selected добиваемся полного слияния половинок ноги (значение счётчика после кнопки Selected, скорее всего, придётся увеличить). К готовой ноге примените модификатор Optimize или MultiRes - всегда нужно стараться сократить количество полигонов в сцене.

Таким же образом создаются туловище, руки и голова. Но перейдём к анимации. Допустим, у нас есть вот такой персонаж (рисунок 5).


Рисунок 5

Давайте создадим для него скелет. На панели Create нажимаем клавишу Systems, далее кликаем на Biped и растягиваем прямоугольник так, чтобы его высота соответствовала росту нашего персонажа. Во вкладке Create задаём необходимое количество пальцев, хвостов и так далее. Чтобы вышеупомянутый персонаж не мешался, выделяем его и во вкладке Display щёлкаем Freeze Selected. Выделяем какую-либо часть скелета и переходим во вкладку Motion. Кликом по кнопке с человечком переходим в режим Figure mode. В этом режиме мы "подгоняем" скелет под размеры персонажа. Выделите центр тяжести (такой ромб внутри таза скелета), переместите его туда, где у Вашего персонажа таз. Кстати, этот самый центр тяжести удобно будет "забить" в Named Selections. Мы будем довольно часто к нему обращаться. Ещё один нюанс при подгонке таких частей тела, как пальцы и хвосты: будет лучше, если их размеры будут превышать размеры пальцев персонажа, то есть слегка "выпирать". Посмотрите, что у меня получилось (рисунок 6).


Рисунок 6

На этой иллюстрации я сделал персонаж полупрозрачным, чтобы скелет был хорошо виден. Можно выйти из Figure mode. Приступаем к самой ответственной части работы. Выделяем наш персонаж и применяем к нему модификатор Physique. Кликнув по кнопке Attach to Node, а затем по нашему центру тяжести (иногда это легче бывает сделать через Select by Name), мы "надеваем" наш персонаж на скелет. Здесь лучше сохранить свою работу. Делаем небольшую проверку: кликаем по кнопке с изображёнными на ней ступнями (Footstep mode), а затем Create Multiple Footsteps>Ok. Последний штрих - Create keys for inactive footsteps. Кстати, чтобы спрятать скелет от посторонних глаз, выделяем тело персонажа и в параметрах модификатора Physique отмечаем галочкой Hide attached Nodes. Опять сравниваем результат с рисунком 7.


Рисунок 7

Подсказка: если персонаж толстоват и руки при ходьбе задевают туловище, вернитесь в Figure mode и расширьте персонажу плечи. Если Вы разместили "кости" правильно, то всяческих "отстающих" от тела точек быть не должно. Если же таковые появились (особенно часто такое случается в районе пальцев), то есть два пути для исправления этого безобразия. Первый, самый простой, но не всегда эффективный - вернуться в Figure mode и "вправить" все неправильно размещённые "кости". Второй - выделить тело персонажа и перейти к модификатору Physique на уровне подобъекта Envelopes. Далее необходимо кликнуть на "проблемной" Envelope и в параметрах, во вкладке Modify увеличить параметры Radial scale, parent и child overlap. Можно рендерить всё в AVI'шку.

Подведём итоги. Мы создали простую анимацию, базирующуюся на шагах (иначе перевести Footstep-driven animation я просто не могу). Теперь давайте её слегка усложним. Для начала перейдём в Footstep mode и, предварительно выделив все шаги, удаляем их одним кликом по кнопке Delete footsteps. Не плачьте, мы новые создадим! Кликаем Create multiple footsteps и в поле Number of footsteps вводим какое-нибудь крупное число, например 15. Дальше как обычно - create keys for inactive footsteps. Теперь наш персонаж проходит в несколько раз большее расстояние! Но это не главное. При создании чуть более сложных движений, чем ходьба, Mesh персонажа будет нам Mesh'ать J. Чтобы избежать этого, выделите его и во вкладке Display кликните Hide selected. Воспроизведите анимацию. Ходьба есть, а что дальше? Допустим, пусть на определённом этапе ходьбы он повернёт голову налево и отсалютует. Пацифисты могут заставить персонаж просто почесать голову.

Приступим к анимации. Прокрутите Time slider примерно до того момента, когда скелет (Вы же спрятали Mesh, не так ли?) будет в районе пятого footstep'а, допустим, кадр 84. Выделите голову скелета (как-то не хочется называть это черепом). Как Вы видите по временной шкале, keyframe'ы у головы присутствуют в момент каждого шага. Давайте при помощи того же Time slider'а посмотрим, где бы нам желательно закончить поворот головы, то есть повернуть её назад. Кадр 174, записали? Выделяем и удаляем все keyframe'ы головы между этими кадрами. Теперь нажмём кнопку Animate и, отсчитав примерно полсекунды от начала поворота (пусть будет кадр 100), поворачиваем голову примерно на 50 градусов влево. При помощи клавиши Shift копируем этот ключевой кадр в кадр 160. Воспроизводим анимацию. Теперь делаем что-то подобное с правой рукой, но кроме поворота придётся воспользоваться перемещением. Посмотрите на скомпонованный мною рисунок 8.


Рисунок 8

Между прочим, к пустой голове (я имею в виду голову, не покрытую головным убором) руку не прикладывают. Чтобы сделать ему кепку/фуражку/колпак, создайте этот объект и просто "прилинкуйте" (select and link) его к голове (к Mesh'у линковать бесполезно). А дальше всё просто - Display>Unhide All; Modify>Physique>Hide attached nodes; Rendering>Render. Кстати, добавив какой-нибудь фон, поставив в направлении поворота головы персонажа фотографию любимого прапорщика и добавив музыку из Army Men можно сделать интересный клип.

Вот и всё. Спасибо за внимание. Если моя статья понравится читателю, я с удовольствием напишу её продолжение, в котором опишу Freeform Animation - анимацию, независимую от Footstep'ов.

Если возникнут вопросы - пишите, мой адрес - maximzinnatov@mail.ru

18 0 850 2
0
RENDER.RU