Вход в систему
Информация по игре "Unreal Tournament 2003"
Название: Unreal Tournament 2003 PC
Версия игры:
Жанр: Action
Мультиплеер: Интернет, локальная сеть
Разработчик: Digital Extremes, Epic Games
Издатель: Infogrames
Дата выхода: зима 2002
Сайты игры:
http://www.unrealtournament2003.com
http://www.unrealtournament2003.com
Объем: Три CD
Минимум: CPU 733 MHz, 128Mb, 32 Mb Video
Рекомендуем: CPU 1 GHz, 256Mb, 64 Mb Video
Последние статьи
Самые комментируемые статьи
Игромодельер. Создание модели для Unreal Tournament 2003. Часть 2Автор: Павел Севец
Полный текст
Понятие групп сглаживания Для прида ния каркасу сглаженного вида существуют группы сглаживания (Smoothing Groups). Инструменты для работы с ними расположены в свитке Surface Properties в группе Smoothing Groups — 32 маленькие кнопки с цифрами. Нам могут понадобиться еще две кнопки: Select by SG (выбрать треугольники по группе сглаживания) и Clear All (удалить треугольники из групп сглаживания). Идея метода сглаживания сетки заключается в том, что граница двух треугольников выглядит гладкой (то есть ребро рендерится сглаженным) только тогда, когда они
Среда моделирования поддерживает 2^32 = 4 294 967 296 различных комбинаций групп
Подготовка модели к сглаживанию Вопервых, отключаем режим отображения модели SeeThrough и Vertex Ticks. Вовторых, плоскости с проекциями персонажа можно спрятать (или даже удалить!) — они нам больше не нужны (см. scn27.max).
Сглаживание тела Так как логические части модели “обведены” видимыми ребрами, то сглаживание можно производить на уровне полигонов. Приступим. Чтобы сгладить подошву (рис. 2), выделяем ее и кликаем на кнопке с цифрой 1. Переходим к верхней части обуви. Выделяем боковую часть стопы и назначаем ей вторую группу сглаживания (рис. 3), затем выделяем оставшуюся часть подошвы. Пусть она будет в третьей группе (рис. 4). Выделяем голень и сглаживаем, кликая на кнопке 1. Не запрещено использовать
Приступаем к голове персонажа, а именно — к лицу. Выделяем три области, отмеченные красным на рис. 8 и рис. 9. Сглаживаем их, помещая в разные группы. Точно так же поступаем с верхней, нижней губами и шлемом. Сглаживаем выделенную на рис. 10 часть носа, но тут выявляется дефект работы: виден грубый переход от ноздрей к переносице (рис. 11). К счастью, механизм групп сглаживания позволяет всего за пару кликов устранить подобные недостатки. Переходим на уровень редактирования треугольников и выделяем треугольники, между которыми находится нежелательный “шов” (рис. 12). Обратите внимание, что когда мы выделяем треугольники из разных групп сглаживания, то “Макс” убирает цифры с кнопокномеров групп, которым треугольники принадлежат. В моем случае, выбранными оказались группы 2 и 9. Кликаем, например, на 19 — так мы помещаем граничные треугольники в общую группу, отчего они становятся сглаженными (рис. 13). Пользуясь этой методикой, “подчищаем” модель в области ладоней, задников обуви, подбородка, спины и тыльной стороны колен (см. scn30.max).
Вы, разумеется, заметили,
Модификатор MultiRes Нужно сделать еще коечто важное — добавить в стек модификатор MultiRes. В параметрах модификатора кликаем Generate, не изменяя параметров. Данный модификатор нужен, потому что у движка Unreal Warfare нет LOD (Level of Detail). Вы, вероятно, могли наблюдать этот механизм в таких играх, как Sacrifice, Messiah или Enter the Matrix (движокто у них один). Чем дальше от нас расположен какойто объект, тем меньше полигонов после работы алгоритма от него будет оставаться. Это колоссально экономит системные ресурсы. Результат применения модификатора смотрите в scn32.max. Посмотрите на свое творение — 30% работы сделано! Лично у меня получилась модель “весом” около 2500 треугольников.
Создание текстурной развертки модели Что такое текстурная развертка Текстура — понятие, находящееся постоянно в обороте, — это картинка, на которой нарисованы детали модели в цвете. Так компенсируется недостаток мелких полигонных деталей. А вот что такое развертка, думаю, не всем очевидно. В среде моделирования каждой вершине по умолчанию соответствуют три величины — координаты X, Y и Z (вообщето есть еще и другие параметры, например, vertex color и weight, но они нас не интересуют). Текстурные координаты вершины — это дополнительная пара координат U и V. Модель состоит из треугольников, и каждому треугольнику в пространстве {X,Y,Z} соответствует некоторый определенный треугольник в плоскости {U,V}. Значит, модель можно спроецировать из 3D в 2D. Множество спроецированных треугольников и называется разверткой.
В свете вышесказанного, стоящая перед нами задача — сделать развертку, у которой: во-первых, треугольники максимально близки по форме к трехмерным оригиналам; во-вторых, отсутствуют пересечения ребер и незапланированные наложения и/или совпадения треугольников; в-третьих, треугольники занимают максимальную область UVквадрата (то есть число “обрезков” текстуры минимально). Подготовка материалов Разобьем тело модели на две части: голову и туловище. Каждой части мы в дальнейшем назначим по текстуре. Две части — только потому, что так принято в играх на основе UnrealTechnology. На самом деле, одной модели можно назначить до восьми (если не больше, цифра могла увеличиться) текстур с разрешением вплоть до 1024x1024. Для разбиения возвращаемся в стеке модификаторов к EditMesh и на уровне полигонов и выделяем голову с шеей,
Для создания материала будущего скина открываем редактор материалов и выбираем любой свободный слот. Щелкаем на кнопке Standard и в открывшемся списке выбираем материал Multi/SubObject. Он появляется в выбранном слоте. Кликаем Set Number и вводим требуемое количество материалов — 2 штуки. Обратите внимание на столбец ID: в нем стоят значения 1 и 2 по умолчанию, поэтому менять ничего не требуется. Щелкаем на кнопке напротив 1. Попадаем в дочерний материал. По аналогии с действиями из раздела “Пространство для моделлинга” (см. первую статью цикла в предыдущем номере “Игромании”), кликаем на кнопке Diffuse из свитка Maps, но теперь выбираем не Bitmap, а Checker. Основной цвет (Color #1) устанавливаем зеленый. Параметры Tiling устанавливаем равными 32. Аналогично поступаем со вторым материалом, расположенным в материале Multi/SubObject напротив цифры 2. Цвет в этом случае выбираем синий. Двухкомпонентный материал для нашего персонажа создан. Применяем его к модели. Материал “в квадратик” нам нужен для оценки качества развертки: применив материал к каркасу, мы не должны обнаружить на нем артефактов в виде растяжений/сжатий текстуры. Если текстура состоит из квадратов, то наличие искажений обнаружить очень просто: квадраты превратятся в ромбы.
Сама развертка создается средствами модификатора Unwrap UVW. Давайте познакомимся с его интерфейсом. Имеется всего один уровень редактирования — Select Face. Таким названием разработчики противоречат сами себе, так как Face — это треугольник (в топологии самого же “Макса”), а на деле выбираются полигоны, поэтому просто помните об этом и не путайтесь. Кликаем на Edit, открывается окно редактора развертки Edit UVWs (рис. 14). Нас будут интересовать лишь некоторые элементы интерфейса этого редактора. Цифрой 1 отмечен выпадающий список для выбора текстурной карты из имеющихся на сцене. Выбираем в списке Pick Texture и в открывшемся окне браузера материалов сначала устанавливаем флаг Mtl Editor, а затем выбираем созданную нами клетчатую текстуру Checker. На первый взгляд ничего в окне Edit UVWs не изменилось. На самом деле,
Так делать не всегда удобно. Альтернативой Planar Map является команда Detach Edge Verts (в контекстном меню выделения в редакторе развертки). С ее помощью от имеющегося куска отрезается выделенный участок сетки, с которым затем можно поступить на свое усмотрение. Уже “расправленные” куски развертки не нужно стараться уместить в квадрат с текстурой. Эта работа выполняется так называемым упаковщиком текстур (Pack UVs). Текстуры упаковывают вручную тогда, когда, например, текстура будет рисоваться вручную в 2Dредакторе типа Photoshop (т.е. требуется логичное расположение частей развертки).
Развертка лица Для создания развертки лица ограничимся частью сетки с ID, равным 2. Выделяем часть лица персонажа (рис. 15) и кликаем на Planar Map. Получаем развертку этого участка (рис. 16). Однако она имеет недостаток: в указанных (рис. 16) местах ребра пересекаются. В данном случае это недопустимо. Устраняем дефект так: к выделенным вершинам (рис. 17) применяем инструмент масштабирования. На паре вершин масштабирование работает как уменьшитель расстояния между этими вершинами. Этот метод весьма универсален и еще не раз пригодится. Таким образом, пересечение граней развертки ликвидировано. Все изменения сразу же вступают в силу, и текстура на модели “смещается”, что можно легко пронаблюдать.
При попытке устранить растяжение над верхней губой, сталкиваемся с проблемой: куда бы мы ни двигали вершины, портятся участки справа и слева. С носом та же проблема. Это тот случай, когда (слабонервных попрошу не читать) нос надо ампутировать. Выделяем полигоны носа в Viewport — в UVредакторе вершины носа также выделились, — кликаем на Detach Edge Verts из контекстного меню. Перемещаем “отрезанный” нос за границу лица. В развертке на месте носа возникла дыра, которой мы и воспользуемся для устранения растяжений лица. Перемещаем вершины, чтобы максимально разгладить текстуру на сетке. Область носа без дробления или увеличения в размерах сделать “идеальной” сложно: наблюдается несильное растяжение на ноздрях, что, впрочем, для игровой модели совсем не критично и является вполне допустимым. Результат, к которому пришел я, можно посмотреть в файле scn33.max.
Выбираем стекло шлема (рис. 19) и снова применяем Planar Map. Возможные растяжения текстуры по краям устраняем по уже усвоенной методике. Затем мы разворачиваем боковые части шлема (рис. 20). Планарная проекция теперь не поможет. Используем другой способ — встроенный в UVредактор стандартный мэппер. Отрезаем (Detach Edge Verts) выделенную часть развертки и применяем к ней инструмент Mapping/Normal Mapping. В открывшемся окошке из списка стандартных способов мэппинга выбираем Top/Bottom Mapping. Настоятельно рекомендую экспериментировать со стандартными мэпперами “Макса”, они существенно упрощают жизнь. Особенно когда текстурируемый объект симметричен.
Однако появилась еще одна проблема: полученная часть развертки не соответствует по масштабу тем, что мы уже сделали. Это выражается увеличением размера квадратиков текстуры. Выход из данной ситуации напрашивается сам собой: увеличим новый кусок развертки с помощью инструмента равномерного масштабирования так, чтобы квадратики везде по размеру стали одинаковы (см. scn34.max ). Действуя аналогично, “расправляем” оставшиеся участки развертки головы и шею. Лобную, теменную и затылочную части шлема “разворачиваем” с помощью стандартного планарного проектирования (см. scn35.max). Шею разбиваем на четыре сегмента: передний, задний и два боковых. Каждый сегмент текстурируем по отдельности или в паре с противоположным (см. scn36.max).
Упаковка развертки головы Следующий этап моделирования — упаковка развертки. Можно попробовать использовать автоматическую упаковку (Tools/Pack UVs), но результат получается не такой, как хотелось бы (автоупаковщик тем эффективнее, чем большее число кусков надо упаковать): остается слишком много “обрезков” текстурного пространства. У нас порядка десяти кусков, давайте разместим их вручную в квадрате. Это совсем не сложно: поворачиваем и перемещаем куски. В этой работе есть только один нюанс. Нельзя масштабировать отдельный кусок развертки, только все одновременно, иначе наша работа по выравниванию размера квадратиков будет испорчена! На рис. 21 можно лицезреть получившуюся у меня развертку.
Перед нами возникает маленькая загвоздка. Как выбрать полигоны плеч, если мешают наплечники? Существует несколько способов решить данную проблему. Выберем самый логичный и простой: текстурируем наплечники и область тела вокруг наплечников, а ту часть тела, что скрыта под наплечниками, вообще не текстурируем. Важный момент: развертки плеч можно расположить даже поверх какихто других участков, потому что плечи под наплечниками просто невидимы.
На рис. 22 отражены этапы создания развертки туловища. Ко всем участкам (фрагменты 1—5) мы применяем обычное планарное проектирование и, как обычно, устраняем деформации полученной развертки. Аналогично поступаем и с частями сетки, выделенными на рис. 23 (фрагменты 3—5). Куски каркаса, отмеченные как 1 и 2 на том же рисунке, преобразуем в развертки путем применения Top/Bottom Mapping (см. scn37.max). Все области, обозначенные на рис. 24 числами 1—5 и 7—11, преобразуются в двухмерную развертку точно так же. Внутреннюю (3) и внешнюю (6) части кулака помогает обработать мэппер Right/Left Mapping. Область пальцев, изображенная на фрагменте 13, легко разворачивается с помощью Unfold Mapping. Наконец, масштабируем куски и упаковываем в текстурный квадрат (рис. 25). Если отображение текстур в видовом окне отключено, включаем эту опцию и сравниваем внешний вид модели с рис.26 (см. scn38.max).
* * * Итак, у нас уже есть качественная сглаженная модель, полностью подготовленная к двум самым, скажем так, креативным этапам нашего труда — текстурированию и анимированию. Чем мы и займемся в заключительной части цикла. Кстати, к следующей статье цикла “Игромодельер” будет прилагаться небольшой подарок... Какой? Узнаете, прочитав следующий номер журнала. Всего обоев: 3 Статей: 26 Все статьи по игре 24.11.2004 - Спираль эволюции. Развитие движка UnrealED28.07.2004 - FAQ по созданию моделей для Unreal Tournament 2003/200409.06.2004 - Игромодельер. Создание модели для Unreal Tournament 2003. Часть 202.06.2004 - Киберспорт. Unreal Tournament 200302.06.2004 - Игромодельер. Создание модели для Unreal Tournament 2003. Часть 102.06.2004 - Киберспорт. Quake III Arena25.05.2004 - Киберспорт. Warcraft III19.05.2004 - Киберспорт. Warcraft III: The Frozen Throne29.04.2004 - Киберспорт. Warcraft III: The Frozen Throne31.03.2004 - Киберспорт. Warcraft III: The Frozen Throne31.03.2004 - Киберспорт. Unreal Tournament 200322.12.2003 - Deathmatch. Unreal Tournament 200306.11.2003 - Unreal Tournament 2003. Дорога в нереальность06.11.2003 - Deathmatch. Unreal Tournament 200311.07.2003 - Киберспорт. Unreal Tournament 200328.05.2003 - Киберспорт. Unreal Tournament 200307.04.2003 - Киберспорт. Quake III Arena07.04.2003 - Киберспорт. Unreal Tournament 200321.03.2003 - Киберспорт. Unreal Tournament 200317.02.2003 - Киберспорт. Unreal Tournament 200321.01.2003 - Коды по "Unreal Tournament 2003" (easter eggs)09.12.2002 - Unreal Tournament 200317.09.2002 - Коды по "Unreal Tournament 2003" (ресурсы)17.09.2002 - Коды по "Unreal Tournament 2003"13.09.2002 - В центре внимания "Unreal Tournament 2003"13.09.2002 - В центре внимания Файлов: 7 Все файлы по игре |