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б. Теперь при помощи Move, Rotate и Uniform scale размещаем полукруги по всей длине ноги (рис. 1в). Если полукругов не хватает, создаем копии.


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


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


Если поверхность "вывернута наизнанку" - отмечаем галочкой 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 - всегда нужно стараться сократить количество полигонов в сцене.


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

 


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


Еще один нюанс при подгонке таких частей тела, как пальцы и хвосты: будет лучше, если их размеры будут превышать размеры пальцев персонажа, то есть слегка "выпирать". Посмотрите, что у меня получилось (рис. 3).

 


 На этой иллюстрации я сделал персонажа полупрозрачным, чтобы скелет был хорошо виден. Можно выйти из Figure mode.


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


отмечаем галочкой Hide attached Nodes. Опять сравниваем результат с рис. 4.

 


 Подсказка: если персонаж толстоват, а его руки при ходьбе задевают туловище - вернитесь в 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'ать :). Чтобы избежать этого, выделите его и во вкладке Display кликните Hide selected. Воспроизведите анимацию. Ходьба есть, а что дальше? Допустим, пусть на определенном этапе ходьбы он повернет голову налево и отсалютует. Пацифисты могут заставить персонажа просто почесать голову.


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

 


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

2004.06.25
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".