Вход в систему
Информация по игре "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. Часть 1Автор: Павел Севец
Полный текст
Шаг за шагом, тщательно разбирая все тонкости настройки 3D Max, мы сделаем совершенно независимую игровую модель для UT2003 с оригинальными текстурами. Это будет не переделка модели, созданной кем-то еще, а уникальная работа! Детально изучив материал (в цикле предполагается три статьи), вы сможете самостоятельно, без чьей-либо помощи конструировать модели на весьма высоком уровне. Вместе мы пройдем по непростому, но очень увлекательному пути 3D-моделирования: от простенькой заготовки-бокса к сложной многополигональной модели игрового персонажа. Цикл интересен продвинутым моделлерам — они найдут описания нескольких нестандартных методик работы с заготовками для трехмерных моделей, — а для начинающих он, не побоимся этого слова, бесценен. По сути, мы предлагаем вам кратчайшую дорогу по освоению игрового моделлинга. Можно читать толстые учебники по "Максу", а можно внимательно изучить наш цикл статей
Все упоминающиеся в статье файлы (scn*.max и Model.jpg) можно взять с нашего CD или DVD. Пространство для моделлинга Для реализации задумки нам потребуется для начала 3DS Max версии 5 или выше, а также достаточно современный компьютер, так как нам нужно будет запускать параллельно с "Максом" еще пару не менее “тяжелых” приложений. К тому же неплохо проверить наличие, во-первых, хотя бы элементарных навыков работы с 3D Max (если вы регулярно читаете статьи "Игростроя", то проблем во
Для начала работы вы должны раздобыть изображение персонажа (концепт-арт в боковой, задней и передней проекциях), которого собираетесь моделировать. Нарисуйте сами, попросите друзей или, наконец, поройтесь в интернете. Для данной статьи концепт нарисован мною лично, и искать ничего не придется. Сначала обустроим рабочее место для моделлинга. Файл со сценой scn1.max содержит скелет наемника (MercMaleA aka Male Mercenary), который мы будем использовать в качестве эталона габаритных параметров. К тому же для анимации модели мы возьмем именно этот скелет (рис. 1). Выбираем в панели Create стандартных примитивов (Standard Primitives) инструмент Box. Разворачиваем свиток Keyboard Entry и заполняем поля так: Height — 235.0, Width — 200.0, Length — 64.0 (также можно создавать Box вручную, с помощью мышки). Жмем на кнопку Create, тем самым создаем Box, который целиком покрывает скелет. Таким образом мы задали габариты будущей модели, к тому же этот параллелепипед мы используем в качестве рабочего пространства. Спрячем скелет (Hide Selection), так как понадобится он нам е
Сделаю небольшое отступление, дабы рассказать о нормалях. Каждый треугольник, из которых состоит модель, имеет нормаль — трехмерный вектор, отвечающий за освещение треугольника. Полигоны, которые состоят из треугольников, могут иметь несколько нормалей. На картинках видно, как изменение ориентации нормалей прямоугольника влияет на его освещенность. У нормалей есть одно свойство: если они ориентированы от камеры, то полигон невидим. В нашем случае это свойство может быть полезно. Щелкаем на кнопку Polygon — так мы переходим к редактированию Box на уровне полигонов. Заодно ставим галочки напротив пунктов Ignore Backfacing и Show Normals. Выделяем все полигоны (мышкой в видовом окне или нажатием Ctrl+A) — рис. 2. Теперь (звучит немного безумно, но так и есть) вывернем Box наизнанку, иными словами, ориентируем нормали внутрь куба. Щелкаем кнопку Flip в свитке Surface Properties. Становится видна внутренность Box. Это и требуется! Выделяем верхнюю и нижнюю стороны и нажимаем на клавиатуре кнопку Delete. Данные стороны
Теперь мы “наклеим” на полученную конструкцию различные проекции персонажа. Открываем редактор материалов (клавиша M) и в свитке Maps жмем кнопку напротив пункта Diffuse Color. Затем в появившемся списке выбираем пункт Bitmap. Находим графический файл с проекциями персонажа Model.jpg (рис. 4). Мы попадаем в дочерний материал. Возвращаемся на уровень вверх и кликаем Show Map in Viewport (Отображение материала в видовом окне). Осталось наложить картинку на полигоны. Для этого в мо дификаторе EditMesh снова переходим на уровень редактирования полигонов и выделяем больший из трех имеющихся полигонов. В свитке Edit Geometry кликаем Detach, чтобы “отрезать” этот полигон от общей конструкции. В открывшемся окне называем отделяемый полигон (прямоугольник) Front; при этом никаких галочек стави
В результате на сцене должны быть видны четыре прямоугольника: Front, Back, Left и Right. Выделяем Front и применяем к нему модификатор UVW Map из панели Modify. Этот модификатор позволяет наложить материал на плоскость Front. Как станет видно позднее, на самом деле мы сгенерировали для полигона текстурные координаты. Чтобы координаты были правильными, надо повернуть плоскость проецирования. Для этого отмечаем в группе параметров Alignment пункт Y и кликаем Fit. Проекционная плоскость точно совпадает с прямоугольником Front. Аналогично поступаем с Left, Right и Back.
Текстурные координаты на все плоскости наложены — нужно наложить материал. Открываем окно редактора материалов и применяем созданный ранее материал к плоскостям (нажимаем кнопку Assign Material to Selection). Закрываем окно редактора материалов. Как-то кривовато выглядят текстуры. Исправим эту недоработку. Выделяем плоскость Back. В модификаторе UVW Map выбираем уровень редактирования проекционной плоскости — Gizmo. Переместите Gizmo так, чтобы половинка плоскости Back проходила через координатную ось Z. Небольшой перекос устраняется поворотом Gizmo на несколько градусов по часовой стрелке. Аналогично поступаем с плоскостью Front. Для Left и Right одними перемещениями Gizmo, увы, не обойтись. Сначала кликаем View Align, потом Fit. Так мы повернем боковую проекцию персонажа в вертикальное положение. А теперь устраним сжатие по горизонтали путем корректировки значения поля Width. Перемещаем Gizmo так, чтобы ось Z проходила через основание наколенника (рис. 5). Перемещаем у каждой плоскости Gizmo так, чтобы обувь перс
Пространство для моделлинга готово. Получившуюся сцену можно посмотреть в файле scn4.max. Обзор инструментов Перед тем как приступить к собственно моделированию, давайте посмотрим, какие инструменты имеются в нашем распоряжении.Основным является модификатор Edit Mesh. Хочу отметить несколько опций, общих для всех уровней редактирования. Ignore Backfacing — отсекает (на жаргоне говорят — "игнорирует") выделение элементов, нормали которых не ориентированы в сторону камеры. Попробуйте поэкспериментировать. В нашем случае включение данной опции означает, что если мы выделим лицо персонажа, то затылок останется невыделенным! В свитке Edit Geometry нам понадобятся инструменты: Collapse (коллапсирование — преобразование выделения в вершину), Make Planar (сделать выделение плоским), Bevel/Chamfer (сделать закругле ние элемента), Extrude (экструдирование выделения — выдавливание в напра
Моделирование
Ступня Создаем Box в области ступни. Щелкаем на нем правой кнопкой мыши и в контекстном меню выбираем пункт Properties. В открывшемся окне Object Properties в группе Display Properties ставим галочку напротив See-Through (полупрозрачность) и желательно напротив Vertex Ticks (принудительное отображение вершин). Так мы сделаем Box полупрозрачным, а значит, сквозь него будет виден концепт-арт персонажа. Переименуем Box01 во что-нибудь более подходящее, например Erazer. Такое имя я придумал для персонажа. В том же контекстном меню выбираем пункт Convert To/Convert To Editable Mesh. Так мы перешли от конкретного примитива Box к сеточному каркасу Editable Mesh, который далее я буду называть просто сеткой. Суть дальнейших действий такова: мы будем сантиметр за сантиметром выращивать тело персонажа (точнее, только половину тела, вторую получим путем "отзеркаливания").
В свойствах видовых окон отметим галочкой строку Edged Faces — отображение ребер на сетке. На уровне вершин (путем их перемещения) подгоним сетку под картинку (рис. 7). Переходим на уровень полигонов и проводим несколько разрезов инструментом Cut (см. врезку): последовательно щелкаем по ребрам. Два клика — один разрез. Проводим разрезы сверху и по бокам заготовки, кое-где перемещаем и склеиваем вершины (см. scn5.max). Когда мы подгоняем форму сетки по рисунку, главное — четко представлять себе, что должно получиться в итоге и как оно должно выглядеть! Проведем еще один разрез (рис. 8), при необходимости манипулируя вершинами и поворачивая ребра инструментом Turn.
Для удобства обозрения всех ребер можно сделать невидимые ребра видимыми. Для этого выделяем в режиме Edges все ребра и кликаем по кнопке Visible из свитка Surface Properties. Я также отключил сглаживание между треугольниками — оно не должно пока сбивать нас с толку. При разрезании иногда возникает и другая проблема — совпадающие вершины. Их нужно склеивать (Collapse) — рис. 9. Результат смотрите в файле scn6.max. Склеиваем указанные в scn7.max вершины для уменьшения числа полигонов. Это делается для того, чтобы максимально “облегчить” (по числу вершин) полигон, который мы далее будем экструдировать (рис. 10). После этого выделяем полигон и экструдируем до подъема ступни. Для экструдирования выделения нужно сделать следующее. Возле кнопки Extrude есть поле ввода с двумя стрелочками вверх и вниз. Наводим курсор на эти стрелочки и зажимаем левую кнопку мыши. Удерживая кнопку мыши нажатой, двигаем мышкой вверх/вниз — значения поля будут увеличиваться/уменьшаться. Таким образом, мы на глаз можем определить, насколько следует экструдировать полигон. Кстати, кнопкой Extrude мы вообще не воспользовались — почему, читайте на отдельном текстовом блок
Подгоняем позиции вершин по рисунку, не забывая руководствоваться здравым смыслом. В итоге должно получиться как в файле scn8.max. Теперь двумя экструдингами образуем подъем подошвы, а третьим завершим задник ноги (см. scn9.max). Из верхнего полигона создаем область голеностопного сустава и после нескольких серий манипуляций приводим ногу к виду (рис. 11), как в файле scn10.max. Голень Защитные пластины голени полигональными делать не будем. На стадии текстурирования мы их просто нарисуем. Поэтому воспринимаем голень "однородн
Если вам кажется, что какая-то часть модели, сделанная ранее, несколько кривовата, смело корректируйте (при этом не забывайте делать резервные копии). После корректировки сетки (рис. 12) получаем сцену типа той, что хранится в файле scn11.max. Колено и торс Смоделируем колено. Поскольку суставы — очень важные части сетки при анимировании, старайтесь повышать здесь сегментацию, но в разумных пределах. Огромное количество вершин сочленения очень трудно будет привязывать к скелету, поэтому не переусердствуйте.
С учетом вышесказанного делаем колено 4-кратной экструзией полигона. Этого должно быть достаточно для плавного сгиба. На каждом шаге экструзии удобно изменять форму сечения с помощью инструмента Bevel или просто через функцию Select and Uniform Scale, и уже после всех шагов экструзии подправлять сетку. Добавляем разрез по бокам колена и склеиваем выделенные вершины — так мы создадим выпуклости фиксатора наколенника. После того как мы покрутим ребра и склеим расположенные рядом вершины, у нас должно выйти что-то вроде сцены в файле scn12.max — рис. 13. Теперь экструдим до начала килта. На мой взгляд, трех сегментов для данного участка должно быть достаточно. Заметьте, я вообще не добавил новых вершин в результат экструзии. Давайте изменим положение ноги относительно рисунков. Это необходимо по двум причинам. Во-первых, при текущем положении ноги невозможно нормально смоделировать область между ног — пах (отставить шуточки в строю!). Во-вторых, если ноги расположить близко одну к другой, то их сложно анимировать: вершины одной ноги будут воздействовать на близлежащие вершины
На основе этих рассуждений отклоняем ногу простым перемещением вправо/влево в Back/Front viewport. Загляните в файл scn13.max и сравните с тем, что получилось у вас. Выделенные на рис. 14 вершины считаем находящимися на своих исходных позициях и продолжаем наращивать модель. Четыре раза экструдируем до пояса. Это лучше делать в правом/левом видовом окне, потому что там удобно сразу корректировать сечение бедра. Несколькими разрезами делаем бляху пояса и добавляем полигоны килту (рис. 15). Посмотрите результат в файле scn14.max. Применяя комбинацию уже известных приемов, делаем сечение у пояса максимально плоским. Правда, скорее всего, в центре сечения будут лишние вершины. Давайте упростим себе жизнь, удалив их. Хм, дырка какая-то появилась! Не беда, ведь у нас есть замечательный инструмент Create. Переключаемся на уровень полигонов и против часовой стрелки обходим вершины будущего полигона. Почему против часовой стрелки, а не по? Вспомните из школьного курса физики правило правого винта. Помните, как там было: чтобы вект
Итак, сечение создано с нуля, экструдируем его четыре раза до начала нагрудной брони — до торса. Производим вертикальный разрез ребер на спине для создания рельефности мышц в области поясницы. Лично я показал рельефность панциря, защищающего пресс, всего пятью треугольниками (рис. 16). В зависимости от количества треугольников результирующей модели такие виды рельефности сглаживаются применением инструмента Chamfer к центральным вершинам. Но я в этом необходимости не вижу: после сглаживания сетки малое количество полигонов почти незаметно, к тому же его легче текстурировать. Смотрите файл scn15.max.
Грудная клетка Переходим к грудной клетке. Снова четыре раза экструдим полигон до начала брони грудных мышц. Руки пока не трогаем и “доводим” сетку до состояния, как в сцене scn16.max (рис. 17). Корректируем форму панциря на лопатках и спине. Сверяйте вершины с рисунком, а кривизну формы настраивайте в соответствии со своим воображением и/или знанием анатомии. Еще четыре экструдинга — и мы, сформировав грудную клетку, заканчиваем туловище. Нам надо еще доделать наплечники, но это лучше сделать после завершения модели. Туловище должно выглядеть как в сцене scn17.max. Я удалил полигоны с одной стороны туловища и их тех областей, куда будут крепиться рука, смоделировал шею (рис. 18).
Руку лучше делать от запястья (кисть присоединяется позже). Для этого создаем новый объект Box, который сразу же присоединяем к туловищу инструментом Attach на уровне редактирования Element. После присоединения Box сразу становится полупрозрачным, так как приобретает все свойства отображения сетки Erazer. Элемент логично спрятать (Hide), чтобы он не мешал независимо моделировать руку. Попробуйте смоделировать руку самостоятельно и сравнить с моим результатом из файла s cn18.max (рис. 19). Внимательно моделируйте ло ктевой сустав. Не забудьте повернуть руку на угол 45—60 градусов относительно оси тела и “пришить” к туловищу склеиванием крайних вершин. Очередь кистей. Мы их будем делать не одну, как вы могли подумать, а две. Одна — левая, которая участвует в удерживании тяжелого оружия либо вообще свободна. Вторая — правая, которая всегда держит небольшое оружие. Поэтому левую руку надо сделать наполовину расслабленной, а правую — сжатой в кулак. Моделировать ладони и кулаки всегда немного проще, чем, скажем, голову, потому что у вас всегда перед глазами ваша собственная свободная левая рука, которую можно рассматривать с разных сторон. Итак, экструдим полигон-сечение запястья — получаем ладонь, а экструдингом отдельных полигонов получаем пальцы. После оптимизации вершин создаем левую руку, которую присоединяем к запястью. Для сокращения процесса я просто "отрезал" ладонь у стандартной модели MercMaleA. Возможность так сэкономить время имеется не всегда. Например, если вы моделируете черепашку-ниндзя. Теперь внимание! Мы выделяем на уровне треугольников только что созданную ладонь и отсоединяем (Detach) ее в отдельный элемент (опция Detach To Element в окне Detach) и этот элемент скрываем (Hide). Все выглядит так, будто никакой ладони мы не пришивали. Осталась модель правой руки, которую надо пришить к...
Смоделировав левую руку, сделать кулак довольно просто: элемент кисти (который мы спрятали) отсоединяем (Detach) с опцией Detach As Clone. Получим на сцене еще одну сетку Object01 (имя по умолчанию). Моделируем кулак из уже готовой модели ладони (рис. 20). Это уже дело техники. У меня получилась сцена scn19.max. Голова Модель почти готова. Остались голова и наплечник. Метод моделирования головы несколько отличается от того, что мы уже применяли: экструдировать будем не полигоны, а ребра. Как и в случае с полигонами, ребро экструдируется в направлении нормали своего треугольника. Раньше я не заострял внимания на опции экструдинга Normal. При экструдинге граней это особенно важно учитывать: Group — направлением экструдинга выбирается усредненное значение нормалей выде ленных ребер (что не всегда удобно), Local — каждое ребро экструдируется независимо от соседнего. Моделирование головы начинается с локального экструдирования граней шеи до начала подбородка (рис. 21) — смотрите сцену scn20.max. Экструдируем те же грани 2 раза до середины подбородка (сцена scn21.max). Теперь будем экструдировать ребра по отдельности: два на подбородке — до начала нижней губы (рис. 21).
Наплечники Для моделирования наплечников отсоединяем (копированием) выделенный на рис. 24 участок в отдельную сетку и редактируем ее (сцена scn25.max). Когда сам наплечник готов, присоединяем (как элементы) изготовляемые из цилиндра крепления (сцена scn26.max). А потом сам наплечник — к туловищу. Процесс моделирования завершен! Поиск ошибок
Несколько слов об отладке каркаса. Поскольку на м приходилось довольно много редактировать сетку вручную, не исключены незаметные для глаза ошибки типа совпадающих вершин, треугольников, дырок. На помощь нам приходит полезный модификатор STL Check. Применим его к нашему каркасу. На рис. 25 я отметил наиболее важные моменты: в группе опций Selection ставим флажок напротив Select Edges, а потом ставим галочку напротив Check. В группе Status выводится число найденных ошибок. В нашем случае красным цветом ничего, кроме открытых ребер наплечника и шва туловища, не обозначено. Отлично, значит, пока ошибок нет. В файле scn27.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 Все файлы по игре |