Иногда области бедер и ягодиц доставляют столько же проблем, сколько и область плеч: они должны обеспечивать всевозможные движения ног. Больше всего внимания нужно уделить области ягодиц. Убедитесь, что при движении ноги вперед и назад форма большой ягодичной мышцы остается сплошной (рис. 1.41).
Теперь, когда вы вооружены всеми данными, необходимыми для создания персонажа, пришло время произвести некий экземпляр, с помощью которого и будет построен объект1. Существует два способа создания экземпляра: свободный и жесткий. Выбор подхода в большой степени зависит от позы и окончательного вида модели; каждый способ - это личное предпочтение художника. Betty Bad была создана с помощью свободного подхода (рис. 1.4).
Не присоединяйте верхние части ног к области паха. Оставьте в этой области пробел, чтобы гарантировать верное движение персонажа. Тогда при движении ноги будут выглядеть так, как надо. Это главным образом справедливо для движений в боевом искусстве. Особое внимание также уделите передней части бедер там, где верхняя часть ноги Biped присоединяется к тазовой области.
Создавая линию, не задумывайтесь о ее сложности: она будет использоваться лишь в качестве экземпляра.
Если вы нажмете на клавишу I, изображение будет выровнено по центру где бы ни находился курсор. При очерчивании контура это позволит вы создать непрерывные линии, не щелкая правой кнопкой мыши и не прокручивая вид, чтобы попасть в нужную область.
После того как контур изображения нарисован, выключите фоновое изображение, дайте линии название Guide (Направляющая) и используйте полученную форму в качестве вспомогательной для создания модели в любом виде (рис. 1.12).
Дизайн - отправная точка при построении персонажа, он должен быть заранее проработан до мельчайших деталей на бумаге, в глине или в программе Photoshop. Моделировать из образов, возникших в голове, - весьма полезный навык, но наличие некоего физического воплощения этого образа всегда гарантирует, что дизайн адекватен для персонажа. Визуализация персонажа должна целиком передавать его особенности, будь то просто набросок или проработанное изображение. В то же время хороший набросок, достаточно впечатляющий и обеспечивающий уникальную и интересную узнаваемость, также должен быть выполнимым. Работать приходится при ограничениях используемой технологии создания игр, и персонаж должен гармонично вписываться в мир игры, для которого он предназначен. Поэтому, создавая дизайн персонажа, прежде всего нужно помнить об эстетических требованиях, о технических ограничениях и об экземпляре (reference).Вперед
Вы видите руку Betty с пятью пальцами
«Осанистая привлекательная героиня-хулиганка, быть может, с ружьем, которое входит в ее боевое снаряжение, со взглядом, напоминающим взгляд воина из комиксов «British 2000 A.D.» или из фильма «Judge Dredd» (Судья Дредд)».
Уровень детализации экземпляра в этом описании оказался достаточным для того, чтобы сконструировать персонаж Betty Bad. Если художник, создающий модель, не ограничен в выборе дизайна, то свободный экземпляр такого типа вполне подойдет. Если же создаваемый персонаж должен напоминать по форме уже известный, то придется применить другой подход. Чтобы достичь нужного уровня детализации, когда это требуется, лучше представить себе экземпляр, больше напоминающий плоскую диаграмму, а не рисунок. Экземпляр, основанный на сложной позе, подходит для большинства моделлеров. однако всегда остается риск потерять или изменить что-то в первоначальном представлении персонажа, если этот способ используется как основа для построения сетки. Посмотрите, например, на некоторые изображения персонажа по имени Рыжая Моника (рис. 1.5).
На данном этапе размер изображения не так важен. Гораздо важнее то. что контейнер проецирования имеет квадратную форму. Другими словами, если контейнер квадратный, то проецирование в конечном итоге сможет соответствовать правилу «степени двух» (то есть текстура будет иметь размер 512x512 или 256x256). Визуализируйте объект при достаточно высоком разрешении, чтобы затем понижать его до нужного, а не повышать.
Применив карту, используйте и модификатор Unwrap UVW, чтобы привязать проекционные координаты к сетке. Визуализируйте каркасное изображение или сделайте снимок экрана - вы получите основное изображение, которое нужно применить к сетке, и сможете работать исходя из него при создании настоящей текстуры. Как только материал будет сделан, примените его, выключите все модификаторы Edit Mesh (но, конечно, не выключайте модификаторы UVW Map и Unwrap UVW). Сетка обретет исходную форму, но сохранит новые проекционные координаты. А вы сможете посмотреть, нет ли на спроецированной текстуре дефектов. Если они есть, просто снова включите модификаторы Edit Mesh и настройте их (или настройте модификатор Unwrap UVW). Если покрытие вас устраивает, можно приступать к созданию настоящей текстуры.
Эстетические требования - это то, как вы представляете внешний вид, как понимаете красоту. Эстетично то. о чем вы могли бы сказать: «Это классно». Возраст, вкус, образование, любимые фильмы, игры и произведения изобразительного искусства определяют это представление. Аниме и манга - весьма хорошие источники для творческого вдохновения при создании персонажей игр в реальном времени, особенно это касается работы традиционного моделлера и удивительного дизайнера персонажей Ясуши Нирасава (Yasushi Nirasawa). Стоит упомянуть также художников, работающих в стиле фэнтези и научной фантастики: Оскара Чичони (Oscar Chichoni), Брома (Brom), Саймона Бисли (Simon Bisley), Льюиса Ройо (Luis Royo), художника вселенной WarHammer Кевина Уолкера (Kevin Walker) и сотрудников Mutant Chronical Алессандро Хорли (Alessandro Horley) и Пола Боннера (Paul Bonner). Они работают в живом художественном стиле, все персонажи, созданные ими, весьма выразительны.
Каждый человек по-своему определяет то, что радует его глаз, но есть несколько факторов, которые влияют на эстетичность дизайна персонажа игр и/или ею управляют. Прежде всего, дизайн должен быть уникален, а также соответствовать письменному описанию (в той или иной форме), которое к нему прилагается. Даже по умышленно банальному описанию («Создайте такой же персонаж, как в игре X...») можно создать яркий, индивидуальный персонаж, если не пожалеть времени и хорошо его обдумать. Уникальность определяется не только в сравнении с персонажами, созданными ранее, но также по отношению к другим персонажам той же игры. Простой способ подчеркнуть индивидуальность персонажей -использовать различные цветовые комбинации, но самый эффективный метод создания персонажей, узнаваемых и отличимых друг от друга, - воспользоваться принципом силуэта. Рис. 1.1 иллюстрирует разницу в дизайне нескольких врагов из Betty Bad.
Но избежать автоматического присвоения одной группы сглаживания всем граням сетки игровым движком можно и другим, более популярным, способом. Вручную отсоедините грани и присоедините их снова только в определенных точках. Вы получите эффект выбора группы сглаживания, который работает при ограничениях, налагаемых движком игры в реальном времени, поскольку геометрия сетки не везде присоединена к основному объекту. Загрузите файл Betty02.max (рис. 1.25).
Исправьте лицо Betty в файле Betty02.max, отсоединив и присоединив снова определенные полигоны. Перейдите в режим просмотра каркаса, затем выберите и примените команду Detach to Element (Отсоединить в элемент) к граням, показанным на рис. 1.26.
Если нажать на клавишу F2, то выделенные грани станут сплошными и более заметными. Чтобы вернуться в обычный режим выделения, нажмите клавишу F2 еще раз.
Когда фоновое изображение перенесено в 3ds max, очертите его контуры инструментом Line, который находится на панели Create | Shapes (Создать | Формы). Убедитесь, что напротив опции Start New Shape (Начать новую форму) нет флажка, иначе вы создадите букет отдельных линий (рис. 1.11).
Включите и выключите модификатор соединения вершин Edit Mesh. Вы увидите результат ручной оптимизации сетки с помощью соединения нескольких вершин (рис. 1.33).
Область груди мужского персонажа деформируется очень мало, если вообще деформируется, поэтому она является первым кандидатом на оптимизацию, ее можно создать с помощью относительно простой геометрии по сравнению с дельтовидной областью плеча, состоящей из множества треугольников. В 3ds max вы можете быстро соединить две вершины, сначала выделив их и подняв порог Weld до очень большого числа (например, до 10 или даже до 100 в зависимости от масштаба персонажа), а потом нажав на кнопку Weld Selected. Еще один способ соединения вершины с любой соседней вершиной - это режим Target Weld (Целевое слияние).
С помощью модификатора Surface можно преобразовать сплайно-вый каркас или онлайновый каркас-экземпляр в параметрическую сетку. В файле Hair.max переместите вершины сплайнов вправо и посмотрите, как изменится геометрия сетки слева. В таком применении экземплярного объекта и заключается полезность инструментов Surface.
При работе со сплайновыми каркасами измените значение порога Weld (Слияние) на 0 (вместо значения 1, которое устанавливается по умолчанию). Так вы избежите появления надоедающего сообщения «Weld Coincident Endpoints?» (Объединить совпадающие конечные точки?), которое появляется, если вы перемещаете любые сегменты или сплайны (рис. 1.20).
Программа 3ds max содержит замечательный урок, в котором показано, как применять модификатор Surface. Поэкспериментируйте с этим мощным инструментом - и вы быстро научитесь создавать волосы или даже персонажа с помощью сплайнов. Возможность моделирования в различном разрешении может даже привести к точному заданию количества треугольников, необходимых для создания персонажа.
Рис. 1.20 Уменьшите порог Weld, чтобы не видеть раздражающее сообщение
Другой полезный способ моделирования - использование булевых операций. При этом методе для достижения нужной формы используются объединение, вычитание или пересечение двух объектов. Этот метод подходит для соединения конечностей с туловищем или для присоединения ног к тазовой области. Единственным недостатком использования булевых операций является то, что создается избыточная геометрия, которую приходится подчищать. Например, посмотрите на рис. 1.16. Когда бедра и ноги Betty построены и полностью завершены (А), их располагают так, чтобы они пересекались (В). После того как их объединят с помощью логической операции Union, создается лишняя геометрия С). Betty получает ноги после вычищения геометрии, настройки формы с последующим зеркальным отображением соответствующих граней (D).
В 3ds max есть несколько способов использования экземплярного изображения. Вы можете поместить одно из них на фон, отобразить на плоскость на экране или же вывести его с помощью пиктограммы Asset Browser (Обозреватель ресурсов), которая доступна на панели команд Utilities (Утилиты), - рис. 1.7.
Этот метод - подход к моделированию в соответствии с условием: «Дайте мне достаточно материала для работы». Во всех пакетах моделирования есть огромное число примитивов (primitive), с которыми можно работать, придавая им любую форму, например параллелепипеда, цилиндра, сферы.
Один из лучших примеров этого метода моделирования - совместное использование цилиндра и экземплярной направляющей для построения ноги (рис. 1.14). Для начала нужно создать достаточное число сторон и сегментов цилиндра (А), примерно соответствующее количеству вершин в опорной линии (сегментов); затем они в грубом приближении подгоняются при помощи простых трансформаций, чтобы соответствовать направляющей (В). Настроив форму в виде спереди так, чтобы она соответствовала перспективе направляющей, измените геометрию ноги с помощью разделения ребер, перемещения положений и вершин. Таким образом, форма оптимизируется и завершается (С).
Из примитивов можно создать основную форму, а затем изменить ее так, как нужно
Тонкость моделирования, проиллюстрированная примером на диске, заключается в том, чтобы сначала задать нужные вершины, которые являются неотъемлемой частью конечной формы ботинка. Не забывайте, что число вершин, составляющих сетку, примерно равно половине числа граней. Если вы знаете, из скольких граней хотите создать модель с низким разрешением, просто сократите число изолированных вершин до половины этого значения (1000 граней = 500 вершин).
На панели Sub-Object (Подобъект) находится счетчик для выделенных подобъектов, таких как вершины, ребра и грани (рис. 1.18).
Таким образом вы увеличите пространство, которое занимает панель, и вам не придется все время прокручивать ее вниз или вверх, чтобы найти нужный раздел. Затем выделите вершины по периметру группы граней, которые вы только что отсоединили. В поле Weld Selected (Слить выделенные) оставьте значение 0,1 и объедините выделенные вершины, щелкнув по кнопке Selected (Выделенные), - рис. 1.28.
Поверните изображение, чтобы увидеть геометрию задней стороны головы. Заметьте, что грани вокруг носа обведены линиями, хотя в этой области линий не должно быть видно (рис. 1.29). Так обозначены отсоединенные грани и/или вершины.
Линии можно видеть сквозь объекты, только если в окне Properties (Свойства) объекта выбрана опция Backface Cull (Убрать задние грани).
При визуализации сетки, к которой применен каркасный материал, ребра нужно выделить и сделать видимыми (рис. 1.53).
Получение хорошей текстурной карты при создании персонажей игр в реальном времени - процесс субъективный, и он становится все субъективнее при рождении персонажа. По-настоящему великие художники просто начинают рисовать и не останавливаются до тех пор, пока их цифровое произведение не будет завершено. Художники по текстуре Джон Мюллер (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.43).
Но если вы создаете пальцы, нужно добавить и суставы пальцев, чтобы обеспечить правильную анимацию, а также геометрию аналогично тому, как это делается для локтей и коленей (рис. 1.44).
Выделите треугольники верхней губы и примените к ним команду Detach to Element. Сделав верхнюю губу отсоединенным объектом, вы устраните неестественный эффект равномерного сглаживания, а поверхность вокруг губ станет более реалистичной (рис. 1.30).
С локтями и коленями работают по тем же правилам. При присоединении руки (или ноги) необходимо создать достаточное количество геометрии, чтобы рука при движении не накладывалась сама на себя (рис. 1.42).
Чтобы форма сустава не менялась, воспользуйтесь дополнительной геометрией, которая «раскроется веером» при соединечии конечностей
Чтобы разместить элементы, воспользуйтесь модификаторами Edit Mesh. Убедитесь, что при применении нового модификатора не выделены подобъекты - это отрицательно скажется на конечном результате.
Теперь сетка - поверхность непрерывная, и швов в текстурном покрытии не будет. Однако конечные элементы1 искривлены, и их тоже нужно сшить или задать им повторяющиеся узоры (tile). Для этого просто плавно переместите элемент справа налево вдоль оси X и соедините вершины на стыке двух элементов (рис. 1.51).
И наконец, расположите остальные элементы так, чтобы сетка имела полностью бесшовный на краях и однородный проекционный вид (рис. 1.52).
Другим преимуществом данного метода проецирования является то, что вы можете определить каркасный материал для сетки и визуализировать ее в любом разрешении.
В 3ds max (как и в других пакетах моделирования) есть несколько способов достижения одной и той же цели. Лучшим подходом моделирования персонажей игр в реальном времени является полигональное моделирование (polygon modeling). Патчевое моделирование (patch modeling) особенно полезно при создании естественной геометрии или геометрии мягкой поверхности, например волос, одежды или волнистых поверхностей, как вода. Другие методы моделирования, такие как неоднородные рациональные В-сплайны (NURBS) и поверхности разделения, также эффективны и ценны. Но они больше подходят для высокодетализированных, а не низкополигональных игровых персонажей. Моделирование на уровне объекта или подобъекта с использованием вершин, ребер и граней - безусловно, лучший способ управлять сложностью поверхностей и, что более важно, формой модели персонажа.
Вот некоторые общепринятые методы полигонального моделирования: использование примитивов, выдавливание форм или граней, применение булевых операций и даже использование модели с высоким разрешением в качестве шаблона, по которому будет построена модель с более низким разрешением.
В основе прекрасной анимации персонажей лежит хорошо построенная модель, где правильно продуманный дизайн успешно воплощен в трехмерном объекте. Самый важный аспект модели с этой точки зрения - ее форма. Если давать четкое определение, то форма характеризуется распределением вершин, ребер и граней. В хорошей модели персонажа игры в реальном времени вся геометрия используется лаконично и эффективно -все вершины важны. Первым шагом на пути создания нужной формы является оптимальное использование экземпляра, на создание которого вы потратили так много времени.
Форма персонажа игры в реальном времени определяет то, как он будет выглядеть, а функции - то, как форма будет деформироваться при выполнении анимации. Функцию очень важно учитывать при построении модели персонажа. Ведь персонажи игр в реальном времени - не неподвижные статуи, восхищающие своей художественностью. Напротив, они должны убедительно двигаться, как живые создания. При движении им придется поворачиваться, растягиваться, сгибаться и вообще деформироваться должным образом - и все это при условии ограничения числа полигонов. Чтобы сетка персонажа имела нужную функциональность, она должна одновременно обеспечивать доступ к вершинам во время задания веса и соответствовать всем технологическим ограничениям, наложенным игровым движком. Однако важнее всего то, что сетка должна соответствовать анимации геометрически и быть выровнена правильно по объекту Biped (Двуногий) во время создания каркаса (rigging) и задания веса в character studio.
принимайте в расчет каждую вершину. Всегда помните об этом при моделировании. Более подробно об этом рассказывается в разделе «Оптимизация» ниже в данной главе, но это очень важный момент, о котором нужно помнить и который следует обдумать;
настройте программу моделирования «под себя». Это относится к любым опциям моделирования и к использованию «горячих» клавиш, что ускоряет работу. Заставьте инструмент работать на вас, а не наоборот. Чем комфортнее вы ощущаете себя в среде моделирования, тем лучше будет результат работы и тем быстрее вы его достигнете;
используйте наиболее подходящие для себя методы. С любой программой, в том числе и с 3ds max, полезно экспериментировать, и не стоит бояться использовать то, что вам больше нравится. На моделирование и анимацию больше, чем любой другой фактор, влияет личность моделлера и степень удобства его работы с методом. У каждого есть свои методы и свои причины, по которым он выбирает эти методы. Никогда не вините себя за лишь поверхностное использование программы моделирования. Конечный результат, а именно прекрасная модель, - это все, что должно вас волновать.
Она - весьма полногрудая роковая женщина из комиксов Джо Мадейры (Joe Madeira) под названием «Battle Chasers» (Искатели сражений). Чтобы построить модель персонажа, соответствующую такому дизайну, нужно воспользоваться более жестким экземпляром, чем просто высокохудожественная иллюстрация из комиксов. Нужно создать диаграмму персонажа (рис. 1.6).
Использование сетки с высоким разрешением для построения сетки с низким разрешением формально можно рассматривать как метод оптимизации, но на самом деле при этом приходится больше строить, чем сокращать.
Объект Biped создается после завершения сетки, поэтому узнать, какие изменения нужно внести до завершения сетки, практически невозможно. Однако не стоит бояться изменять сетку во время анимации.
Кроме того, важно понять, соответствует ли дизайн персонажа жанру игры, будь то научная фантастика, фэнтези или вестерн. И наконец, на дизайн оказывает сильное влияние итоговое число полигонов персонажа, хотя это можно отнести и к техническим ограничениям. Персонажи игр в реальном времени имеют полигональную природу, поэтому добиться убедительно естественных мускулистых форм, развевающихся одежд или волос трудно, если персонаж составлен менее чем из 1000 треугольников.
Однако, если персонаж слишком часто сгибает руку, то иногда нужно добавить дополнительный ряд вершин вдоль верхней части запястья. Это справедливо и для задней части лодыжки.
При построении персонажа всегда помните об областях, которые будут деформироваться при анимации. В конечном счете, лучший способ увидеть, каким областям требуются дополнительные треугольники, - это присоединить к объекту Biped сетку, задать ее веса и анимировать. Только через этот процесс вы найдете ответы на все вопросы о том, насколько модель соответствует анимации.
Проекционные координаты обозначаются в соответствии с тремя пространственными осями отображения, которые известны как UVW. (Эти оси можно было бы .задать любой последовательностью букв. Они названы так потому, что буквы UVW предшествуют XYZ в английском алфавите. Буквы X, Y и Z, конечно, обозначают три пространственные оси декартовой системы координат.) Каким бы хорошим художником вы ни были, если вы не натянете холст правильно, то не получите произведение искусства, к которому стремитесь. Так же и с персонажем игры в реальном времени. Вы должны быть уверены, что проекционное покрытие, определенное для персонажа, тщательно продумано, завершенно и эффективно, тогда вы обеспечите себя наилучшим холстом, на котором сможете создать текстуру.
Ниже описан один из многих способов применения проекционных координат к модели. Он эффективен, но не бойтесь попробовать и другие. Для начала представьте себе модель в частях как набор плоских изображений, собранных в трехмерном пространстве, которые аппроксимируют нужный вам вид. Плоские изображения представляют собой проекционные плоскости или проекции текстурной карты, которые, если их собрать вместе, составят развертку модели.
Загрузите файл Head 1.max (рис. 1.47).
В полях раздела Offset Screen (Экранное смещение) введите значения 0 - и выделенные вершины сразу же сожмутся и сойдутся в одну точку, но не будут объединены. К сожалению, в этом состоянии вы совершенно не можете слить или каким-либо другим образом соединить вершины элементов. Это нарушит замысел метода, так как изменится суммарное число и нумерация вершин сетки. Возможность уменьшить размер вершин путем ввода значения 0 является одним из преимуществ использования метода проецирования вместо модификатора Unwrap UVW. После того как уменьшен масштаб вершин, а элементы соединены друг с другом, сетка должна иметь вид, который представлен на рис. 1.50.
Исправление аномалий сглаживания и вмятин путем разворачивания неподдающихся ребер - это один из способов содержать элементы в порядке. Важно также убедиться, что модель оптимизирована и рациональна. «Рациональна» означает, что каждая вершина должна быть значимой. -она существует для того, чтобы поддерживать форму дизайна. Персонажи игр в реальном времени всегда строятся и анимируются при ограничениях на число полигонов, поэтому дополнительные вершины, которые не несут смысловой нагрузки, являются просто ненужными треугольниками, которые могут превысить предел числа граней.
Чтобы следить за числом полигонов, воспользуйтесь инструментом Polygon Counter (Счетчик полигонов), который находится на панели Utilities в 3ds max. Вы сможете ввести предел числа граней персонажа, а для обозначения того, что вы приближаетесь к предельному значению числа граней, используется простая цветовая схема (рис. 132).
Существует также модификатор (и очень полезный) MultiRes (Муль-тиразрешение), с помощью которого можно следить за основными показателями оптимизации, но в большинстве случаев лучше проводить оптимизацию вручную. Это немного медленнее, чем нажатие на кнопку, но зато вы получите полный контроль над (иногда) мучительным процессом упрощения.
Модификатор MultiRes - отличный инструмент для уменьшения количества граней «на скорую руку», потому что он дает возможность сохранить при оптимизации остальной части сетки проекционные координаты UVW (об этих координатах будет рассказано далее) и определенные вершины. Этот модификатор удобно применять для быстрого создания различных уровней детализации.
Каким бы способом вы ни избавлялись от ненужных вершин, не стоит беспощадно «истреблять» их. Даже если предельное число граней мало, не допускайте небрежностей. Отыскивая и уничтожая случайные вершины, которые не вносят свой вклад в определение формы, вы создадите наиболее эффективную модель, оставив на другие части игры (оружие, эффекты, окружающая среда) большее число треугольников. Таким образом, уровень качества и скорость игры останутся на максимально высоком уровне.
Ниже представлены некоторые общие советы по моделированию, которые применимы почти ко всем программам для моделирования:
на каждом этапе создавайте одну часть персонажа. Сосредоточьте внимание на одной конкретной области и добейтесь того, чтобы она выглядела так, как вы хотите, и лишь потом переходите к следующей. Продолжайте моделировать голову до тех пор, пока она вам не понравится, затем переходите к туловищу. Не бойтесь создавать отдельные части тела и сохранять их в разных файлах. Вы сможете позднее встроить эти части в основной файл модели персонажа. Этот подход работает также и для элементов частей тела. Постройте идеальный нос, глаз или ботинок. Создайте собственную мастерскую тел, если хотите; по возможности делите персонаж на части. Нужно ли каждый раз моделировать персонаж «с нуля»? Необходимо построить исходную модель персонажа от начала и до конца по крайней мере один или два раза, чтобы набраться опыта, но нет нужды каждый раз «изобретать велосипед». При построении модели подумайте о создании будущих персонажей. Когда вы достигнете той стадии разработки модели, на которой она уже почти завершена, сохраните ее на будущее в отдельном файле в качестве экземпляра и продолжайте работу. С подобной коллекцией частей тела и целых персонажей вы сэкономите усилия и - что важнее - время; работайте в одном окне. При моделировании используйте как можно большее пространство. Иногда бывает необходимо открыть несколько окон или видов, но не увлекайтесь этим. С вида на вид переключайтесь с помощью клавиш F (вид спереди), L (вид слева) или Т (вид сверху); создавайте половину объекта. Если геометрия вашего персонажа симметрична, в начале работы постройте линию, разделяющую его пополам. Это позволит вам строить половинами: построить одну часть, а затем скопировать ее, отобразить зеркально и добавить копию к исходной первой половине. Помимо экономии времени и усилий в процессе моделирования с помощью этого метода можно сократить и процесс текстурирования (об этом рассказывается ниже). Создавая экземпляр методом зеркального копирования, вы сможете одновременно модифицировать обе половины, внося изменения только в экземпляр половины. Экземпляр - это термин 3ds max. Если это копия, то все, что вы делаете на исходной половине, отражается и на копии. Таким образом, вы лучше увидите, как изменяется симметричная сетка при построении (рис. 1.13);
Теперь снова включите режим сглаженного затенения. Вы увидите, что поверхность лица выглядит гораздо яснее, а черты проще различить (рис. 1.31).
Еще раз заметим, что причиной, по которой производится этот процесс «отсоединения и соединения вновь», является то. что многие движки игр в реальном времени игнорируют группы сглаживания, которые вы определяете в 3ds max, и при перерисовывании сетки персонажа во время визуализации применяют свои формы сглаживания. Это единственный способ смоделировать несколько групп сглаживания. Постоянное управление ребрами и группами сглаживания таким способом обязательно, если вы хотите достичь наилучшей формы поверхности сетки персонажа.
Разбив сглаживание вручную, вы сделаете поверхность лица лучше
Стоит упомянуть и еще один подход (хотя он и не является полигональным) - использование инструментов Surface Tools (Инструменты работы с поверхностью). Этот метод патчевого моделирования основан на си минах (spline) и идеально подходит для создания волос и другой естественной геометрии, так как сетка создается на основе настраиваемых сплайнов. Загрузите файл Hair.max (рис. 1.19).
Плечо анимированного персонажа - возможно, самая трудная область, с которой приходится работать. К сожалению, это очень сложный механизм, который нелегко удачно аппроксимировать, даже если персонаж имеет большое число полигонов. По возможности воспользуйтесь простым способом - отсоедините руки с помощью подхода «по созданию героя action» и просто приблизьте руку и плечо к туловищу. Спрятать руку под броней - еще один способ избежать многочисленных усилий, которые требуются, чтобы правильно деформировать плечо (рис. 1.37).
Упростите себе задачу - спрячьте плечи под эполетами
Если число полигонов персонажа велико (от 4000 до 6000 треугольников), то можно расположить грани в виде гармошки/веера. Тогда плечо будет хорошо деформироваться как в виде спереди (рис. 1.38), так и в виде сверху (рис. 1.39).
Добиться правильной формы плеча получится далеко не с первого раза. Кроме того, плечи у каждого персонажа свои. Самое главное, что необходимо сделать для получения удачной геометрии плеча, - это добиться, чтобы в различных положениях его форма менялась как можно меньше и чтобы плечо выглядело правильно в позах, которые встречаются наиболее часто.
При движении руки вверх или вниз плечо должно как можно меньше изменять форму
Нужно также учитывать и движение из стороны в сторону
В том, что касается функциональности, остался еще один вопрос - выравнивание сетки по объекту Biped, к которому она будет присоединена. Суставы Biped вращаются вокруг собственного центра трансформаций. Чтобы придать Biped нужную геометрическую форму, можно переместить основания пальцев ног и рук, изменить размеры любой конечности. Но это все, что вы можете (и хотите) сделать с каркасом, лежащим в основе объекта. Чтобы гарантировать выполнение определенной функции, иногда нужно подогнать сетку по Biped. Это значит, что нужно лишь переместить некоторые вершины и выровнять их с суставами, на которые они будут влиять (рис. 1.46).
На рис. 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.47, представляет собой голову персонажа с большим числом полигонов. Команда Detach to Element была применена к ее граням, которые выступают в роли разделителей листов с полигонами, а они, в свою очередь, образуют уникальную плоскую проекцию. Процесс применения проекционных координат начинается с проверки того, что элементы на самом деле отсоединены и их можно перемещать (рис. 1.48).
Расположите все элементы так, чтобы они были максимально видны в окне проекции Front (Спереди). Таким образом, окно проекции по существу становится окном плоской проекции модели. Чтобы поставить элементы на место, воспользуйтесь командой Snap (Привязка) или Snap to Vertex (Привязка к вершине), но будьте осторожны и не нарушьте то выравнивание вершин, которое присутствовало, когда они были одним целым.
Что касается групп сглаживания (smoothing groups), то на многих движках игр в реальном времени нет способов распознавания различных групп сглаживания сетки, если только вершины, составляющие треугольник, не разделены. Это досадный недостаток технологии, но его легко устранить.
Загрузите файл Betty0l.max (рис. 1.24).
В файле Betty0l.max выделите сетку, включите и выключите модификатор Edit Mesh, чтобы посмотреть, как соединение геометрических составляющих на задней части модели отражается на сглаживании, а затем удалите модификатор. В сетке Betty нет проблем с излишним сглаживанием, так как ее геометрические составляющие пересекаются друг с другом и образуют линию складки там, где соприкасаются грани: создается более реалистичный вид, и вершины не соединяются между собой. Этот метод особенно хорошо работает при сборке женских персонажей.
При формировании группы уникальных персонажей используется один прием. Это разработка общих правил и характеристик для создаваемых персонажей. Например, в игре Betty Bad чужаки отличаются по размеру и конфигурации, но у всех есть общий элемент дизайна - яркое пятно (глаз или отверстие). Почти всегда это пятно красного цвета, но иногда его цвет меняется. На рис. 1.2 показаны лишь несколько из множества персонажей, которые при разработке Betty Bad создал с помощью этого обычного дизайнерского приема известный художник и дизайнер, работающий по контракту, Ричард Хескокс (Richard Hescox), www.richardhescox.com.
После или даже во время построения модели неплохо исследовать поверхность или грани сетки на наличие дефектов, которые нужно устранить. Если вы будете внимательно следить за сеткой, то в результате получите хорошую форму. В первую очередь следует устранить изъяны граней. Если на сетке есть вмятина там, где ее быть не должно, разверните ребра, чтобы воссоздать иллюзию целостного объекта. Иначе на поверхности будут небольшие (или большие) геометрические недостатки.
Выявлять некорректные ребра проще, если вы просматриваете модель в режиме граненого (facets) затенения, а не сглаженного (smooth). В левом верхнем углу щелкните правой кнопкой мыши по имени демонстрационного окна и выберите пункт Facets (Грани) - рис. 1.21.
Очень важно убедиться, что вы применили модификатор Edit Mesh до того, как начали изменять положение элементов. Данный метод основывается на возможности выключить модификатор Edit Mesh, если применены модификаторы. UVW Map (UVW-карта) или Unwrap UVW (Развернуть проекционные координаты). Можно запросто начать перемещать элементы, вообще не применив к стеку модификатор Edit Mesh.
Затем выделите вершины на границе тех элементов, которые вы хотите присоединить так, чтобы образовать непрерывную поверхность. Вызовите окно Transform Type-In (Точное масштабирование), выбрав пиктограмму Scale Transform (Преобразование масштабирования) и щелкнув по ней правой кнопкой мыши (рис. 1.49).
Перейдите в режим просмотра со сплошным затенением и осмотрите модель из файла Edge.max в окне проекции Perspective (Перспектива). Включите и выключите модификатор Edit Mesh (переименованный в edge turn), и вы увидите изменения, которые вносят выгнутые ребра. Выгибание ребер приводит к тому, что поверхность выглядит более гладкой и однородной, так достигается более реалистичное впечатление объема.
Освещение, устанавливаемое в 3ds max пo умолчанию, пригодится, если нужно найти на сетке изъяны поверхности. Воспользуйтесь командой Arc Rotate (Поворот по дуге) или нажмите сочетание клавиш Ctrl+R, чтобы повернуть при текущем освещении и положении теней окно проекции вокруг сетки, - и вы сможете увидеть ребра, которые нужно развернуть.
С помощью модификатора Smooth (Сглаживание) можно очень быстро удалить группы сглаживания модели и придать ей граненый вид. Тогда, даже если вы находитесь в режиме просмотра со сглаженным затенением, модель будет выглядеть так же, как в режиме с граненым затенением (рис. 1.23).
Прежде чем применять булевы операции, убедитесь, что вся геометрия замкнута. Чтобы замкнуть любую из открытых частей, воспользуйтесь модификатором Cap Holes (Закрыть отверстия) или вручную постройте грани. Если вы не замкнете открытые области, метод, возможно, не будет работать или результаты будут не совсем такие, как вы ожидали.
Просматривать экземпляр с помощью модуля Asset Browser удобно потому, что во время построения можно видеть и сетку, и изображение, которое является ее основой. Однако лучший способ применения экземплярных изображений - это преобразование их в трехмерный контур. Для этого перенесите в 3ds max изображение как фоновое изображение окна проекции. Затем с помощью инструмента Line (Линия) очертите контуры изображения и создайте трехмерную версию экземплярного рисунка или картинки. Заметьте, что, прежде чем переносить рисунок в 3ds max, нужно его подготовить: затените его и измените его размер в Photoshop или в любой другой программе-редакторе двумерных изображений (рис. 1.8).
Что касается качества текстурной карты, то успех всего произведения определяется талантом, воображением и чувством рациональности. Убедитесь, что текстура отображается при анимации. Текстура в виде тени на внутренней стороне бедра персонажа в статической среде выглядит прекрасно, но когда среда освещается и затеняется динамически (а так и бывает на большинстве игровых движков), та же самая неестественная тень может выбиваться из общего вида и отрицательно влиять на качество персонажа.
Текстурная карта Betty Bad рационально заполняет растровый файл
Если сетка искажена, как меркаторова проекция Земли1, то к ней можно применить модификатор UVW Map. Измените пропорции контейнера проецирования объекта на квадратные, чтобы подогнать объект по конечной текстурной карте размером 512x512 (рис. 1.54).
Betty разбита на части именно таким способом по двум причинам: чтобы не нарушить дизайн игры и для легкости доступа при задании весов. Первоначально предполагалось, что конец ружья Betty будет переключаться между двумя видами в зависимости от того, какой тип конфигурации или энергии она выбрала. И хотя эта идея была отвергнута, элемент остался отдельным (на всякий случай). Остальные объекты отделены только для легкости доступа в процессе назначения весов. Нет смысла бороться с расположением и изолированием вершин, которые находятся неудачно близко друг к другу, если с этим ничего нельзя сделать. Выбор между упрощением работы и риском ухудшить качество представления благодаря наличию множества объектов - это осознанное решение, и насколько оно удачно - зависит от вашего опыта.
Чтобы изменить цвет сетки, просто щелкните по маленькому цветному квадратику вверху справа (рис. 1.35).
Изменить цвет сетки очень легко
Если у вас есть доступ к моделям с высоким разрешением, вы можете использовать одну из них в качестве шаблона (template). Эти модели не подходят для моделирования персонажа игры в реальном времени, так как в них слишком много полигонов, а сколько усилий уйдет, чтобы оптимизировать такие модели, - даже страшно представить. Но что если наложить низкополигональную сетку поверх модели с высоким разрешением, как если бы вы переводили фотографию на кальку? В этом заключается логическое завершение использования экземпляра. Иными словами, вы переносите персонаж в сцену в 3ds max, чтобы ориентироваться на него при построении модели. Только подумайте - это был бы прекрасный экземпляр!
Конечно, чтобы построить сетку таким образом, нужна исходная сетка с высоким разрешением. Загрузите файл Boot.max, чтобы увидеть этот процесс (рис. 1.17).
В среде игр в реальном времени хорошим тоном считается максимально объединить сетку со всем персонажем, чтобы игровой движок обрабатывал меньшее число элементов. Это значит, что модель персонажа составляется из наименьшего числа отдельных объектов. Загрузите файл Betty03.max.
Обратите внимание на то, как разбита сетка. На рис. 1.34 одним объектом являются левая рука и туловище, включая правое плечо (1); голова, правая рука и левая нога (2); бедра, лодыжки и правая нога (3) и конец ружья (4).
Настройка шеи и головы - достаточно простая задача. Голова всегда полностью совпадает с головой объекта Biped и, если только персонаж не разговаривает, является единой массой, которая поворачивается вокруг шейного сустава. Обычно шея с головой не сильно деформируется, но иногда при повороте головы самые верхние вершины могут слегка изменить форму. Уделять этим объектам много внимания нужно, только если у персонажа длинная, гибкая шея (рис. 1.36).
Голова и шея легко связываются друге другом, вам не нужно добавлять слишком много дополнительной геометрии
Большая функциональность сетки персонажа обеспечивается ее структурой. Однако, чтобы персонаж должным образом поддерживал анимацию или соответствовал ей, у него должно быть достаточное число вершин и граней в основных областях во избежание уродливых складок или свертывания. В этом разделе рассказывается о различных областях модели, которым нужно уделить особое внимание в процессе анимирования персонажа.
Талию довольно легко анимировать. Просто добавьте достаточное число треугольников и расположите их надлежащим образом, чтобы обеспечить повороты и наклоны туловища (рис. 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, при которой анимации проигрываются с помощью костной структуры внутри персонажа. Анимация хронометрирована отрезками времени, а не кадрами. Любая из этих систем могла бы также основываться на реальном структурном разделении, при котором голова будет объектом, отдельным от туловища, а последнее, в свою очередь, будет отделено от ног. Подобное дробление персонажа исключает применение подходов, основанных на том, что персонаж состоит из единой цельной сетки.
С помощью уровня детализации на дизайн персонажа накладывается
С определенностью сказать, что персонаж «создан, чтобы двигаться», невозможно без такого важного понятия, как текстурные карты (texture map). Успех персонажа в значительной степени зависит от них. Текстурные карты - это файлы с изображениями, которые накладываются на сетку и создают иллюзию того, что персонаж имеет реальную поверхность. Хорошую текстурную карту составляют два отдельных элемента: координаты UVW (UVW coverage) и качество текстуры (quality of texture).
Лучший способ детально проследить свою работу - это нажимать клавишу W при моделировании в одном демонстрационном окне. Вы даже можете убрать командную панель, нажав на клавишу 3, чтобы освободить больше места1". А если вы считаете себя смельчаком, нажмите сочетание клавиш Ctrl+X - и все меню, кроме самой верхней строки, исчезнут.
Если экземплярные изображения сохранены на жестком диске компьютера, то перенести их в 3ds max не составит труда. Однако, если эти изображения не были созданы в графической программе или программе для рисования, такой как Photoshop, вам понадобится приличный планшетный сканер, чтобы перенести цифровую копию в 3ds max (цена на качественные сканеры падает, поэтому приобретение его с годами окупится). Использование экземпляра независимо от того, как вы перенесли его в 3ds max, всегда приводит к более цельному и точному следованию дизайну. Таков первый шаг к созданию и поддержанию формы. После того как вы завершите работу с экземпляром, можно переходить к моделированию.
Щелкните по кнопке ОК - и изображение с правильными пропорциями и с фиксированным размером по отношению к элементам управления окна появится на фоне окна проекции. Если в окне проекции отображается координатная сетка, а вы хотите лучше рассмотреть изображение, выключите сетку. Это можно сделать, нажав на клавишу G.
Если по каким-то причинам изображение не появилось, когда вы пытались перенести его на фон окна проекции, вернитесь в меню Views и щелкните по пункту Update Background Image (Обновить фоновое изображение) или нажмите сочетание клавиш Alt+Shift+Ctrl+B (рис. 1.10).
Выдавливание (extrusion) - еще один часто применяемый при моделировании персонажей метод. На рис. 1.15 показано, как с помощью выдавливания формы и выдавливания граней был быстро построен эполет Betty Bad. Сначала был создан контур формы, которая образует поперечное сечение (А). Затем к ней применили модификатор Extrude (Выдавливание) с тремя сегментами, и форма была выдавлена наружу, получив глубину (В). Далее, чтобы выровнять вершины и выделить грани на верхней части плеча (С), был применен модификатор Edit Mesh (Редактировать сетку). Затем с помощью кнопки подобъекта Extrude выделенные грани были выдавлены вверх, чтобы добиться соответствия нужной форме (D). И наконец, форму настроили, оптимизировали и поместили на нужное место (Е).
Отличный способ моделирования — выдавливание как контурных форм, так и граней
По умолчанию командная панель в правой части представляет собой один столбец, который вы можете прокручивать вверх или вниз. Но ее можно отобразить и другим способом - в виде двух столбцов. Для этого поместите курсор над правым краем окна проекции (над левым краем панели) и удерживайте его в этом положении, пока не увидите горизонтальную стрелку изменения размеров окна. Затем нажмите левую кнопку мыши и перетащите указатель влево (рис. 1.27).
Для запястий и лодыжек требуется очень мало дополнительной геометрии. Обычно для поддержания их формы полигонов хватает, и если иногда подобные части тела деформируются неправильно - на это можно закрыть глаза (рис. 1.45).
Самое главное при выборе экземпляра - воспользоваться тем, который вам удобнее. Если вам нравится небрежный набросок на салфетке и моделлер с этим согласен - пусть будет так. Если же требуется чрезвычайная точность, примените более схематичный подход. Это гарантирует, что моделлер воссоздаст персонаж наиболее правдоподобно.