Иллюстрированный самоучитель по анимации персонажей в 3ds max

         

Бедра и ягодицы


Иногда области бедер и ягодиц доставляют столько же проблем, сколько и область плеч: они должны обеспечивать всевозможные движения ног. Больше всего внимания нужно уделить области ягодиц. Убедитесь, что при движении ноги вперед и назад форма большой ягодичной мышцы остается сплошной (рис. 1.41).


Рис. 1.41. Чтобы обеспечить анимацию ног, нужно добавить геометрию в области бедер и ягодиц

Не присоединяйте верхние части ног к области паха. Оставьте в этой области пробел, чтобы гарантировать верное движение персонажа. Тогда при движении ноги будут выглядеть так, как надо. Это главным образом справедливо для движений в боевом искусстве. Особое внимание также уделите передней части бедер там, где верхняя часть ноги Biped присоединяется к тазовой области.



Что такое экземпляр


Теперь, когда вы вооружены всеми данными, необходимыми для создания персонажа, пришло время произвести некий экземпляр, с помощью которого и будет построен объект1. Существует два способа создания экземпляра: свободный и жесткий. Выбор подхода в большой степени зависит от позы и окончательного вида модели; каждый способ - это личное предпочтение художника. Betty Bad была создана с помощью свободного подхода (рис. 1.4).


Рис. 1.4. Для создания Betty Bad был выбран свободный подход

«Осанистая привлекательная героиня-хулиганка, быть может, с ружьем, которое входит в ее боевое снаряжение, со взглядом, напоминающим взгляд воина из комиксов «British 2000 A.D.» или из фильма «Judge Dredd» (Судья Дредд)».

Уровень детализации экземпляра в этом описании оказался достаточным для того, чтобы сконструировать персонаж Betty Bad. Если художник, создающий модель, не ограничен в выборе дизайна, то свободный экземпляр такого типа вполне подойдет. Если же создаваемый персонаж должен напоминать по форме уже известный, то придется применить другой подход. Чтобы достичь нужного уровня детализации, когда это требуется, лучше представить себе экземпляр, больше напоминающий плоскую диаграмму, а не рисунок. Экземпляр, основанный на сложной позе, подходит для большинства моделлеров. однако всегда остается риск потерять или изменить что-то в первоначальном представлении персонажа, если этот способ используется как основа для построения сетки. Посмотрите, например, на некоторые изображения персонажа по имени Рыжая Моника (рис. 1.5).


Рис. 1.5. На эти рисунки с Рыжей Моникой приятно смотреть, но они не подходят в качестве экземпляров для создания модели

Она - весьма полногрудая роковая женщина из комиксов Джо Мадейры (Joe Madeira) под названием «Battle Chasers» (Искатели сражений). Чтобы построить модель персонажа, соответствующую такому дизайну, нужно воспользоваться более жестким экземпляром, чем просто высокохудожественная иллюстрация из комиксов. Нужно создать диаграмму персонажа (рис. 1.6).


Рис. 1.6. Здесь показан более жесткий, схематичный экземпляр и результат его применения

Самое главное при выборе экземпляра - воспользоваться тем, который вам удобнее. Если вам нравится небрежный набросок на салфетке и моделлер с этим согласен - пусть будет так. Если же требуется чрезвычайная точность, примените более схематичный подход. Это гарантирует, что моделлер воссоздаст персонаж наиболее правдоподобно.

 



Дизайн


Дизайн - отправная точка при построении персонажа, он должен быть заранее проработан до мельчайших деталей на бумаге, в глине или в программе Photoshop. Моделировать из образов, возникших в голове, - весьма полезный навык, но наличие некоего физического воплощения этого образа всегда гарантирует, что дизайн адекватен для персонажа. Визуализация персонажа должна целиком передавать его особенности, будь то просто набросок или проработанное изображение. В то же время хороший набросок, достаточно впечатляющий и обеспечивающий уникальную и интересную узнаваемость, также должен быть выполнимым. Работать приходится при ограничениях используемой технологии создания игр, и персонаж должен гармонично вписываться в мир игры, для которого он предназначен. Поэтому, создавая дизайн персонажа, прежде всего нужно помнить об эстетических требованиях, о технических ограничениях и об экземпляре (reference).

 



СОЗДАНЫ, ЧТОБЫ ДВИГАТЬСЯ


СОЗДАНЫ, ЧТОБЫ ДВИГАТЬСЯ

Дизайн

Эстетические требования

Технические ограничения

Что такое экземпляр

Моделирование: форма

Использование экземпляра Основные советы по моделированию

Методы моделирования

Использование примитивов

Выдавливание форм или граней

Использование булевых операций

Шаблон сетки с высоким разрешением

Патчевое моделирование с помощью инструментов Surface Tools

Работа над поверхностью

Оптимизация

Моделирование: функция

Схема модели

Создание анимации

Шея и голова

Плечи

Талия

Бедра и ягодицы

Локти и колени

Ладони и пальцы

Запястья и лодыжки

Подгонка объекта Biped

Текстура: карты

Обзор UVW

Качество текстуры

Резюме

 



Использование булевых операций


Другой полезный способ моделирования - использование булевых операций. При этом методе для достижения нужной формы используются объединение, вычитание или пересечение двух объектов. Этот метод подходит для соединения конечностей с туловищем или для присоединения ног к тазовой области. Единственным недостатком использования булевых операций является то, что создается избыточная геометрия, которую приходится подчищать. Например, посмотрите на рис. 1.16. Когда бедра и ноги Betty построены и полностью завершены (А), их располагают так, чтобы они пересекались (В). После того как их объединят с помощью логической операции Union, создается лишняя геометрия С). Betty получает ноги после вычищения геометрии, настройки формы с последующим зеркальным отображением соответствующих граней (D).


Рис. 1.16. С помощью булевых операций геометрия создается быстро, но ее приходится вычищать

Прежде чем применять булевы операции, убедитесь, что вся геометрия замкнута. Чтобы замкнуть любую из открытых частей, воспользуйтесь модификатором Cap Holes (Закрыть отверстия) или вручную постройте грани. Если вы не замкнете открытые области, метод, возможно, не будет работать или результаты будут не совсем такие, как вы ожидали.

 



Использование экземпляра


В 3ds max есть несколько способов использования экземплярного изображения. Вы можете поместить одно из них на фон, отобразить на плоскость на экране или же вывести его с помощью пиктограммы Asset Browser (Обозреватель ресурсов), которая доступна на панели команд Utilities (Утилиты), - рис. 1.7.


Рис. 1.7. С помощью модуля Asset Browser в 3ds max можно просмотреть изображения из любой папки

Просматривать экземпляр с помощью модуля Asset Browser удобно потому, что во время построения можно видеть и сетку, и изображение, которое является ее основой. Однако лучший способ применения экземплярных изображений - это преобразование их в трехмерный контур. Для этого перенесите в 3ds max изображение как фоновое изображение окна проекции. Затем с помощью инструмента Line (Линия) очертите контуры изображения и создайте трехмерную версию экземплярного рисунка или картинки. Заметьте, что, прежде чем переносить рисунок в 3ds max, нужно его подготовить: затените его и измените его размер в Photoshop или в любой другой программе-редакторе двумерных изображений (рис. 1.8).


Рис. 1.8. Подготовьте экземпляр прежде, чем переносить его в 3ds max как фоновое изображение

На рис. 1.8 можно увидеть, что исходный набросок Betty затемнили, ногу переместили так, чтобы моделлер мог получить наилучшее представление, а размер изображения был изменен с целью установить пропорции 2:1 (в данном случае 512x256 пикселей). Эти дополнительные шаги гарантируют, что после переноса изображения на фон 3ds max и отображения его с помощью видеокарты с аппаратным ускорением точность изображения будет наивысшей.

Перенесите изображение на фон: откройте выпадающее меню Views (Виды) и щелкните по пункту Viewport Background (или просто нажмите сочетание клавиш Alt+B). Загрузите экземпляр, щелкнув по кнопке Files в верхней части окна Viewport Background (Фон окна проекции) и отыскав соответствующий файл с изображением. Когда файл загрузится, убедитесь, что опции переключателя Match Bitmap (Подгонка под растровое изображение) - Display Background (Отображать фон) и Lock Zoom/ Pan (Закрепить масштабирование/панорамирование) - отмечены флажком (рис. 1.9).




Рис. 1.9. В 3ds max очень легко перенести изображение на фон окна проекции

Щелкните по кнопке ОК - и изображение с правильными пропорциями и с фиксированным размером по отношению к элементам управления окна появится на фоне окна проекции. Если в окне проекции отображается координатная сетка, а вы хотите лучше рассмотреть изображение, выключите сетку. Это можно сделать, нажав на клавишу G.

Если по каким-то причинам изображение не появилось, когда вы пытались перенести его на фон окна проекции, вернитесь в меню Views и щелкните по пункту Update Background Image (Обновить фоновое изображение) или нажмите сочетание клавиш Alt+Shift+Ctrl+B (рис. 1.10).



Рис. 1.10 Иногда, чтобы показать фоновое изображение, нужно приложить немного усилий

Когда фоновое изображение перенесено в 3ds max, очертите его контуры инструментом Line, который находится на панели Create | Shapes (Создать | Формы). Убедитесь, что напротив опции Start New Shape (Начать новую форму) нет флажка, иначе вы создадите букет отдельных линий (рис. 1.11).



Рис. 1.11 Чтобы в дальнейшем не соединять линии в одну форму, снимите флажок с опции Start New Shape

Создавая линию, не задумывайтесь о ее сложности: она будет использоваться лишь в качестве экземпляра.

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

После того как контур изображения нарисован, выключите фоновое изображение, дайте линии название Guide (Направляющая) и используйте полученную форму в качестве вспомогательной для создания модели в любом виде (рис. 1.12).



Рис. 1.12. Трехмерный контур экземплярного наброска поможет вам при создании модели в любом виде

Лучший способ детально проследить свою работу - это нажимать клавишу W при моделировании в одном демонстрационном окне. Вы даже можете убрать командную панель, нажав на клавишу 3, чтобы освободить больше места1". А если вы считаете себя смельчаком, нажмите сочетание клавиш Ctrl+X - и все меню, кроме самой верхней строки, исчезнут.

Если экземплярные изображения сохранены на жестком диске компьютера, то перенести их в 3ds max не составит труда. Однако, если эти изображения не были созданы в графической программе или программе для рисования, такой как Photoshop, вам понадобится приличный планшетный сканер, чтобы перенести цифровую копию в 3ds max (цена на качественные сканеры падает, поэтому приобретение его с годами окупится). Использование экземпляра независимо от того, как вы перенесли его в 3ds max, всегда приводит к более цельному и точному следованию дизайну. Таков первый шаг к созданию и поддержанию формы. После того как вы завершите работу с экземпляром, можно переходить к моделированию.

 

Использование примитивов


Этот метод - подход к моделированию в соответствии с условием: «Дайте мне достаточно материала для работы». Во всех пакетах моделирования есть огромное число примитивов (primitive), с которыми можно работать, придавая им любую форму, например параллелепипеда, цилиндра, сферы.

Один из лучших примеров этого метода моделирования - совместное использование цилиндра и экземплярной направляющей для построения ноги (рис. 1.14). Для начала нужно создать достаточное число сторон и сегментов цилиндра (А), примерно соответствующее количеству вершин в опорной линии (сегментов); затем они в грубом приближении подгоняются при помощи простых трансформаций, чтобы соответствовать направляющей (В). Настроив форму в виде спереди так, чтобы она соответствовала перспективе направляющей, измените геометрию ноги с помощью разделения ребер, перемещения положений и вершин. Таким образом, форма оптимизируется и завершается (С).


Рис. 1.14. Из примитивов можно создать основную форму, а затем изменить ее так, как нужно

 



Эстетические требования


Эстетические требования - это то, как вы представляете внешний вид, как понимаете красоту. Эстетично то. о чем вы могли бы сказать: «Это классно». Возраст, вкус, образование, любимые фильмы, игры и произведения изобразительного искусства определяют это представление. Аниме и манга - весьма хорошие источники для творческого вдохновения при создании персонажей игр в реальном времени, особенно это касается работы традиционного моделлера и удивительного дизайнера персонажей Ясуши Нирасава (Yasushi Nirasawa). Стоит упомянуть также художников, работающих в стиле фэнтези и научной фантастики: Оскара Чичони (Oscar Chichoni), Брома (Brom), Саймона Бисли (Simon Bisley), Льюиса Ройо (Luis Royo), художника вселенной WarHammer Кевина Уолкера (Kevin Walker) и сотрудников Mutant Chronical Алессандро Хорли (Alessandro Horley) и Пола Боннера (Paul Bonner). Они работают в живом художественном стиле, все персонажи, созданные ими, весьма выразительны.

Каждый человек по-своему определяет то, что радует его глаз, но есть несколько факторов, которые влияют на эстетичность дизайна персонажа игр и/или ею управляют. Прежде всего, дизайн должен быть уникален, а также соответствовать письменному описанию (в той или иной форме), которое к нему прилагается. Даже по умышленно банальному описанию («Создайте такой же персонаж, как в игре X...») можно создать яркий, индивидуальный персонаж, если не пожалеть времени и хорошо его обдумать. Уникальность определяется не только в сравнении с персонажами, созданными ранее, но также по отношению к другим персонажам той же игры. Простой способ подчеркнуть индивидуальность персонажей -использовать различные цветовые комбинации, но самый эффективный метод создания персонажей, узнаваемых и отличимых друг от друга, - воспользоваться принципом силуэта. Рис. 1.1 иллюстрирует разницу в дизайне нескольких врагов из Betty Bad.


Рис. 1.1. Просмотр силуэта персонажа помогает достичь уникальности. Он должен стать неотъемлемой частью процесса разработки дизайна


При формировании группы уникальных персонажей используется один прием. Это разработка общих правил и характеристик для создаваемых персонажей. Например, в игре Betty Bad чужаки отличаются по размеру и конфигурации, но у всех есть общий элемент дизайна - яркое пятно (глаз или отверстие). Почти всегда это пятно красного цвета, но иногда его цвет меняется. На рис. 1.2 показаны лишь несколько из множества персонажей, которые при разработке Betty Bad создал с помощью этого обычного дизайнерского приема известный художник и дизайнер, работающий по контракту, Ричард Хескокс (Richard Hescox), www.richardhescox.com.



Рис. 1.2. Некоторые элементы дизайна персонажей должны различаться при сохранении общего единообразия последних

Кроме того, важно понять, соответствует ли дизайн персонажа жанру игры, будь то научная фантастика, фэнтези или вестерн. И наконец, на дизайн оказывает сильное влияние итоговое число полигонов персонажа, хотя это можно отнести и к техническим ограничениям. Персонажи игр в реальном времени имеют полигональную природу, поэтому добиться убедительно естественных мускулистых форм, развевающихся одежд или волос трудно, если персонаж составлен менее чем из 1000 треугольников.

 

Качество текстуры


Получение хорошей текстурной карты при создании персонажей игр в реальном времени - процесс субъективный, и он становится все субъективнее при рождении персонажа. По-настоящему великие художники просто начинают рисовать и не останавливаются до тех пор, пока их цифровое произведение не будет завершено. Художники по текстуре Джон Мюллер (John Mueller) и Стив Гарофало (Steve Garofalo), работавшие с Epic Games, проделали (и продолжают выполнять) потрясающую работу над моделями персонажей игр, таких как Unreal Tournament и готовящейся к выпуску Unreal Warfare. Эти художники обладают врожденной способностью работать с пикселями и текстурами так же, как если бы рисовали с помощью обычных инструментов.

Создать хорошую текстуру можно при условии знания сетки. В идеале вы создаете дизайн персонажа, строите его модель, текстурируете и ани-мируете. Однако в современном мире создания игр и онлайновых технологий, с его быстрыми темпами, редко кто имеет роскошь (или возможность) владеть всеми четырьмя областями. Предпочтительнее такой сценарий: художник разрабатывает набросок и отдает его моделлеру, затем моделлер возвращает созданную модель художнику, который разрабатывает для нее текстуру и проекционные координаты. Далее моделлер или другой аниматор будет собирать, задавать веса точек и анимировать персонаж. Такого рода «перепасовки» весьма обычны среди голливудских разработчиков спецэффектов. К сожалению, во многих студиях-разработчиках игр считается, что один человек должен делать все. Специализация обычно не приветствуется, и предполагается, что все художники должны одинаково хорошо уметь создавать дизайн, моделировать, текстурировать и анимировать персонаж. Эту ситуацию хорошей не назовешь ни с точки зрения продуктивности, ни с какой-либо другой: художники становятся конкурентами, каждый стремится быть лучшим, незаменимым. Это плохо сказывается на морали и на здоровье амбициозных хитрецов.

У каждого художника есть свои предпочтения и область специализации. Некоторые просто работают лучше других в определенных областях. Каким бы заманчивым ни казалось разбрасывание в попытке войти в «десятку сильнейших» во всех областях искусства создания игры - в основе своей это плохая идея. Безусловно, вы должны знать все рассматриваемые вопросы, быть в них компетентными - именно в этом и проявляется способность «работать в команде». Четыре художника, которые являются лучшими в каждой из четырех областей по отдельности, вместе составляют лучшую команду художников, которую можно представить: дизайнер, моделлер, художник по текстуре и аниматор. Команда из двух художников - дизайнер/художник по текстуре и моделлер/аниматор - просто необходима. Хороший художник имеет достаточное представление об областях, лежащих вне его компетенции, и может упростить работу коллеги, но внимание свое заостряет на том, чтобы наилучшим образом выполнять свои собственные обязанности.


Независимо от того, кто выполняет художественную работу, она должна быть самой лучшей и адекватной для разрабатываемого персонажа игры в реальном времени. Она должна поместиться на минимально возможном числе страниц текстуры - это сократит количество расчетов в игровом движке, когда он загружает сцену. Также необходимо использовать преимущества прозрачности, отражения или даже отображения шероховатостей, если это требуется.

Не забывая обо всем этом, загрузите файл Head2.max и изучите проецирование, примененное в конечном итоге (рис. 1.55).

Заметьте, что координаты UVW были изменены, чтобы воспользоваться преимуществом функции зеркального отображения внутри модификатора Unwrap UVW. В этом случае текстурная карта, примененная к голове, показывает половину изображения черной, потому что остальная часть текстуры персонажа в конце концов должна будет также поместиться на странице текстуры. Текстура Betty Bad такая же, она дает представление о том, как будет спроектирован весь персонаж (рис. 1.56).

Обе текстуры, показанные на рис. 1.56, были созданы в приложении Photoshop и применены к сеткам последовательными шагами. Добавьте немного текстуры и посмотрите, что получилось; слегка измените карту, проекционные координаты; продолжайте, пока не добьетесь хорошего результата. Переходить из Photoshop в 3ds max и обратно - просто, если ваш компьютер (или несколько компьютеров) достаточно мощный, но не забывайте, что использование обеих программ в одно и то же время приведет к значительному расходу системных ресурсов. В процессе текстуриро-вания вам могут существенно помочь и другие программы трехмерного рисования, например Right Hemisphere's Deep Paint.



Рис. 1.55. С помощью текстурных карт с картами прозрачности можно создать убедительно выглядящую голову с волосами

Что касается качества текстурной карты, то успех всего произведения определяется талантом, воображением и чувством рациональности. Убедитесь, что текстура отображается при анимации. Текстура в виде тени на внутренней стороне бедра персонажа в статической среде выглядит прекрасно, но когда среда освещается и затеняется динамически (а так и бывает на большинстве игровых движков), та же самая неестественная тень может выбиваться из общего вида и отрицательно влиять на качество персонажа.



Рис. 1.56. Текстурная карта Betty Bad рационально заполняет растровый файл

 

Ладони и пальцы


Настоящие пальцы (то есть отдельные друг от друга) у персонажей игр в реальном времени встречаются очень редко. Обычно ладонь имеет форму варежки, которую можно текстурировать и сделать похожей на пальцы (рис. 1.43).

Но если вы создаете пальцы, нужно добавить и суставы пальцев, чтобы обеспечить правильную анимацию, а также геометрию аналогично тому, как это делается для локтей и коленей (рис. 1.44).


Рис. 1.43. Для большинстве персонажей игр в реальном времени применяются «варежки»


Рис. 1.44. Вы видите руку Betty с пятью пальцами

 



Локти и колени


С локтями и коленями работают по тем же правилам. При присоединении руки (или ноги) необходимо создать достаточное количество геометрии, чтобы рука при движении не накладывалась сама на себя (рис. 1.42).


Рис. 1.42. Чтобы форма сустава не менялась, воспользуйтесь дополнительной геометрией, которая «раскроется веером» при соединечии конечностей

 



Методы моделирования


В 3ds max (как и в других пакетах моделирования) есть несколько способов достижения одной и той же цели. Лучшим подходом моделирования персонажей игр в реальном времени является полигональное моделирование (polygon modeling). Патчевое моделирование (patch modeling) особенно полезно при создании естественной геометрии или геометрии мягкой поверхности, например волос, одежды или волнистых поверхностей, как вода. Другие методы моделирования, такие как неоднородные рациональные В-сплайны (NURBS) и поверхности разделения, также эффективны и ценны. Но они больше подходят для высокодетализированных, а не низкополигональных игровых персонажей. Моделирование на уровне объекта или подобъекта с использованием вершин, ребер и граней - безусловно, лучший способ управлять сложностью поверхностей и, что более важно, формой модели персонажа.

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

 



Моделирование: форма


В основе прекрасной анимации персонажей лежит хорошо построенная модель, где правильно продуманный дизайн успешно воплощен в трехмерном объекте. Самый важный аспект модели с этой точки зрения - ее форма. Если давать четкое определение, то форма характеризуется распределением вершин, ребер и граней. В хорошей модели персонажа игры в реальном времени вся геометрия используется лаконично и эффективно -все вершины важны. Первым шагом на пути создания нужной формы является оптимальное использование экземпляра, на создание которого вы потратили так много времени.

 



Моделирование: функция


Форма персонажа игры в реальном времени определяет то, как он будет выглядеть, а функции - то, как форма будет деформироваться при выполнении анимации. Функцию очень важно учитывать при построении модели персонажа. Ведь персонажи игр в реальном времени - не неподвижные статуи, восхищающие своей художественностью. Напротив, они должны убедительно двигаться, как живые создания. При движении им придется поворачиваться, растягиваться, сгибаться и вообще деформироваться должным образом - и все это при условии ограничения числа полигонов. Чтобы сетка персонажа имела нужную функциональность, она должна одновременно обеспечивать доступ к вершинам во время задания веса и соответствовать всем технологическим ограничениям, наложенным игровым движком. Однако важнее всего то, что сетка должна соответствовать анимации геометрически и быть выровнена правильно по объекту Biped (Двуногий) во время создания каркаса (rigging) и задания веса в character studio.

 



Обзор UVW


Проекционные координаты обозначаются в соответствии с тремя пространственными осями отображения, которые известны как UVW. (Эти оси можно было бы .задать любой последовательностью букв. Они названы так потому, что буквы UVW предшествуют XYZ в английском алфавите. Буквы X, Y и Z, конечно, обозначают три пространственные оси декартовой системы координат.) Каким бы хорошим художником вы ни были, если вы не натянете холст правильно, то не получите произведение искусства, к которому стремитесь. Так же и с персонажем игры в реальном времени. Вы должны быть уверены, что проекционное покрытие, определенное для персонажа, тщательно продумано, завершенно и эффективно, тогда вы обеспечите себя наилучшим холстом, на котором сможете создать текстуру.

Ниже описан один из многих способов применения проекционных координат к модели. Он эффективен, но не бойтесь попробовать и другие. Для начала представьте себе модель в частях как набор плоских изображений, собранных в трехмерном пространстве, которые аппроксимируют нужный вам вид. Плоские изображения представляют собой проекционные плоскости или проекции текстурной карты, которые, если их собрать вместе, составят развертку модели.

Загрузите файл Head 1.max (рис. 1.47).


Рис. 1.47. После того как модель построена, ее нужно текстурировать

Сетка, изображенная на рис. 1.47, представляет собой голову персонажа с большим числом полигонов. Команда Detach to Element была применена к ее граням, которые выступают в роли разделителей листов с полигонами, а они, в свою очередь, образуют уникальную плоскую проекцию. Процесс применения проекционных координат начинается с проверки того, что элементы на самом деле отсоединены и их можно перемещать (рис. 1.48).

Расположите все элементы так, чтобы они были максимально видны в окне проекции Front (Спереди). Таким образом, окно проекции по существу становится окном плоской проекции модели. Чтобы поставить элементы на место, воспользуйтесь командой Snap (Привязка) или Snap to Vertex (Привязка к вершине), но будьте осторожны и не нарушьте то выравнивание вершин, которое присутствовало, когда они были одним целым.




Рис. 1.48. Расположите элементы так, как если бы их развернули, словно кожуру апельсина

Очень важно убедиться, что вы применили модификатор Edit Mesh до того, как начали изменять положение элементов. Данный метод основывается на возможности выключить модификатор Edit Mesh, если применены модификаторы. UVW Map (UVW-карта) или Unwrap UVW (Развернуть проекционные координаты). Можно запросто начать перемещать элементы, вообще не применив к стеку модификатор Edit Mesh.

Затем выделите вершины на границе тех элементов, которые вы хотите присоединить так, чтобы образовать непрерывную поверхность. Вызовите окно Transform Type-In (Точное масштабирование), выбрав пиктограмму Scale Transform (Преобразование масштабирования) и щелкнув по ней правой кнопкой мыши (рис. 1.49).



Рис. 1.49. Окно Transform Type-In - прекрасный способ точно изменять размеры объектов или подобъектов, перемещать их и поворачивать

В полях раздела Offset Screen (Экранное смещение) введите значения 0 - и выделенные вершины сразу же сожмутся и сойдутся в одну точку, но не будут объединены. К сожалению, в этом состоянии вы совершенно не можете слить или каким-либо другим образом соединить вершины элементов. Это нарушит замысел метода, так как изменится суммарное число и нумерация вершин сетки. Возможность уменьшить размер вершин путем ввода значения 0 является одним из преимуществ использования метода проецирования вместо модификатора Unwrap UVW. После того как уменьшен масштаб вершин, а элементы соединены друг с другом, сетка должна иметь вид, который представлен на рис. 1.50.



Рис. 1.50. Масштабируйте вершины элементов, чтобы сетка стала непрерывной поверхностью

Чтобы разместить элементы, воспользуйтесь модификаторами Edit Mesh. Убедитесь, что при применении нового модификатора не выделены подобъекты - это отрицательно скажется на конечном результате.

Теперь сетка - поверхность непрерывная, и швов в текстурном покрытии не будет. Однако конечные элементы1 искривлены, и их тоже нужно сшить или задать им повторяющиеся узоры (tile). Для этого просто плавно переместите элемент справа налево вдоль оси X и соедините вершины на стыке двух элементов (рис. 1.51).



И наконец, расположите остальные элементы так, чтобы сетка имела полностью бесшовный на краях и однородный проекционный вид (рис. 1.52).

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



Рис. 1.51. Выровняйте конечные элементы, чтобы соединить проекции на задней части головы



Рис. 1.52. К такой сетке можно применить плоское проецирование

При визуализации сетки, к которой применен каркасный материал, ребра нужно выделить и сделать видимыми (рис. 1.53).



Рис. 1.53 Сделайте ребро видимым, иначе оно не будет отображаться при визуализации в режиме каркаса

Если сетка искажена, как меркаторова проекция Земли1, то к ней можно применить модификатор UVW Map. Измените пропорции контейнера проецирования объекта на квадратные, чтобы подогнать объект по конечной текстурной карте размером 512x512 (рис. 1.54).



Рис. 1.54. Если элементы расположены в нужном порядке, примените к ним модификатор UVW Map

На данном этапе размер изображения не так важен. Гораздо важнее то. что контейнер проецирования имеет квадратную форму. Другими словами, если контейнер квадратный, то проецирование в конечном итоге сможет соответствовать правилу «степени двух» (то есть текстура будет иметь размер 512x512 или 256x256). Визуализируйте объект при достаточно высоком разрешении, чтобы затем понижать его до нужного, а не повышать.

Применив карту, используйте и модификатор Unwrap UVW, чтобы привязать проекционные координаты к сетке. Визуализируйте каркасное изображение или сделайте снимок экрана - вы получите основное изображение, которое нужно применить к сетке, и сможете работать исходя из него при создании настоящей текстуры. Как только материал будет сделан, примените его, выключите все модификаторы Edit Mesh (но, конечно, не выключайте модификаторы UVW Map и Unwrap UVW). Сетка обретет исходную форму, но сохранит новые проекционные координаты. А вы сможете посмотреть, нет ли на спроецированной текстуре дефектов. Если они есть, просто снова включите модификаторы Edit Mesh и настройте их (или настройте модификатор Unwrap UVW). Если покрытие вас устраивает, можно приступать к созданию настоящей текстуры.

 

Оптимизация


Исправление аномалий сглаживания и вмятин путем разворачивания неподдающихся ребер - это один из способов содержать элементы в порядке. Важно также убедиться, что модель оптимизирована и рациональна. «Рациональна» означает, что каждая вершина должна быть значимой. -она существует для того, чтобы поддерживать форму дизайна. Персонажи игр в реальном времени всегда строятся и анимируются при ограничениях на число полигонов, поэтому дополнительные вершины, которые не несут смысловой нагрузки, являются просто ненужными треугольниками, которые могут превысить предел числа граней.

Чтобы следить за числом полигонов, воспользуйтесь инструментом Polygon Counter (Счетчик полигонов), который находится на панели Utilities в 3ds max. Вы сможете ввести предел числа граней персонажа, а для обозначения того, что вы приближаетесь к предельному значению числа граней, используется простая цветовая схема (рис. 132).


Рис. 1.32. Инструмент Polygon Counter поможет вам не превысить предельное значение числа граней

Включите и выключите модификатор соединения вершин Edit Mesh. Вы увидите результат ручной оптимизации сетки с помощью соединения нескольких вершин (рис. 1.33).

Область груди мужского персонажа деформируется очень мало, если вообще деформируется, поэтому она является первым кандидатом на оптимизацию, ее можно создать с помощью относительно простой геометрии по сравнению с дельтовидной областью плеча, состоящей из множества треугольников. В 3ds max вы можете быстро соединить две вершины, сначала выделив их и подняв порог Weld до очень большого числа (например, до 10 или даже до 100 в зависимости от масштаба персонажа), а потом нажав на кнопку Weld Selected. Еще один способ соединения вершины с любой соседней вершиной - это режим Target Weld (Целевое слияние).


Рис. 1.33. Оптимизация сетки гарантирует, что предельное число граней не превышено

Существует также модификатор (и очень полезный) MultiRes (Муль-тиразрешение), с помощью которого можно следить за основными показателями оптимизации, но в большинстве случаев лучше проводить оптимизацию вручную. Это немного медленнее, чем нажатие на кнопку, но зато вы получите полный контроль над (иногда) мучительным процессом упрощения.


Модификатор MultiRes - отличный инструмент для уменьшения количества граней «на скорую руку», потому что он дает возможность сохранить при оптимизации остальной части сетки проекционные координаты UVW (об этих координатах будет рассказано далее) и определенные вершины. Этот модификатор удобно применять для быстрого создания различных уровней детализации.

Каким бы способом вы ни избавлялись от ненужных вершин, не стоит беспощадно «истреблять» их. Даже если предельное число граней мало, не допускайте небрежностей. Отыскивая и уничтожая случайные вершины, которые не вносят свой вклад в определение формы, вы создадите наиболее эффективную модель, оставив на другие части игры (оружие, эффекты, окружающая среда) большее число треугольников. Таким образом, уровень качества и скорость игры останутся на максимально высоком уровне.

 

Основные советы по моделированию


Ниже представлены некоторые общие советы по моделированию, которые применимы почти ко всем программам для моделирования:

 на каждом этапе создавайте одну часть персонажа. Сосредоточьте внимание на одной конкретной области и добейтесь того, чтобы она выглядела так, как вы хотите, и лишь потом переходите к следующей. Продолжайте моделировать голову до тех пор, пока она вам не понравится, затем переходите к туловищу. Не бойтесь создавать отдельные части тела и сохранять их в разных файлах. Вы сможете позднее встроить эти части в основной файл модели персонажа. Этот подход работает также и для элементов частей тела. Постройте идеальный нос, глаз или ботинок. Создайте собственную мастерскую тел, если хотите;

 по возможности делите персонаж на части. Нужно ли каждый раз моделировать персонаж «с нуля»? Необходимо построить исходную модель персонажа от начала и до конца по крайней мере один или два раза, чтобы набраться опыта, но нет нужды каждый раз «изобретать велосипед». При построении модели подумайте о создании будущих персонажей. Когда вы достигнете той стадии разработки модели, на которой она уже почти завершена, сохраните ее на будущее в отдельном файле в качестве экземпляра и продолжайте работу. С подобной коллекцией частей тела и целых персонажей вы сэкономите усилия и - что важнее - время;

 работайте в одном окне. При моделировании используйте как можно большее пространство. Иногда бывает необходимо открыть несколько окон или видов, но не увлекайтесь этим. С вида на вид переключайтесь с помощью клавиш F (вид спереди), L (вид слева) или Т (вид сверху);

 создавайте половину объекта. Если геометрия вашего персонажа симметрична, в начале работы постройте линию, разделяющую его пополам. Это позволит вам строить половинами: построить одну часть, а затем скопировать ее, отобразить зеркально и добавить копию к исходной первой половине. Помимо экономии времени и усилий в процессе моделирования с помощью этого метода можно сократить и процесс текстурирования (об этом рассказывается ниже). Создавая экземпляр методом зеркального копирования, вы сможете одновременно модифицировать обе половины, внося изменения только в экземпляр половины. Экземпляр - это термин 3ds max. Если это копия, то все, что вы делаете на исходной половине, отражается и на копии. Таким образом, вы лучше увидите, как изменяется симметричная сетка при построении (рис. 1.13);




Рис. 1.13. Моделирование половин в 3ds max значительно упрощается с использованием экземпляра

 принимайте в расчет каждую вершину. Всегда помните об этом при моделировании. Более подробно об этом рассказывается в разделе «Оптимизация» ниже в данной главе, но это очень важный момент, о котором нужно помнить и который следует обдумать;

 настройте программу моделирования «под себя». Это относится к любым опциям моделирования и к использованию «горячих» клавиш, что ускоряет работу. Заставьте инструмент работать на вас, а не наоборот. Чем комфортнее вы ощущаете себя в среде моделирования, тем лучше будет результат работы и тем быстрее вы его достигнете;

 используйте наиболее подходящие для себя методы. С любой программой, в том числе и с 3ds max, полезно экспериментировать, и не стоит бояться использовать то, что вам больше нравится. На моделирование и анимацию больше, чем любой другой фактор, влияет личность моделлера и степень удобства его работы с методом. У каждого есть свои методы и свои причины, по которым он выбирает эти методы. Никогда не вините себя за лишь поверхностное использование программы моделирования. Конечный результат, а именно прекрасная модель, - это все, что должно вас волновать.

 

Патчевое моделирование с помощью инструментов Surface Tools


Стоит упомянуть и еще один подход (хотя он и не является полигональным) - использование инструментов Surface Tools (Инструменты работы с поверхностью). Этот метод патчевого моделирования основан на си минах (spline) и идеально подходит для создания волос и другой естественной геометрии, так как сетка создается на основе настраиваемых сплайнов. Загрузите файл Hair.max (рис. 1.19).


Рис. 1.19. Инструменты Surface Tools - прекрасный способ создания естественной геометрии, например волос

С помощью модификатора Surface можно преобразовать сплайно-вый каркас или онлайновый каркас-экземпляр в параметрическую сетку. В файле Hair.max переместите вершины сплайнов вправо и посмотрите, как изменится геометрия сетки слева. В таком применении экземплярного объекта и заключается полезность инструментов Surface.

При работе со сплайновыми каркасами измените значение порога Weld (Слияние) на 0 (вместо значения 1, которое устанавливается по умолчанию). Так вы избежите появления надоедающего сообщения «Weld Coincident Endpoints?» (Объединить совпадающие конечные точки?), которое появляется, если вы перемещаете любые сегменты или сплайны (рис. 1.20).

Программа 3ds max содержит замечательный урок, в котором показано, как применять модификатор Surface. Поэкспериментируйте с этим мощным инструментом - и вы быстро научитесь создавать волосы или даже персонажа с помощью сплайнов. Возможность моделирования в различном разрешении может даже привести к точному заданию количества треугольников, необходимых для создания персонажа.


Рис. 1.20 Уменьшите порог Weld, чтобы не видеть раздражающее сообщение

 



Плечи


Плечо анимированного персонажа - возможно, самая трудная область, с которой приходится работать. К сожалению, это очень сложный механизм, который нелегко удачно аппроксимировать, даже если персонаж имеет большое число полигонов. По возможности воспользуйтесь простым способом - отсоедините руки с помощью подхода «по созданию героя action» и просто приблизьте руку и плечо к туловищу. Спрятать руку под броней - еще один способ избежать многочисленных усилий, которые требуются, чтобы правильно деформировать плечо (рис. 1.37).


Рис. 1.37. Упростите себе задачу - спрячьте плечи под эполетами

Если число полигонов персонажа велико (от 4000 до 6000 треугольников), то можно расположить грани в виде гармошки/веера. Тогда плечо будет хорошо деформироваться как в виде спереди (рис. 1.38), так и в виде сверху (рис. 1.39).

Добиться правильной формы плеча получится далеко не с первого раза. Кроме того, плечи у каждого персонажа свои. Самое главное, что необходимо сделать для получения удачной геометрии плеча, - это добиться, чтобы в различных положениях его форма менялась как можно меньше и чтобы плечо выглядело правильно в позах, которые встречаются наиболее часто.


Рис. 1.38. При движении руки вверх или вниз плечо должно как можно меньше изменять форму


Рис. 1.39. Нужно также учитывать и движение из стороны в сторону

 



Подгонка объекта Biped


В том, что касается функциональности, остался еще один вопрос - выравнивание сетки по объекту Biped, к которому она будет присоединена. Суставы Biped вращаются вокруг собственного центра трансформаций. Чтобы придать Biped нужную геометрическую форму, можно переместить основания пальцев ног и рук, изменить размеры любой конечности. Но это все, что вы можете (и хотите) сделать с каркасом, лежащим в основе объекта. Чтобы гарантировать выполнение определенной функции, иногда нужно подогнать сетку по Biped. Это значит, что нужно лишь переместить некоторые вершины и выровнять их с суставами, на которые они будут влиять (рис. 1.46).


Рис. 1.46. Небольшие изменения геометрии в области суставов иногда необходимы. Это гарантирует правильную деформацию сетки

Объект Biped создается после завершения сетки, поэтому узнать, какие изменения нужно внести до завершения сетки, практически невозможно. Однако не стоит бояться изменять сетку во время анимации.

 



Работа над поверхностью


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

Выявлять некорректные ребра проще, если вы просматриваете модель в режиме граненого (facets) затенения, а не сглаженного (smooth). В левом верхнем углу щелкните правой кнопкой мыши по имени демонстрационного окна и выберите пункт Facets (Грани) - рис. 1.21.


Рис. 1.21 Чтобы в 3ds max изменить режим затенения, щелкните правой кнопкой по имени окна проекции


Рис. 1.22. Разворачивать ребра нужно для поддержания целостности поверхности модели

Перейдите в режим просмотра со сплошным затенением и осмотрите модель из файла Edge.max в окне проекции Perspective (Перспектива). Включите и выключите модификатор Edit Mesh (переименованный в edge turn), и вы увидите изменения, которые вносят выгнутые ребра. Выгибание ребер приводит к тому, что поверхность выглядит более гладкой и однородной, так достигается более реалистичное впечатление объема.

Освещение, устанавливаемое в 3ds max пo умолчанию, пригодится, если нужно найти на сетке изъяны поверхности. Воспользуйтесь командой Arc Rotate (Поворот по дуге) или нажмите сочетание клавиш Ctrl+R, чтобы повернуть при текущем освещении и положении теней окно проекции вокруг сетки, - и вы сможете увидеть ребра, которые нужно развернуть.

С помощью модификатора Smooth (Сглаживание) можно очень быстро удалить группы сглаживания модели и придать ей граненый вид. Тогда, даже если вы находитесь в режиме просмотра со сглаженным затенением, модель будет выглядеть так же, как в режиме с граненым затенением (рис. 1.23).


Рис. 1.23 Применение модификатора Smooth без дополнительных параметров к сетке приводит к удалению ее групп сглаживания


Что касается групп сглаживания (smoothing groups), то на многих движках игр в реальном времени нет способов распознавания различных групп сглаживания сетки, если только вершины, составляющие треугольник, не разделены. Это досадный недостаток технологии, но его легко устранить.

Загрузите файл Betty0l.max (рис. 1.24).

В файле Betty0l.max выделите сетку, включите и выключите модификатор Edit Mesh, чтобы посмотреть, как соединение геометрических составляющих на задней части модели отражается на сглаживании, а затем удалите модификатор. В сетке Betty нет проблем с излишним сглаживанием, так как ее геометрические составляющие пересекаются друг с другом и образуют линию складки там, где соприкасаются грани: создается более реалистичный вид, и вершины не соединяются между собой. Этот метод особенно хорошо работает при сборке женских персонажей.



Рис. 1.24. Группы сглаживания иногда надоедают

Но избежать автоматического присвоения одной группы сглаживания всем граням сетки игровым движком можно и другим, более популярным, способом. Вручную отсоедините грани и присоедините их снова только в определенных точках. Вы получите эффект выбора группы сглаживания, который работает при ограничениях, налагаемых движком игры в реальном времени, поскольку геометрия сетки не везде присоединена к основному объекту. Загрузите файл Betty02.max (рис. 1.25).

Исправьте лицо Betty в файле Betty02.max, отсоединив и присоединив снова определенные полигоны. Перейдите в режим просмотра каркаса, затем выберите и примените команду Detach to Element (Отсоединить в элемент) к граням, показанным на рис. 1.26.

Если нажать на клавишу F2, то выделенные грани станут сплошными и более заметными. Чтобы вернуться в обычный режим выделения, нажмите клавишу F2 еще раз.



Рис. 1.25. В результате применения одной группы сглаживания лицо Betty выглядит не так отчетливо



Рис. 1.26. Выделите эти грани на голове, чтобы отсоединить их, а затем присоединить снова

По умолчанию командная панель в правой части представляет собой один столбец, который вы можете прокручивать вверх или вниз. Но ее можно отобразить и другим способом - в виде двух столбцов. Для этого поместите курсор над правым краем окна проекции (над левым краем панели) и удерживайте его в этом положении, пока не увидите горизонтальную стрелку изменения размеров окна. Затем нажмите левую кнопку мыши и перетащите указатель влево (рис. 1.27).





Рис. 1.27. Изменив размеры панели, вы сделаете более доступными его разделы

Таким образом вы увеличите пространство, которое занимает панель, и вам не придется все время прокручивать ее вниз или вверх, чтобы найти нужный раздел. Затем выделите вершины по периметру группы граней, которые вы только что отсоединили. В поле Weld Selected (Слить выделенные) оставьте значение 0,1 и объедините выделенные вершины, щелкнув по кнопке Selected (Выделенные), - рис. 1.28.

Поверните изображение, чтобы увидеть геометрию задней стороны головы. Заметьте, что грани вокруг носа обведены линиями, хотя в этой области линий не должно быть видно (рис. 1.29). Так обозначены отсоединенные грани и/или вершины.

Линии можно видеть сквозь объекты, только если в окне Properties (Свойства) объекта выбрана опция Backface Cull (Убрать задние грани).



Рис. 1.28. Выделите только эти вершины и объедините их



Рис. 1.29. Линии, которые видно сквозь заднюю сторону сетки, показывают, что вершины отсоединены

Выделите треугольники верхней губы и примените к ним команду Detach to Element. Сделав верхнюю губу отсоединенным объектом, вы устраните неестественный эффект равномерного сглаживания, а поверхность вокруг губ станет более реалистичной (рис. 1.30).



Рис. 1.30. Отсоедините треугольники, образующие верхнюю губу, сделав их отдельным элементом

Теперь снова включите режим сглаженного затенения. Вы увидите, что поверхность лица выглядит гораздо яснее, а черты проще различить (рис. 1.31).

Еще раз заметим, что причиной, по которой производится этот процесс «отсоединения и соединения вновь», является то. что многие движки игр в реальном времени игнорируют группы сглаживания, которые вы определяете в 3ds max, и при перерисовывании сетки персонажа во время визуализации применяют свои формы сглаживания. Это единственный способ смоделировать несколько групп сглаживания. Постоянное управление ребрами и группами сглаживания таким способом обязательно, если вы хотите достичь наилучшей формы поверхности сетки персонажа.



Рис. 1.31. Разбив сглаживание вручную, вы сделаете поверхность лица лучше

 

в реальном времени составляют пять


Хороший персонаж игры в реальном времени составляют пять различных элементов: дизайн, модель, текстура, анимации и звуковые эффекты. Говорить, что персонаж «создан, чтобы двигаться», можно, если дизайн, модель и текстура удовлетворяют определенным требованиям. Дизайн должен быть хорошо продуман, уникален, соответствовать стилю игры и быть выполнимым при технологических ограничениях игрового движка, в который будет помещен персонаж. Затем нужно создать подходящий и информативный экземпляр и отдать его моделлеру, который преобразует плоский рисунок в трехмерную модель.

Что касается моделирования, то удачная сетка персонажа складывается из отличной формы и функциональности. Форма определяет целостность и художественность сетки, она дает впечатление прочности и взвешенности при максимально возможном соответствии дизайну. Пытаясь получить нужную форму, необходимо учитывать такие факторы, как точность, эффективность и качество поверхности. Персонаж будет использоваться в игре в реальном времени, поэтому лучше всего подходят методы полигонального моделирования. Если же вы начинаете с примитивов, воспользуйтесь выдавливанием, булевыми операциями, примените в качестве шаблона сетку с более высоким разрешением или воспользуйтесь методом патчевого моделирования; убедитесь, что каждая вершина необходима для определения формы, сделайте каждую вершину значимой. Функциональность достигается, если сетка разбита надлежащим образом как для текстурирования, так и для анимации и отвечает на анимацию, примененную к ней, правильными деформациями. У таких критичных областей, как локти, колени и другие части тела, должно быть правильное распределение вершин и граней - так обеспечивается движение.

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


Шаблон сетки с высоким разрешением


Если у вас есть доступ к моделям с высоким разрешением, вы можете использовать одну из них в качестве шаблона (template). Эти модели не подходят для моделирования персонажа игры в реальном времени, так как в них слишком много полигонов, а сколько усилий уйдет, чтобы оптимизировать такие модели, - даже страшно представить. Но что если наложить низкополигональную сетку поверх модели с высоким разрешением, как если бы вы переводили фотографию на кальку? В этом заключается логическое завершение использования экземпляра. Иными словами, вы переносите персонаж в сцену в 3ds max, чтобы ориентироваться на него при построении модели. Только подумайте - это был бы прекрасный экземпляр!

Конечно, чтобы построить сетку таким образом, нужна исходная сетка с высоким разрешением. Загрузите файл Boot.max, чтобы увидеть этот процесс (рис. 1.17).


Рис. 1.17. Использование сетки с высоким разрешением для построения сетки с низким разрешением позволяет значительно ускорить процесс моделирования

Тонкость моделирования, проиллюстрированная примером на диске, заключается в том, чтобы сначала задать нужные вершины, которые являются неотъемлемой частью конечной формы ботинка. Не забывайте, что число вершин, составляющих сетку, примерно равно половине числа граней. Если вы знаете, из скольких граней хотите создать модель с низким разрешением, просто сократите число изолированных вершин до половины этого значения (1000 граней = 500 вершин).

На панели Sub-Object (Подобъект) находится счетчик для выделенных подобъектов, таких как вершины, ребра и грани (рис. 1.18).


Рис. 1. 18. На панели Sub-Object представлен удобный инструмент подсчета любых выделенных объектов

Использование сетки с высоким разрешением для построения сетки с низким разрешением формально можно рассматривать как метод оптимизации, но на самом деле при этом приходится больше строить, чем сокращать.



Шея и голова


Настройка шеи и головы - достаточно простая задача. Голова всегда полностью совпадает с головой объекта Biped и, если только персонаж не разговаривает, является единой массой, которая поворачивается вокруг шейного сустава. Обычно шея с головой не сильно деформируется, но иногда при повороте головы самые верхние вершины могут слегка изменить форму. Уделять этим объектам много внимания нужно, только если у персонажа длинная, гибкая шея (рис. 1.36).


Рис. 1.36. Голова и шея легко связываются друге другом, вам не нужно добавлять слишком много дополнительной геометрии

 



Схема модели


В среде игр в реальном времени хорошим тоном считается максимально объединить сетку со всем персонажем, чтобы игровой движок обрабатывал меньшее число элементов. Это значит, что модель персонажа составляется из наименьшего числа отдельных объектов. Загрузите файл Betty03.max.

Обратите внимание на то, как разбита сетка. На рис. 1.34 одним объектом являются левая рука и туловище, включая правое плечо (1); голова, правая рука и левая нога (2); бедра, лодыжки и правая нога (3) и конец ружья (4).


Рис. 1.34. Сетка должна состоять из как можно меньшего числа объектов

Betty разбита на части именно таким способом по двум причинам: чтобы не нарушить дизайн игры и для легкости доступа при задании весов. Первоначально предполагалось, что конец ружья Betty будет переключаться между двумя видами в зависимости от того, какой тип конфигурации или энергии она выбрала. И хотя эта идея была отвергнута, элемент остался отдельным (на всякий случай). Остальные объекты отделены только для легкости доступа в процессе назначения весов. Нет смысла бороться с расположением и изолированием вершин, которые находятся неудачно близко друг к другу, если с этим ничего нельзя сделать. Выбор между упрощением работы и риском ухудшить качество представления благодаря наличию множества объектов - это осознанное решение, и насколько оно удачно - зависит от вашего опыта.

Чтобы изменить цвет сетки, просто щелкните по маленькому цветному квадратику вверху справа (рис. 1.35).


Рис. 1.35. Изменить цвет сетки очень легко

 



Создание анимации


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

 



Талия


Талию довольно легко анимировать. Просто добавьте достаточное число треугольников и расположите их надлежащим образом, чтобы обеспечить повороты и наклоны туловища (рис. 1.40).


Рис. 1.40. Убедитесь, что на талии достаточно геометрии, чтобы обеспечить наклоны и повороты.

 



Технические ограничения


Как упоминалось ранее, число полигонов - это техническое ограничение, которое оказывает определенное влияние на сложность дизайна. Число полигонов меняется в зависимости от платформы и назначения персонажа игры в реальном времени. Разница в дизайне персонажей, состоящих из 1000, 2000 и 5000 треугольников, огромна, но, в конце концов, хороший художник справится с задачей, каковы бы ни были ограничения. Игры, которые идут на новых приставках, таких как Xbox и PlayStation 2, с успехом обрабатывают персонажей, число полигонов которых доходит до 5000 (а иногда и выше). Однако главные персонажи многопользовательских (в том числе через Internet) игр в реальном времени для персонального компьютера должны иметь от 500 до 2000 треугольников. В добавление к ограничению числа полигонов во многих играх используется так называемый уровень детализации (level of detail - LOD). Это означает, что персонажи создаются в низком, среднем и высоком уровнях детализации. На рис. 1.3 показано типичное различие между тремя последовательными уровнями детализации.

Другое техническое ограничение, которое влияет на дизайн, - это исполнение персонажа на самом игровом движке. В анимационных системах некоторых игр используется деформация вершин (vertex deformation), это разное количество ограничений, и игровой движок будет представлять различное число полигонов в зависимости от расстояния значит, что каждый кадр анимации является ключевым для деформации, или интерполяции, каждой вершины сетки персонажа. Таким образом, результаты анимации становятся более зависимыми от скорости кадров, определенной художником при работе с моделью, какой бы инструмент при этом ни использовался (например, 3ds max). В других системах применяется скелетная анимация, как в Half-Life и Betty Bad, при которой анимации проигрываются с помощью костной структуры внутри персонажа. Анимация хронометрирована отрезками времени, а не кадрами. Любая из этих систем могла бы также основываться на реальном структурном разделении, при котором голова будет объектом, отдельным от туловища, а последнее, в свою очередь, будет отделено от ног. Подобное дробление персонажа исключает применение подходов, основанных на том, что персонаж состоит из единой цельной сетки.


Рис. 1.3. С помощью уровня детализации на дизайн персонажа накладывается

 



Текстура: карты


С определенностью сказать, что персонаж «создан, чтобы двигаться», невозможно без такого важного понятия, как текстурные карты (texture map). Успех персонажа в значительной степени зависит от них. Текстурные карты - это файлы с изображениями, которые накладываются на сетку и создают иллюзию того, что персонаж имеет реальную поверхность. Хорошую текстурную карту составляют два отдельных элемента: координаты UVW (UVW coverage) и качество текстуры (quality of texture).

 



Выдавливание форм или граней


Выдавливание (extrusion) - еще один часто применяемый при моделировании персонажей метод. На рис. 1.15 показано, как с помощью выдавливания формы и выдавливания граней был быстро построен эполет Betty Bad. Сначала был создан контур формы, которая образует поперечное сечение (А). Затем к ней применили модификатор Extrude (Выдавливание) с тремя сегментами, и форма была выдавлена наружу, получив глубину (В). Далее, чтобы выровнять вершины и выделить грани на верхней части плеча (С), был применен модификатор Edit Mesh (Редактировать сетку). Затем с помощью кнопки подобъекта Extrude выделенные грани были выдавлены вверх, чтобы добиться соответствия нужной форме (D). И наконец, форму настроили, оптимизировали и поместили на нужное место (Е).


Рис. 1.15. Отличный способ моделирования — выдавливание как контурных форм, так и граней

 



Запястья и лодыжки


Для запястий и лодыжек требуется очень мало дополнительной геометрии. Обычно для поддержания их формы полигонов хватает, и если иногда подобные части тела деформируются неправильно - на это можно закрыть глаза (рис. 1.45).


Рис. 1.45. Обычно, чтобы поддерживать форму лодыжек и запястий, дополнительной геометрии не требуется

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

При построении персонажа всегда помните об областях, которые будут деформироваться при анимации. В конечном счете, лучший способ увидеть, каким областям требуются дополнительные треугольники, - это присоединить к объекту Biped сетку, задать ее веса и анимировать. Только через этот процесс вы найдете ответы на все вопросы о том, насколько модель соответствует анимации.

 



Дельфин


Если когда-либо у вас и возникал вопрос, зачем нужно снимать галочку напротив опции Arms в структуре Biped, то теперь все встанет на свои места. Представьте, что вы анимируете дельфина, который является млекопитающим. Поскольку дельфины обладают почти таким же развитым интеллектом, как люди, почему бы не моделировать их с помощью объекта Biped (рис. 2.36)?


Рис. 2.36. Вот зачем нужна опция отсутствия рук

Руки можно было бы оставить, чтобы, например, управлять плавниками, но все зависит от того, насколько сложной должна быть анимация. На самом же деле необходима лишь одна нога, вторую можно уменьшить практически до нуля. Тазовая область размешается в центре туловища, это упрощает процесс перемещения по воде и изгиба туловища вокруг центра трансформаций. Однако самое сложное в конструировании дельфина или акулы с помощью объекта Biped - это понять, каким образом создаются такие части, как спинной плавник. Можно либо добавить еще одну кость, либо очень строго задавать веса сетки персонажа, чтобы она правильно деформировалась.

 



Девушка-коза


В character studio можно анимировать персонажа с трехсуставными ногами, такого как Mech (или AT-ST в Return of the Jedi) или Goat-Girl (девушка-коза), дьяволица с козлиными ногами, - ведь в объект Biped можно добавить четвертое звено ноги. Однако использовать этот объект проблематично из-за способа просчета решений обратной кинематики. Предполагается, что с помощью этого четвертого объекта Biped (еще он называется лошадиным звеном - horselink) можно смоделировать механику лошадиной ноги. К сожалению, эта дополнительная кость, которая добавляется к ноге, не может быть родительским элементом прямой кинематики для ступни, она всегда является ведомым элементом при решении обратной кинематики. Сравните конфигурации с тремя суставами, изображенные на рис. 2.37.


Рис. 2.37. Есть несколько способов формирования ноги объекта Biped

На рис. 2.37 в позиции A Biped имеет обычную конфигурацию, в позиции В в Biped используется четвертое звено ноги, а у объекта Biped в позиции С обе ноги повернуты на 180° относительно оси X. При анимировании персонажа с трехсуставными ногами начните с позы, которая является разновидностью положения на корточках (она похожа на букву Z, написанную в обратную сторону). Чем ниже объект присел, тем плотнее зигзаг.

Существует по крайней мере три способа создания каркаса Goat-Girl, при котором ее сетка будет правильно деформироваться. Можно и дальше работать с каркасом Biped при обычной установке, как изображено на рис. 2.38 (А), не обращая внимания на задний сустав, и вместо этого задать веса. Или можно заняться лошадиным звеном и подогнать его по сетке, как показано в позиции В. И наконец, можно воспользоваться установкой Biped в позиции С и зеркально отобразить ноги. В этом случае коленный сустав, который часто трудно заметить, будет проигнорирован. Основа метода, как и в первом случае, - правильное задание весов каркаса.

Преимущество третьего решения - возможность встроить обычный BIP-файл. Оно дает возможность работать не только с коленом. Попробуйте анимировать с помощью этого метода персонаж, который передвигается лишь на руках.


Рис. 2.38. Выберите один из трех способов создания каркаса для демонической женщины с козлиными ногами

 



Добавление костей и использование различных контроллеров


Помимо дополнительных лицевых костей к туловищу этого персонажа также прикреплены объекты, которые реалистично моделируют движение груди в танце (рис. 2.47).


Рис. 2.47. Чтобы грудь персонажа двигалась реалистично, в каркас были добавлены дополнительные кости

Когда объекты сетки ориентированы по ней и выровнены с ней, им можно приписать контроллер Spring (Пружина), чтобы придать персонажу в танце добавочное движение (рис. 2.48). Загрузите файл Bikinil.max.

К объекту Biped уже применена танцевальная анимация. Просмотрите ее, щелкнув по кнопке Play Animation (Воспроизвести анимацию)

в правом нижнем углу экрана. Синие кубики не отрываются от позвоночника. Выделите любой параллелепипед, откройте панель Motion и выделите трек Position (Положение), он подсветится, а кнопку Assign Position Controller (Назначить контоллер положения)
можно будет нажать (рис. 2.49).


Рис. 2.48. Этому танцующему объекту Biped нужно добавить немного «упругости» -необходим контроллер Spring

Чтобы вызвать список контроллеров, которые можно определить для трека Position объекта, щелкните по пиктограмме рядом с названием трека (рис. 2.50).

Выделите пункт Spring и нажмите кнопку ОК. Вы только что определили контроллер Spring для положения объекта. Теперь в окне Properties задайте какие-нибудь значения в свитке Spring Dynamics (Динамика пружины), которые заставят грудь персонажа колебаться при его перемещении: введите значение 500 в поле Mass (Масса) и 0,3 в поле Drag (Жесткость) - рис. 2.51.

Закройте диалоговое окно и определите контроллер с теми же значениями для трека Position другого объекта.


Рис. 2.49. С помощью панели Motion обратитесь к трекам анимации, которым можно назначить контроллеры


Рис. 2.50. У каждого выделенного трека анимации есть характерные для него контроллеры


Рис. 2.51. Значение в поле Mass контроллера Spring должно быть достаточно большим, иначе эффект будет незаметен

Не забывайте закрывать диалоговое окно Properties после того, как значения в диалоговом окне контроллера Spring были введены первый раз. Если этого не сделать и щелкнуть по другому объекту, диалоговое окно останется на экране, и вы можете подумать, что контроллер уже присвоен и этому объекту.


Когда контроллеры Spring будут присвоены обоим объектам, отмените выделение всех объектов, закройте все диалоговые окна и нажмите клавишу / (слэш), которая является «горячей» клавишей для функции Play Animation (рис. 2.52).

Поэкспериментируйте с различными значениями в полях Mass и Drag, но на практике лучше сделать объекты достаточно тяжелыми, иначе их движения не будут заметны (поэтому начните с 500). Чем больше значение в поле Drag (при условии, что в поле Mass введено то же значение), тем меньше будет колебание. Попробуйте ввести различные комбинации, можно даже добавить значения и в поля Tension (Упругость) и Dampening (Демпфирование). Но не забывайте: для того чтобы изменить эти значения, нужно сначала выделить в диалоговом окне строку Self Influence (Самовлияние) - рис. 2.53.

Если контроллер Spring применен к объекту, то можно получить доступ к его диалоговому окну непосредственно из панели Motion или же щелкнуть правой кнопкой мыши по треку Position и выбрать пункт Properties (рис. 2.54).



Рис. 2.52. Теперь движения груди танцующего Biped более пружинистые



Рис. 2.53. Прежде чем настраивать значения Tension и Dampening, нужно выделить строку Self Influence



Рис. 2.54. Получить доступ к параметрам контроллера Spring можно двумя способами

 

Другие типы каркасов персонажа


С помощью объекта Biped можно создать каркас персонажа практически любого типа: от зловещего чужака до гигантской птицы или маленького муравья. Приведенные в этом разделе примеры персонажей игр, в которых используются нетипичные каркасы Biped, помогут вам создать характерные персонажи.

 



РАБОТА С КАРКАСАМИ ПЕРСОНАЖЕЙ С ПОМОЩЬЮ МОДУЛЯ BIPED


РАБОТА С КАРКАСАМИ ПЕРСОНАЖЕЙ С ПОМОЩЬЮ МОДУЛЯ BIPED

Задание типичного двуногого персонажа

Пошаговый алгоритм создания каркаса персонажа

Загрузка сетки персонажа

Создание объекта Biped

Настройка структуры Biped

Настройка тела и головы Biped Настройка рук и ног Biped

Сохранение позы Biped

Создание каркаса персонажа с четырьмя ногами

Настройка структуры

Настройка туловища, головы и хвоста

Настройка ног и рук

Другие типы каркасов персонажа

Собака

Дельфин

Девушка-коза

Каркасы лица

Уровень каркаса лица 1

Уровень каркаса лица 2

Уровень каркаса лица 3

Каркас персонажа с более высоким разрешением

Тот самый да Винчи?

Каркас лица для сетки с высоким разрешением

Добавление костей и использование различных контроллеров

Резюме

 



Каркас лица для сетки с высоким разрешением


Каркас лица персонажа, показанного на рис. 2,46, поддерживает возможность показывать только эмоции. У него есть брови, глазные яблоки, веки, челюсть и губы, а язык ему не нужен.


Рис. 2.46. Каркас лица сетки с более высоким разрешением вблизи

Этому персонажу язык не нужен и по другой причине, а именно из-за существования досадного ограничения визуализации движка. С того расстояния, на котором персонаж виден на экране, можно заметить только один или два розовых пикселя языка. Визуализатор «не знает», что отображать: белый пиксель зубов или более темный пиксель языка. В последнем случае персонаж может выглядеть так, как будто у него нет переднего зуба! Поэтому в танце он лишь слегка приоткрывает рот.

 



Каркас персонажа с более высоким разрешением


Большинство типичных персонажей игр в реальном времени содержат примерно от 500 до 1500 полигонов. С каждым годом по мере развития аппаратного обеспечения и методов визуализации это число увеличивается, но любого персонажа с числом полигонов более 2000 можно считать персонажем с высоким разрешением. Очевидно, что разрешение влияет на скорость воспроизведения игры, когда персонаж просчитывается игровым движком. Также оно оказывает влияние на тип используемого каркаса.

 



Каркасы лица


Для анимации лица создаваемого персонажа обычно используются цели морфинга (morph targets). Цели морфинга - это формы головы и лица, которые уже имеют нужные положения. Они используются в качестве ключевых кадров для анимации мимики и движений губ при произношении фонем. К сожалению, в большинстве игр в реальном времени персонажи могут иметь анимированное лицо, только если используется костная система определенного типа, поскольку игровые движки зачастую не поддерживают морфинг.

Для каркасов лица объекта Biped не существует автоматических решений, поэтому нужно добавить кости и связать их с объектом Head. Сделать это очень просто. Тип используемого каркаса лица зависит от того, насколько детальной должна быть анимация лица и как велико разрешение сетки. Например, на сетке головы собаки, показанной на рис. 2.39, число полигонов достаточно, чтобы поддерживать практически любой уровень анимации лица.


Рис. 2.39. Чтобы анимировать чтение стихотворения персонажем Fido, нужно добавить к голове Biped кости

Как упоминалось ранее, чтобы создать каркас лица при анимации персонажей с помощью объекта Biped, нужно добавлять кости. В 3ds max добавить кости так же легко, как связать (link) параллелепипед с объектом Biped. Конечно, нужно помнить о контроллерах и других более сложных элементах анимации.

Процедура подбора параметров каркаса персонажа игры в реальном времени сильно зависит от плотности сетки. Можно условно ввести четыре уровня детализации сетки, которые будут характерными для различных степеней сложности анимации лица: низкополигональная сетка, сетка с низким разрешением, высокополигональная сетка, сетка с высоким разрешением. Из-за недостатка общепринятой терминологии назовем их уровнями каркаса лица 1-4 (в этой главе рассказывается о первых трех уровнях).

 



Настройка ног и рук


Отобразите все скрытые объекты Biped, затем скройте все, кроме объектов правой ноги. Сначала поверните бедро на 90° относительно оси Y и на 175° относительно оси X (рис. 2.30).


Рис. 2.30. Поверните ногу относительно осей X и Y

Поверните ногу и измените ее размеры так, чтобы она соответствовала геометрии сетки (рис. 2.31).


Рис. 2.31. Измените размеры ноги и поверните ее так, чтобы она совпадала с геометрией сетки

Не нужно подгонять икру под искривленную заднюю часть конечности, стоит лишь выровнять сустав с кончиком конечности. Ступня становится не чем иным, как управляющим элементом (handle) для перемещения ноги, поэтому сделайте ее плоской и увеличьте ширину, чтобы ее было проще выделять. Кисть будет использоваться так же, как и ступня в качестве управляющего элемента для перемещения ноги (рис. 2.32).


Рис. 2.32. На самом деле ступня Biped в данном случае - это лишь рукоятка, за которую можно перетаскивать ногу при анимировании

Скройте ногу, отобразите скрытые объекты правой руки и подгоните их так же, как и объекты ноги. Помните, что точка, в которой ладонь соединяется с предплечьем (то есть запястье), должна быть выровнена с концом передней конечности (рис. 2.33).

После того как конечности с одной стороны созданы, сделайте видимыми остальные скрытые объекты Biped, скопируйте и зеркально отобразите позы конечностей - и вы получите каркас ужасного чужеродного живого существа. А если вы хотите увидеть его, загрузите файл Widge2.max (рис. 2.34).


Рис. 2.33. Объект руки выравниваются так же, как и объекты ноги


Рис. 2.34. Завершенный каркас персонажа Widge -еще один четвероногий отрицательный герой



Настройка рук и ног Biped


Отобразите скрытые объекты сетки и разморозьте их. Скройте m_gunarm, m_gun, m_energy и m_fanvent, затем снова заморозьте m_headarmleg и m_torso. Скройте все объекты левых конечностей, туловище, объекты шеи и головы Biped. Если персонаж имеет симметричные конечности, то в программе character studio достаточно определить позу только одной стороны, так как в этом модуле есть возможность копировать и зеркально отображать положения объектов. Неплохо также скрыть всю ненужную геометрию, чтобы не загромождать объект. Это позволит вам быстро разместить нужные объекты (рис. 2.13).


Рис. 2.13. Скройте ту геометрию и те объекты, которые не нужны при определении позы конечностей одной стороны персонажа

Прежде чем подгонять Biped по замороженной сетке, убедитесь, что параметры рук и ног Biped (в том числе пальцев рук и ног), которые находятся в свитке Structure, не будут меняться. Чтобы понять, зачем это нужно, проделайте следующее. Во-первых, на стадии подгонки под сетку назначьте для объекта Biped режим Figure. Во-вторых, выделите и скройте любую руку или ногу объекта Biped. В-третьих, откройте свиток Structure и измените число пальцев рук или ног. В результате... все объекты Biped исчезнут.

Начните с ноги, так как она состоит из меньшего числа объектов, чем рука. Чтобы масштабировать объекты и повернуть их, воспользуйтесь обычными способами трансформации (рис. 2.14).


Рис. 2.14. Выровняйте ногу по сетке, изменив ее размеры, повернув и/или переместив ее

В character studio есть другой способ настройки суставов колена, лодыжки, локтя и запястья: это режим Rubber Band (Резиновая лента). Чтобы воспользоваться им, просто щелкните по пиктограмме Rubber Band Mode, активизировав ее, выделите родительскую кость сустава, который вы хотите передвинуть (например, верхнюю часть руки Biped для локтевого сустава), и переместите его в нужное положение (рис. 2.15).


Рис. 2.15. Режим Rubber Band -еще один способ настройки основных суставов Biped

Скройте ногу и настройте руку, начав с ключицы и передвигаясь сверху вниз. Ключица является корневым элементом в иерархии руки, поэтому, прежде чем переходить к остальным частям руки, убедитесь, что она находится там, где вы хотите ее видеть. Чтобы настроить ладонь и пальцы, выделите первую, перейдите в окно проекции Perspective и крупно покажите ладонь, щелкнув по пиктограмме Zoom Extents (Масштабировать по границам)

. Затем увеличьте масштаб и настройте пальцы один за другим, подгоняя их по сетке (рис. 2.16).




Рис. 2.16. Настроить руку проще, если все остальные объекты Biped скрыты

Первый объект позвоночника, а также объекты ключицы, пальца ноги и руки можно переместить в любое положение, потому что их центр трансформаций перемещается вместе с ними. Остальные объекты Biped прикреплены к своему родительскому элементу. Поэтому при работе с руками персонажа возникают трудности, ведь, чтобы придать руке правильную позу, приходится выделять, перемещать эти объекты или поворачивать их. Вообще говоря, объекты ключицы лучше всего поворачивать и масштабировать, а не перемещать на некоторое расстояние от шеи.

Отобразите вновь все скрытые объекты, разморозьте все объекты сетки персонажа. А теперь познакомимся с одной из самых интересных функций character studio: копированием и зеркальным отображением положений конечностей. Вот как это работает. Дважды щелкните по правой (зеленой) ключице и выделите тем самым все кости руки. Откройте свиток Copy/Paste на панели Motion и щелкните по пиктограмме Сору Posture (Копировать положение)
. И сразу же две пиктограммы рядом с ней станут нажимаемыми, потому что в буфер обмена позами были скопированы данные (рис. 2.17).



Рис. 2.17. Функция Copy Posture модуля character studio очень помогает при настройке каркаса

Щелкните по правой пиктограмме - она называется Paste Posture/Track Opposite (Вставить положение/Трек на противоположную сторону), - и кости левой руки примут позу костей правой руки. Дважды щелкните по правому бедру и повторите те же шаги для ног. Как только позы будут скопированы, на экране появится совершенно симметричная поза (рис. 2.18).



Рис. 2.18. Каркас Betty практически готов

Теперь разморозьте объекты сетки и скройте все, кроме объектов Biped Left Arm и m_gunarm. Заморозьте объект сетки снова и поверните точку съемки окна проекции так, чтобы смотреть на локоть левой руки, а на цилиндр оружия - сбоку. Чтобы лучше видеть объекты, выключите сетку, нажав на клавишу G (рис. 2.19).



Рис. 2.19. Скройте ненужные объекты перед тем, кок в последний раз изменить левую руку



Положение левой руки Betty, полученное в результате отображения позы правой руки, не совсем правильное. В ее броню встроена система вооружения, поэтому локтевой сустав заключен в своего рода механическое устройство и предплечью приходится перемещаться, как если бы оно было заблокировано в этом механизме. Таким образом, локтевой сустав должен исходить из центра цилиндра, как видно сбоку на рис. 2.19 и 2.20, а саму руку нужно выровнять точнее с направлением цилиндра. Ладонь и пальцы левой руки анимироваться не будут, поэтому уменьшите их в десятки раз, использовав команду трансформации Uniformly Scale (Однородное масштабирование)
. Так будет легче избежать случайного выделения их, когда они отображаются (рис. 2.20).

На этом настройки Biped закончены. Если вы хотите увидеть, как будет выглядеть конечный результат, загрузите файл Betty05.max.

Изучите файл и подумайте о том, как вы будете создавать свой собственный уникальный персонаж (рис. 2.21).



Рис. 2.20. Теперь немного асимметричные относительно правой руки) объекты левой руки больше подходят под сетку



Рис. 2.21. Загрузите файл Befty05.max, чтобы изучить каркас Biped

 

Настройка структуры


В окне проекции Front создайте объект Biped высотой 200 единиц и поместите его сбоку от персонажа Widge (рис. 2.25).


Рис. 2.24. Это Widge, чужеродный захватчик


Рис. 2.25. Лежащий в основе каркаса Biped будет изменен настолько радикально, что его начальный размер не важен

Размеры Biped будут значительно изменены, поэтому не стоит уделять внимание его начальным размерам, гораздо важнее построить правильную структуру. Переведите Biped в режим Figure и введите значения, показанные в свитке Structure на рис. 2.26.


Рис. 2.26. Структурная конфигурация четырехногого Biped немного другая

Переименуйте Biped в Widge. Руки, безусловно, нужны, поэтому оставьте напротив опции Arms галочку. Тело Widge сгибается только в середине, так что в поле Spine Links введите значение 2. В поле Leg Links введите 3. Звенья хвоста необходимы, поэтому укажите в поле Tail Links максимально допустимое для Biped число звеньев, то есть 5. У Widge не будет волос, и тем более их не надо собирать в хвост, поэтому в каждом поле Ponytail введите 0.

В учебных пособиях, руководствах по 3ds max и других книгах по анимации предлагается использовать поля Ponytail Links для анимации челюсти или рта. Но это не самая лучшая идея, так как character studio и так расходует много ресурсов процессора и оперативной памяти. Если добавить дополнительные кости в каркас Biped, то работа программы усложнится. Вместо этого создайте параллелепипед и свяжите его с объектом Head, ведь любой объект в 3ds max можно использовать в качестве кости, а они требуют гораздо меньше ресурсов процессора.

 



Настройка структуры Biped


Прежде чем трансформировать отдельные части Biped (то есть применять к ним операции перемещения, вращения или масштабирования), нужно настроить его основную структуру. Начните с присвоения объекту Biped названия. Откройте свиток Biped в режиме Figure. Перейдите в поле Name (Название объекта), выберите имя Bip01 и переименуйте его в Betty (рис. 2.9).


Рис. 2.9 Любое название, которое вы введете в этом поле, переименует объект СОМ и все его дочерние объекты

Присваивать объекту Biped название, вообще говоря, необязательно, но если на сцене присутствует не один персонаж, то лучше называть их описательными именами.

Посмотрите на свиток Structure (Структура) и введите значения, показанные на рис. 2.10.

Оставьте галочку напротив опции Arms (Руки), за исключением тех случаев, когда ваш персонаж не имеет рук. Значение в поле Neck Links (Звенья шеи) обычно равно 1, если только у персонажа не змеевидная шея. Значения в поле Spine Links (Звенья позвоночника) могут быть разными, оставьте в нем 4 (более подробно об этом поле - далее) и переходите к следующему полю. По умолчанию в поле Leg Links (Звенья ног) стоит 3 (предполагается, что значение 4 соответствует персонажу с тремя ногами, но об этом позже). В полях Tail Links (Звенья хвоста), Ponytaill Links (Звенья хвоста волос) и Ponytail2 Links оставьте значение 0. Присвойте Betty значения 5 в поле Fingers (Пальцы) и 3 в поле Finger Links (Звенья пальца). А в полях Toes (Большие пальцы ног) и Toe Links (Звенья большого пальца ноги) введите значение 1 (большинству персонажей требуется один палец ноги и одно звено пальца ноги). Любое значение, установленное в поле Ankle Attach (Присоединение лодыжки) по умолчанию, подойдет, однако не бойтесь поэкспериментировать с различными значениями.


Рис. 2.10 Свиток Structure управляет основной конфигурацией Biped

Значение Height (Высота) не существенно, потому что пропорции Biped уже были грубо подогнаны под сетку персонажа, но это хороший способ еще раз проверить размеры персонажа. Заранее решите, насколько большим будет персонаж в игре, и настройте соответствующим образом высоту. Напротив опции Triangle Pelvis (Треугольная тазовая кость) просто оставьте галочку.

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

 



Настройка тела и головы Biped


Итак, основная структура определена, теперь можно приступать к выравниванию Biped по сетке. Начните с областей туловища, так как они управляют конечностями, для которых являются родительскими элементами. Скройте объекты рук (за исключением ключиц) и нижних частей ног Biped. Увеличьте масштаб тазовой области, выделите корневой объект Biped и перемещайте его вверх до тех пор. пока тазовая область не выровняется с пахом Betty. Убедитесь, что бедра центрированы относительно ног сетки (рис. 2.11).


Рис. 2.11. Выровняйте тазовую область Biped с верхней частью паха персонажа

Центр бедер находится в их верхней части, поэтому представьте, что ноги персонажа сгибаются от этих точек. Увеличьте тазовую область, применив к ней команду трансформации Non-Uniformly Scale (Неоднородное масштабирование)

вдоль оси Z . Точка присоединения ноги переместится на значительное расстояние от центра.

Если дважды щелкнуть по любому родительскому элементу Biped, то все его дочерние элементы также будут выделены. Например, таким способом очень легко выделять все дочерние элементы в иерархии конечности.

Выделите четыре объекта Spine, уменьшите их размер вдоль оси X и переместите их так, чтобы ключицы оказались в относительной близости от места присоединения плеча. Убедитесь, что вершина первого объекта Spine находится рядом с тон точкой, в которой будет сгибаться талия. Перейдите в окно проекции Right ( Справа) и примените к звеньям позвоночника команду трансформации Rotate (Повернуть)

, поворачивая их, пока они не совпадут с положением сетки (рис. 2.12).


Рис. 2.12. Убедитесь, что объекты позвоночника Biped выровнены с сеткой во всех окнах

Система координат Biped уникальна тем, что она остается постоянно ориентированной независимо от выбранной в 3ds max системы координат. Масштабирование большинства частей Biped вдоль оси X удлиняет их, вдоль оси Z - расширяет, а вдоль оси Y - утолщает (если смотреть в окне проекции Front). При повороте относительно оси Z большинство объектов Biped наклоняются вперед или назад, но есть и исключения. В общем, к подобной координатной системе нужно привыкнуть.

Сделайте все возможное, чтобы подогнать размер и угол наклона объектов Head (Голова) и Neck (Шея) по сетке, но не забывайте о том, что центр трансформаций головы находится прямо под ней. Закончив работу над туловищем, можно перейти к рукам и ногам.

 



Настройка туловища, головы и хвоста


Перейдите в окно проекции Тор (Сверху), заморозьте объекты сетки Widge, скройте объекты рук и начните настраивать Biped, определяя и изменяя положение базового объекта СОМ и тазовой области (не скрывайте ноги, чтобы лучше видеть центр трансформаций, в котором они соединяются с тазовой областью). Измените размеры тазовой области так, чтобы верхние точки присоединения бедра совпадали с суставами сетки. Перейдите в окно проекции Right, уложите Biped так, чтобы он оказался внутри сетки, затем слегка наклоните тазовую область, повернув объект СОМ (рис. 2.27).

Затем спрячьте ноги, чтобы они не мешали, и настройте звенья объекта Tail (Хвост) так, чтобы они совпадали с сегментами сетки (рис. 2.28).


Рис. 2.27. Начните настраивать объект Biped с четырьмя ногами, выровняв его тазовую область и объект СОМ


Рис. 2.28. Выровняйте звенья объекта Tail с естественными изломами сетки

Настройте объекты Spine, Neck и Head, изменив их размеры и повернув в нужное положение. Шея не так уж важна, поэтому уменьшите ее вдоль оси X, чтобы убедиться, что объект Head выровнен с областью головы Widge. Его голова - всего лишь завершение туловища спереди, поэтому пусть она будет смотреть вниз (рис. 2.29).


Рис. 2.29. Странные размеры Biped персонажа Widge продолжают удивлять...

 



Пошаговый алгоритм создания каркаса персонажа


Выполняя практические задания из данной главы, вы познакомитесь с этими шагами подробнее:

1. Загрузите законченную сетку персонажа и заморозьте (freeze) ее.

2. Создайте объект Biped и включите режим Figure (Установка позы).

3. Приблизительно выровняйте Biped с сеткой персонажа, выделив и переместив его центр тяжести, который представлен объектом Center of Mass (COM - Центр тяжести). Убедитесь, что тазовая область во всех видах выровнена соответствующе.

4. Задайте название объекта Biped и настройте его структуру.

5. Переместите и поверните объекты типа Spine (Позвоночник) и отмасштабируйте их во всех видах.

6. Скройте все конечности с одной стороны персонажа.

7. Трансформируйте (путем перемещения и вращения) оставшуюся руку, начав с ключицы и перемещаясь сверху вниз.

8. Измените оставшуюся ногу, начав с бедра и перемещаясь сверху вниз.

9. Отобразите все скрытые объекты Biped, затем скопируйте и отобразите положение конечностей на неизмененные конечности.

10. Сохраните позу персонажа в файле с расширением .fig.

11. Выключите режим Figure и сохраните исходное положение Biped в файле с расширением .bip.

12. Теперь каркас можно присоединять к сетке.

 



Из двух частей, составляющих модуль


Из двух частей, составляющих модуль character studio, - Biped и Physique - первая дает быстрый и простой способ построить лежащий в основе персонажа скелет, дополнить его обратной кинематикой, ограничителями и позами. Практически любой вообразимый персонаж можно сконструировать с помощью объекта Biped. Самое большое преимущество использования этого объекта заключается в том, что его каркас можно применить в дальнейшем для похожего персонажа.

Чтобы создать каркас персонажа, загрузите его сетку, по которой будет подгоняться Biped, и заморозьте ее. Создайте Biped, установите для него режим Figure и переместите, поверните его, измените его размеры, чтобы подогнать по сетке. Начните с корневого элемента, или центра тяжести (СОМ), перейдите к тазовой области, а затем к позвоночнику. Настройте конечности, начав с бедра и ключицы. Если же у персонажа симметричный набор рук и ног, определите позу только для одной стороны, затем скопируйте ее и отобразите зеркально на другую сторону. Основная поза, которая считается исходной для персонажа и Biped, зависит от разрешения сетки персонажа. Для персонажей с более высоким разрешением, на задание веса которых вручную, вершина за вершиной, уходит много времени, нужно использовать позу да Винчи. Вы сами должны решать, настраивать ли каркас персонажа с низким разрешением в позе да Винчи.

Многие движки игр в реальном времени не поддерживают цели морфинга, которые используются для анимации разговора и различных выражений лица, в этом случае нужно применять кости. Для создания каркасов лица придется построить и связать объекты с объектом Biped Head (в 3ds max любой объект можно использовать в качестве кости). Тип используемого каркаса лица зависит от того, сколько полигонов составляют лицо и сколько нужно анимаций. В завершение необходимо присвоить контроллеры из панели Motion костям, присоединенным к Biped, - так они получат дополнительное движение, которое будет автоматически вычисляться в 3ds max при воспроизведении.

 

Собака


Собаки (и другие четвероногие животные) имеют специфическую и уникальную мускулатуру, которую при определении каркаса нужно тщательно изучить. Например, очень сложно увидеть колено, если только собака не согнула его. Собака ходит на пальцах ног. а не на ступнях, и объект Biped должен это отображать (рис. 2.35).


Рис. 2.35. Объект Biped можно использовать для того, чтобы анимировать ротвейлера

 



Сохранение позы Biped


Заключительный шаг в построении каркаса персонажа - его сохранение. Это следует сделать двумя способами и в двух форматах файлов character studio. Сначала в режиме Figure откройте свиток Biped и щелкните по пиктограмме Save File (Сохранить файл)

. Появится диалоговое окно Save as (Сохранить как), которое позволяет сохранить позу в режиме Figure в файле с расширением .fig (рис. 2.22).


Рис. 2.22. Не забудьте сохранить файл .fig, чтобы ссылаться на него в дальнейшем

Затем в качестве дополнительной страховки выйдите из режима Figure и снова сохраните позу персонажа, на этот раз в файле с расширением .biр. Для этого еще раз щелкните по пиктограмме Save File (рис. 2.23).

Каркас обычного игрового персонажа, такого как Betty, завершен. Теперь посмотрим, какие еще типы персонажей можно сконструировать с помощью Biped.

 



Создание каркаса персонажа с четырьмя ногами


Объект Biped прекрасно применим для создания обычного игрового персонажа, но что делать, если нужно сотворить насекомовидное чужеродное создание на четырех ногах, стремящееся подчинить и поглотить человечество?


Рис. 2.23. Сохранив не анимированную позу Biped в файле .Ыр, вы получите удобную экземплярную позу

В игре Betty Bad наша отважная полногрудая героиня должна отразить нападение чужака, который пытается захватить горнодобывающий комплекс на астероиде в глубоком космосе и съедает каждого горняка на своем пути. Это жестокое, ни перед чем не останавливающееся существо Widge. Он и его клонированные собратья - главные мишени для оружия ZU88 OmniGun персонажа Betty.

Загрузите файл Widge1.max (рис. 2.24).

 



Создание объекта Biped


Откройте панель Create с помощью соответствующей пиктограммы

, щелкните по пиктограмме Systems (Системы)
, а затем - по кнопке Biped, чтобы создать этот объект (рис. 2.4).


Рис. 2.4. Чтобы создать объект Biped, просто щелкните по кнопке Biped

Поместите курсор в виде стрелки на замороженные ступни сетки Betty, нажмите и удерживайте левую кнопку мыши и перетаскивайте указатель вверх до тех пор, пока упрощенная фигура Biped примерно не совпадет с сеткой персонажа. Отпустите кнопку мыши - объект Biped создан (рис. 2.5).


Рис. 2.5. Нажмите кнопку Biped и перетаскивайте упрощенную фигуру, пока она не покроет сетку

Чтобы объекты Biped выступали в роли ограничителей для решений обратной кинематики, нужно сделать их объектами-пустышками (dummy object), связанными с концами пальцев рук, верхом головы и концами пальцев ног. Всякий раз при создании Biped эти объекты-пустышки автоматически скрыты. Но если по какой-либо причине они отображаются, откройте панель Display

и отметьте в разделе Hide by Category (Спрятать по категории) опцию Helpers (Вспомогательные объекты) - рис. 2.6.

Теперь, чтобы точно подогнать Biped по сетке, нужно определить для него режим Figure. Считайте это особенное состояние объекта Biped исходной позой, которая используется, чтобы изменять каркас до. во время и после применения к ней анимаций. Откройте панель Motion (Движение) с помощью соответствующей пиктограммы

и назначьте для объекта Biped режим Figure, щелкнув по пиктограмме с изображением маленького человечка (он станет фиолетовым), - рис. 2.7.

Если к объекту Biped не применялись анимации, то, включив режим Figure, вы не заметите каких-либо изменений, но зато сможете настроить положение объекта, подогнав его по сетке. Чтобы центрировать объект Biped во внешней системе координат (и по отношению к сетке персонажа), выделите корневой элемент Biped, который также называется объектом СОМ (маленький ромб синего цвета рядом с прямоугольником тазовой области). Затем активизируйте пиктограмму Move (Переместить)

и щелкните по ней правой кнопкой мыши, чтобы вызвать окно Transform Type-In (Точное перемещение), - рис. 2.8.




Рис. 2.6. Скройте объекты-пустышки, так как необходимость аиимировать их не возникнет



Рис. 2.7. Чтобы подогнать объект Biped по сетке, нужно включить для него режим Figure



Рис. 2.8 С помощью окна Transform Type-In можно быстро и точно переместить объекты

Щелкните дважды по полю оси X, введите значение 0 и нажмите клавишу Enter. Если число не подходит и объект Biped не сдвинется с места, убедитесь, что перемещение не зафиксировано по оси X (нажмите клавишу F5), и попробуйте снова. Объект Biped центрирован, расположен на сетке персонажа - теперь можно двинуться дальше.

 

Тот самый да Винчи?


В 1490 году Леонардо да Винчи выполнил знаменитый эскиз, в основе которого лежит книга Витрувия об архитектуре. Иллюстрация была попыткой проверить математические формулы, которые предложил Витрувий для описания пропорций человеческой фигуры (рис. 2.43).

При создании каркаса Biped персонажа Betty его поза не совпадала с позой да Винчи из-за разрешения. Персонаж включает в себя около 2000 треугольников, он низкополигональный, и вручную задать веса можно достаточно быстро. Поза Betty не имеет особого значения, поэтому модель была построена в случайной позе. Однако, если бы персонаж имел более высокое разрешение, такое как на рис. 2.44, было бы верно обратное. Персонаж на рис. 2.44 находится в позе да Винчи потому, что состоит из 5663 полигонов. Он построен не для игры, а для приложения в реальном времени с танцем под музыку, воспроизводимую такими программами, как WinAmp.


Рис. 2.43. Поза «человека по Витрувию» да Винчи иллюстрирует относительные пропорции человеческой формы

Демонстрационную версию программы WinAmp можно найти на компакт-диске, прилагаемом к данной книге.

Персонаж с подобным разрешением настраивается именно в такой позе, этим способом лучше всего автоматически задавать значения веса, основанные на оболочках влияния. Другими словами, в этом положении основные кости лежащего в основе сетки каркаса находятся на достаточном расстоянии друг от друга, так что на окружающие вершины влияет правильная кость.


Рис. 2.44. Персонажи с более высоким разрешением должны находиться в позе да Винчи, иначе невозможно будет задать их веса

Для многих персонажей поза да Винчи неестественна, вряд ли они ее когда-либо примут. Но несмотря на это очень важно, чтобы модель персонажа находилась в своего рода исходной позе, в которой ее проще текстурировать (не передавайте художнику по текстуре персонаж в его типичной позе, не ждите, что он создаст проекционные координаты для этой позы). Однако, как в приведенном ранее примере с языком, поза да Винчи представляет предельную позу, которую мог бы принять персонаж и из которой можно получить на практике любую позу. На рис. 2.45 показан каркас сетки, приведенной на рис. 2.44.


Рис. 2.45. Каркас сетки с высоким разрешением имеет немного больше элементов, чем у обычного игрового персонажа



Этот каркас, называемый muppet, часто


 Единая челюстная кость (с направляющей)

Этот каркас, называемый muppet, часто используется для игровых персонажей, потому что единую челюстную кость можно легко переместить программными средствами пропорционально амплитуде звуковой волны. Дело в том, что если персонаж начинает говорить громче, ему приходится шире открывать рот.

Создайте куб, размеры которого соответствуют сетке. Откройте панель Hierarchy (Иерархия) с помощью соответствующей пиктограммы
, и центрируйте центр трансформаций: щелкните по пиктограммам Pivot (Центр трансформаций), Affect Pivot Only (Действовать только на центр трансформаций), а затем - по пиктограмме Center Pivot to Object (Центрировать центр трансформаций по объекту). Создайте и центрируйте объект-пустышку: щелкните по пиктограмме Helpers
, активизируйте кнопку Dummy (Пустышка) и щелкните в ортогональном окне проекции. Поместите объект-пустышку перед челюстью (и сеткой) и свяжите его с кубом, который вы создали ранее. Для этого щелкните по пиктограмме Select and Link (Выделить и привязать)
, а затем - по объекту-пустышке и перетащите пунктирную линию связи к кубу. Переименуйте квадрат в Jaw (Челюсть), а объект-пустышку - в Jaw Nub (Направляющая челюсти) - рис. 2.40.



Рис. 2.40. На уровне каркаса лица 1 требуется только челюстная кость и челюстная направляющая

В character studio направляющая Nub - это не только конечный объект для цепочки IK, он представляет собой звено в Physique, которому будут приписаны вершины. Преимущество использования объекта-пустышки под именем Nub состоит в том, что он соответствует структуре, которая уже была определена объектом Biped. Также он удобен тем, что его в любой момент можно скрыть вместе с другими пустышками, поставив нужный флажок на панели Display.

 

в себя анимацию глаз, поэтому,


 Единая челюстная кость (с направляющей)

 Закрывающиеся веки

 Двигающиеся глаза

Уровень каркаса лица 2 включает в себя анимацию глаз, поэтому, прежде чем приступать к моделированию, нужно хорошо продумать все детали. При применении опции Physique глаза должны быть закрыты, потому что деформировать сетку, открывающую глаза, проще, чем закрывающую их (представьте себе моргание глаза). Глазом может быть простой патч с несколько измененной геометрией, нужно лишь включить в него что-то похожее на радужную оболочку глаза (подойдут несколько перемещенных вершин), а геосфера (или часть геосферы) с умеренным разрешением может служить костью глазного яблока (рис. 2.41).



Рис. 2.41. На уровне каркаса лица 2 есть кости, отвечающие за моргание и движение глаз

Глазное яблоко состоит из жидкости, оно очень пластичное. Чтобы представить вязкую глазную жидкость, потребовалось бы неописуемо большое количество геометрии. Лучший способ представить объект глаза - это придать форму искривленному набору треугольников.

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

 

добавляются последние компоненты, которые


 Одиночная челюстная кость (с направляющей)

 Закрывающиеся веки

 Двигающиеся глаза

 Двигающиеся брови

 Артикулирующие губы

 Артикулирующий язык

На уровне каркаса лица 3 добавляются последние компоненты, которые любому персонажу придают реалистичные эмоции и позволяют произносить фонемы, - а именно брови, губы и язык (рис. 2.42).



Рис. 2.42. Уровень каркаса лица 3 включает в себя кости губ, бровей и языка

На рис. 2.42 язык показан отдельно для ясности: в действительности он находится внутри рта и пересекает геометрию головы. Это сделано из-за того, что соединять сетку со скелетом нужно в вытянутом состоянии. Положение языка определяется только после присоединения к кости. Сравните с хвостом или набедренной повязкой, которые редко бывают совершенно прямыми и вытянутыми.

Чтобы перейти к уровню каркаса лица 4, пришлось бы включить большее число костей, которые можно использовать для деформирования таких областей лица, как щеки, уши, области вокруг бровей и т.д. Но остановимся пока на этом. Чтобы лучше познакомиться с отношениями между связанными костями лица и модулем Biped, загрузите файл Doghead.max.

 

Задание типичного двуногого персонажа


В 3ds max Biped лучше использовать для костей, соответствующих костям реального существа, потому что с их помощью можно быстро и легко создать основу персонажа, дополнить ее обратной кинематикой (inverse kinematics - IK), суставными ограничениями (joint constraint) и всевозможными настраиваемыми параметрами, от числа пальцев до добавления хвоста. Но основное преимущество Biped - совместное использование файлов персонажей. Это относится и к его исходной позе, и к анимации методом ключевых кадров, и к данным захвата движения. Умение создать идеальную позу, шаги, бег или прыжки, а затем использовать любой из этих элементов или все вместе в других персонажах - ценное качество.

 



Загрузка сетки персонажа


Загрузите файл Betty04.max (рис. 2.1).



Рис. 2.1. Начните задавать каркас персонажа, загрузив его в 3ds max

При работе с сеткой нужно иметь в виду несколько моментов. Во-первых, все ее части должны быть разного цвета, чтобы их можно было быстро отличить друг от друга, а стеки частей тела свернуты.

Предполагается, что объекты сетки не будут существенно изменены. Это очень важно, так как если отсоединить присоединенную к Biped сетку, чтобы внести структурные изменения, то информация о предыдущем задании весов будет потеряна.

Лучше всего полностью текстурироватъ сетку до присоединения ее к каркасу Biped, однако более опытные моделлеры и аниматоры считают, что перед тем, как назначать текстуру, нужно несколько раз протестировать геометрию. Если добавлять геометрию на сетку или удалять ее после определения проекционных координат, то эти координаты впоследствии могут сместиться. Только с ростом опыта вы поймете: не стоит накладывать координаты UVW, пока нет уверенности в том, что геометрия анимирована должным образом.

Заметьте, что частям тела присвоены описательные имена: m_torso (туловище), m_headarmleg (голова, руки и ноги), m_gunarm (рука с оружием), m_gun (оружие), m_energy (мощность) и m_fanvent (воздухоотводящая труба). Символы m_, стоящие перед именем каждого объекта, гарантируют, что объекты будут расположены рядом в отсортированном списке при открытии окна выделения по названию. С помощью этих символов также можно быстро отличить объект сетки от объекта Biped.

Как упоминалось в предыдущей главе, игровые персонажи должны состоять из как можно меньшего числа объектов: так игровой движок быстрее выполнит их просчет. Определенные элементы можно отсоединить (detach) от основной сетки и держать их на некотором расстоянии друг от друга, тогда к ним будет легче получить доступ на этапе задания весов при построении каркаса персонажа. Объект m_headarmleg иллюстрирует, как можно, одним ударом убив двух зайцев, гарантировать наилучший доступ к вершинам. Такой объект сетки создавать нежелательно, но он позволяет сократить число объектов, необходимых для создания сетки персонажа (рис. 2.2).


Группировать определенные элементы ( или отделять их друг от друга) нужно также и по другой причине, а именно из-за необходимости поддерживать различные материалы/шейдеры (shader). Некоторые игровые движки не справляются с материалом Multi/Sub-Object (Многокомпонентный/Подобъект), поэтому приходится разделять объекты, присваивая им различные материалы/шейдеры. Иногда это нужно для достижения желаемого эффекта тени или обусловлено тем, что материалы объектов ссылаются на различные файлы текстур (рис. 2.3).



Рис. 2.2. Иногда сетка состоит из элементов, кажущихся несовместимыми



Рис. 2.3. Если материалы, присвоенные персонажу, ссылаются на разные растровые изображения, то объекты, которым присвоены эти материалы, иногда приходится отделять друг от друга

В случае с Betty объекты m_gun, m_energy и m_fanvent отсоединены от основной сетки, потому что им всем присвоен материал, который использует файл текстуры, отличный от файлов остальных частей персонажа. А объекты m_headarmleg, m_torso и m_gunarm отсоединены исключительно для того, чтобы упростить задание весов персонажа.

Отобразите все скрытые объекты сетки и заморозьте их. Так будет легче изменять созданный объект Biped, ведь возможность случайно выделить сетку, под которую вы его подгоняете, исключается.