06 июля 2004
Обновлено 17.05.2023

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - изображение обложка

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

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 1

_
Рис.1. Интерфейс утилиты Texporter.
ее текстурную развертку. Нам осталось сделать текстуры для модели, привязать модель к скелету и, наконец, экспортировать ее в игру. Как обычно, все упоминающиеся в статье файлы ( _scn.max_* , _SKIN.jpg_* и *.png ____ ) и плагины можно взять с нашего CD/DVD. На самое же сладкое мы приготовили вам сюрприз. Мы научим вас экспортировать полностью готовую модель для UT2003 в мир недавно вышедшего UT2004. Создание текстуры Сначала познакомимся с редактором по имени Deep Paint 3D. Это пакет для раскраски моделей. Своего рода “Фотошоп” в 3D. Мы возим кисточкой по модели, в результате чего получается текстура. Вы уже имели возможность в одном из прошлых номеров познакомиться с его

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 2

Рис. 2. Подготовленный к текстурированию персонаж.
“младшим братом” — UPaint , — поставляемым с UT2003 редактором скинов. К сожалению, DP3D на порядок сложнее, однако и возможностями он обладает б о льшими. Впрочем, волков бояться — в лес не ходить! Открываем файл scn38.max , эту сцену мы сделали в предыдущей части статьи. _Создание шаблона текстуры _ У DP3D есть один недочет: он совершенно игнорирует группы сглаживания, поэтому ребра не видны. Это создает определенную дезориентацию при раскраске. На помощь нам приходит утилита Texporter. Она рендерит развертку, окрашивая треугольники в определенные цвета и явно прорисовывая ребра. Это отличный шаблон для изготовления текстуры. Интерфейс утилиты очень простой ( рис. 1 ). Сначала вводим размер текстуры 2048x2048 (в четыре раза больше требуемого результата) для рендеринга (поля Width и Height ) и отмечаем галочкой пункт Only ID. Напротив него ставим Material ID требуемой части сетки. Снимаем галочку с Backface Cull и, наконец, кликаем Pick Object. Теперь в видовом окне щелкаем на нашем персонаже. Texporter рендерит разноцветную развертку, которую **_

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 3

_**
Рис. 3. Кнопка вызова конфигуратора набора команд.
сохраняем в файл. Аналогично поступаем с оставшейся частью развертки. У меня получились два файла head_unwrap и body_unwrap. Назначаем полученные “текстуры” нашей модели: кликаем на субматериалах двухкомпонентного материала и вместо Checker выбираем Bitmap , после чего прицепляем полученные

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 4

Рис. 4. Создание кнопки запуска плагина DP3D.
изображения. Персонаж теперь должен выглядеть как на рис. 2. Заодно переименуем субматериалы в SKIN0 и SKIN1 соответственно (для экспортирования надо, чтобы буквы были непременно большими!). Теперь персонаж полностью готов к непосредственному текстурированию. Создание _ текстуры по шаблону_ __ Чтобы запустить плагин пакета DP3D для раскраски модели “Макса”, идем во вкладку Utilities и одноименный свиток, кликаем Configure Button Sets ( рис. 3 ). В открывшемся окошке перетаскиваем надпись Right Hemisphere из левой части окна в правую, список кнопок ( рис. 3 ). Если пустой кнопки нет, ее можно создать, увеличив значение счетчика Total Buttons ( рис. 3 ). Теперь в свитке утилит появилась кнопка Right Hemisphere ( рис. 4 ). С ее помощью запускаем плагин. Самый важный для нас элемент интерфейса — кнопка Paint Selection ( рис. 5 ). Щелкаем на нее (модель, разумеется, должна быть выбрана в видовом окне, а сам DP3D — запущен), открывается интерфейс Deep Paint 3D. Что же нам может быть полезно из этой массы кнопок и настроек?! На рис. 6 я отметил основные инструменты и окошки, которые нужны. Цифрой 1 отмечены кнопки обмена данными с “Максом” и “Фотошопом”, цифрой 2 — кнопка перехода в режим 2.5D-раскраски (проекционный режим), 3 — материалы, 4 — инструментарий, 5 — командная панель с открытой вкладкой кистей, 6 — **_

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 5

_**
Рис. 5. Кнопка раскраски выделенного объекта средствами DP3D.
окошко, в котором отображается внешний вид нашей кисточки. Также полезно установить удобные для работы опции освещения, как это показано на рис. 7 и рис. 8. Действуем так: наносим на модель основные цвета, а мелкие детали доводим непосредственно в “Фотошопе”. Поэтому не стоит делать идеально все сразу. **

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 6

**
Рис. 6. Нужные элементы интерфейса DP3D.
Выбираем кисть Variations/Airbrush Medium и набрасываем прямо на модели основные логические элементы текстуры. Рисование в DP3D происходит интуитивно и не требует каких-то особых навыков. Если какие-то участки сетки разрисовать трудно (например, область подмышки), двойным кликом на красном кружке Color ( рис. 9 ) открываем канал цвета, на котором очень удобно подправлять недоработки. В этот момент Deep Paint 3D превращается в 2D-редактор, и мы можем рисовать, как в “Фотошопе”. Однако это не мешает нам “связаться” с “Фотошопом” и разрисовывать текстуру его средствами. Для этого служит кнопка Export Material to Photoshop. Для противоположного действия используется кнопка Fetch the Material from Photoshop. В “Фотошопе” рисовать нужно на слое Base Layer: Color (в любом случае, DP3D “читает” только этот слой), слой SKIN1: _ WireFrame_ предназначен лишь для ориентира. После первичной раскраски головы (этот материал мы назвали SKIN1 ) в DP3D у нас должна получиться текстура, похожая на SKIN1_01.jpg. Дорисовываем основную раскраску шлема — красные и серые части (см. SKIN1_02.jpg и SKIN1_03.jpg ). Добавляем грязь и ржавчину у швов и заклепок, получаем SKIN1_04.jpg. Лицо рисовать с нуля довольно сложно, поэтому я просто экспроприировал кусок лица из текстуры MercMaleCHeadA.png (из папки Extras\SkinArt\Textures , что находится на третьем диске с игрой). К тому же я добавил небольшое отражение в стекле шлема (см. SKIN1_05.jpg ). Перемещаем нос куда следует и добавляем сколы краски и грунтовки _

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 7

_
Рис. 7. Настройки освещения.
шлема, а также парочку неудачных хедшотов — вмятины от пуль ( SKIN1_06.jpg ). Детализируем содранную краску на затылке и делаем переход на швах “щека- лицо” и “затылок-шея” с помощью фотошоповского инструмента Clone Stamp (см. SKIN1_07.jpg ). Аналогично раскрашиваем оставшиеся участки шеи (см. SKIN1_08.jpg и SKIN1_09.jpg ). После отрезания ненужных участков текстуры получаем

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 8

Рис. 8. Настройки отображения материалов.
head_unwrap.png ( рис. 10). Рисуем текстуру тела ( SKIN0 ). Набрасываем очертания форм только на половине модели (см. SKIN0_01.jpg ). Раскрашиваем нагрудную броню. Для равномерного нанесения окраски помимо обычных кистей используем кисти Smudge/Blur и Dodge/Burn (см. SKIN0_02.jpg ). Наносим раскраску на боковую сторону брони, спину (см. SKIN0_03.jpg ) и верхнюю часть брони (см. SKIN0_04.jpg ). Затем переходим к наплечникам и их креплениям (см. SKIN0_05.jpg ). Аналогично окрашиваем костюм выше пояса и руки (см. SKIN0_06.jpg ), после чего добавляем тени (см. SKIN0_07.jpg ). Прорисовываем детали перчаток (см. SKIN0_08.jpg ), добавляем складки костюма на спине, боках и штанах (см. SKIN0_09.jpg ). По аналогии с наручной броней рисуем броню на ногах (см. SKIN0_10.jpg ). Наконец, завершаем первичную раскраску модели обувью (см. SKIN0_11.jpg ). Доводим текстуру тела: добавляем, во-первых, швы и соединительные крепления частей брони, во-вторых, контрастные подсветку и тень на швах (см. SKIN0_12.jpg ). Хотя мы очень старались, текстуры выглядят несколько кукольно. Приняв к сведению информацию из текстового блока “Факторы, _ влияющие на реалистичность текстуры”_, рисуем карту износа — грязь и ржавчину. Для этого создаем новый слой Dirt (в режиме Multiply ). После нанесения грязи у нас получается текстура вроде SKIN0_13.jpg. Для наших целей полученного результата вполне достаточно. Однако, приложив минимум усилий, времени и немного фантазии, текстуру можно значительно улучшить. Для этого не возбраняется создать дополнительную карту механического износа (Overlay-слой) в программе Painter и поиграть различными вариациями инструмента Impasto ( рис. 13 ). Загляните в SKIN0_14.jpg. Осталось совсем немного сделать — уже проработанные участки текстуры разместить на симметричных им непроработанных участках. Учитывая, что мы делаем модель для экшена, небольшая симметричность будет почти не заметна. В итоге (после удаления неиспользуемых частей) получилась текстура body_unwrap.png ( рис. 11 ). __ О совместимости с UT2004 __ Детальный анатомический анализ UT2004 показал, что последний ничем не отличается в плане процесса создания моделей от UT2003. Это подтвердилось на практике: изначально изготовленный для UT2003 дистрибутив модели без проблем поставился на UT2004, и модель была преспокойно принята игрой (см. скриншоты ниже). Изменения в редактор UnrealEd были внесены настолько косметические, что их вообще можно не заметить. Поэтому, заменяя в материале “2003” на “2004”, получаем руководство по созданию модели для UT2004. Кстати, для экспортирования из “Макса” в редактор нового “Торнамента” подходит плагин ActorX v2.12.

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 9
Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 10

Огромная работа по текстурированию модели завершена. Когда мы скопировали симметричные части текстуры в другие места, могла возникнуть проблема нестыковок швов, поэтому, приладив текстуру на модель в Deep Paint 3D , буквально попиксельно просматриваем швы, при необходимости аккуратно подчищая их в проекционном режиме. У нас уже есть полностью текстуренный и готовый к анимированию сеточный каркас ( рис. 12 ), который можно посмотреть в файле scn39.max. __ Некоторые предварительные настройки — При установке Deep Paint 3D не забудьте указать инсталлятору установить плагины для 3DsMAX5(6) и Photoshop7(6). Без них нельзя осуществлять взаимодействие между указанными пакетами. — Когда надо обменяться данными с Deep Paint 3D из “Фотошопа” или “Макса”, отключите брандмауэр, особенно это касается Outpost Firewall. Дело в том, что он блокирует работу NetBIOS , посредством которого плагины передают данные
**

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 11

Рис. 9. Красной рамкой обведен канал цвета.Привязка сеточного каркаса к стандартному скелету Отображаем скрытый ранее стандартный скелет: во вкладкеDisplayкликаемUnhide by Nameи в списке выбираем все те части biped’а, название которых не начинается с “Dummy”. В свойствах материала нашего персонажа отключаем отображение текстуры во viewport’е и активируем опциюSee-Through**. Теперь с помощью перемещений и поворотов

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 12

Рис. 10. Финальный вид текстуры головы.
подгоняем скелет под модель. При этом, по возможности, стараемся не масштабировать кости вообще, дабы не столкнуться с большими проблемами в дальнейшем. Настоятельно рекомендую вместо стандартного скелета использовать новый из пакета 3Ds MAX 5.1. Для этого, выделив какую-нибудь часть скелета, идем во вкладку Motion , в свитке Structure в группе BodyType в комбо-списке вместо Classic выбираем Skeleton ( рис.14 ). Вся эта работа от силы минут на десять, сравните ваш результат с scn40.max ( scn41.max для 5.1). Привязываем скелет к сетке: в стек модификаторов сетки Erazer добавляем модификатор Physique. Жмем кнопку Attach to Node ( рис. 15 ), нам надо указать “главную” кость скелета. Кликаем Select by Name (в главной панели) и в списке выбираем Bip01 или щелкаем на небольшом сером кубике внутри живота ( рис. 16 ). В открывшемся окошке Physique Initialization ( рис. 17 ) ставим “птичку” в пункте Create Envelopes , вместо Deformable отмечаем Rigid и устанавливаем значение поля Blending Between Links равным 3 Links и кликаем Initialize. Опция Create Envelopes отвечает за автоматическую генерацию огибающих контейнеров, ответственных за привязку вершин сетки к костям. Тип привязки Rigid означает, что вершины жестко

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 13

Рис. 11. Финальный вид текстуры тела.
закреплены относительно костей. В играх сейчас используется именно этот вид привязки, потому что он легко реализуется программно. При жесткой привязке каждая вершина может находиться под воздействием не более трех костей (опция Blending Between 3 Links ). Вспомните школьный курс физики: тело, находящееся под воздействием нескольких сил, перемещается туда, куда ему указывает среднее арифметическое векторов этих сил. С привязкой вершин картина похожая. Каждую вершину удобно представлять частицей, находящейся под действием сил, возникающих при движении костей. Куда двигаются кости, туда и вершина. В “Максе” можно отрегулировать степень воздействия отдельных костей на отдельные вершины вручную.

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 14

Рис. 12. Полностью обтекстуренный персонаж.
Теперь внутри нашей модели видны оранжевые линии со звездочками на сочленениях — это и есть собственно кости (с точки зрения модификатора Physique кости скелета и эти линии — не одно и то же). Поскольку мы оставили опцию Create Envelopes включенной, то осталось лишь откорректировать действие костей на вершины. Чтобы выявить дефекты привязки, существует очень простой, но полезный способ — создать тестовую анимацию. Во время этой анимации все дефекты не заставят себя ждать и проявятся наглядно. На рис. 18 отмечено, что нужно сделать для создания тестовой анимации. — Выделяем какую-нибудь часть скелета, например голову ( 1 ). — Во вкладке Motion находим свиток Biped и отжимаем кнопку Figure Mode ( 2 ). — В появившемся ниже свитке Key Info кликаем на кнопку Set Key ( 3 ). — На нулевой позиции появляется ключ анимации ( 4 ). — Идем в Time Configuration ( 5 ). В группе Animation находим поле Frame Count и вводим туда, например, 100. — Кликаем кнопку Auto Key ( 6 ).

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 15

Рис. 13. Различные варианты инстру- мента Impasto.
— Перетаскиваем ползунок в конец анимации (в моем случае — на позицию 99). — С помощью перемещений и вращений настраиваем положение рук, ног и остальных частей так, чтобы были видны все возможные дефекты. — Отключаем Auto Key ( 6 ). Если привязка какой-то вершины/вершин вышла криво, блокируем вершину/вершины и вводим весы вручную. Переходим на уровень редактирования вершин ( Vertex ) ( рис. 19 ). Три крестика играют двойную роль. Во-первых, если активен режим выбора вершин ( Select ), они определяют, какой тип вершин можно выбирать: красный крест — Deformable

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 16

Рис. 14. Скелет в 3Ds MAX 5.1.
(мы их не используем), зеленый — Rigid , синий — не задействованные вершины (на самом деле, они привязаны к кости Bip01 ). Во-вторых, если активен режим привязки ( Assign To Link ), — определяют, какой тип будут иметь привязываемые вершины. Кнопки Lock/Unlock Weights предназначены для блокировки вершин. При этом параметры привязки заблокированных вершин мы изменяем только путем непосредственного ввода значений весов. При риггинге есть несколько важных моментов: — Звездочки-сочленения генерируются посередине отрезка пересечения костей (внутри суставов для 5.1). Если мы расположили будущее сочленение неправильно, увы, никакая настройка вершин не поможет — анимация будет плохая. Выход есть: включаем у скелета режим Figure и перемещаем кости на новые позиции. В модификаторе Physique модели кликаем Reinitialize (рядом с Attach to Node ) и указываем Initial Skeleton Pose , Vertex Settings , Vertex — Link Assignments и Include New Bones ( рис. 20 ). Настройте вершины модифицированных костей снова. — Важно правильно настроить вершины левого запястья, потому что ладонь поворачивается относительно своей оси на 90 градусов. — Настройка области таза может занять половину времени риггинга. — Анимации надо делать разнообразными и тестировать поведение сеточного каркаса на сочленениях, когда кости принимают экстремальные положения: поза на корточках, колени выше пояса, повороты рук вокруг оси, вращение головы, изгибы позвоночника. Описать процесс настройки всех привязок невозможно просто физически. Каждый настоящий моделлер должен пройти через процесс риггинга сам, в чем может помочь текстовый блок “ Упрощение процесса привязки вершин”. Получившуюся у меня сцену можно посмотреть в файле scn42.max. __Горячие клавиши Deep Paint 3D Ctrl + <движение мышкой с зажатой левой кнопкой> — изменение размера и прозрачности кисти Shift + <движение мышкой с зажатой левой кнопкой> — изменение угла поворота и формы кисти R + <движение мышкой с зажатой левой кнопкой> — вращение объекта Ctrl + пробел + <выбор мышкой прямоугольной области> — масштаб выбранной области Ctrl + Shift + пробел + <движение мышкой с зажатой левой кнопкой> — приблизить или удалить Пробел + <движение мышкой с зажатой левой кнопкой> — перемещение объект
__ Приемы работы сразверткой Существует нехитрый прием, позволяющий в “Фотошопе” раскрашивать только определенные треугольники развертки. Активируем слой SKIN1: WireFram e , с помощью инструмента Magic Wand выделяем внутренние части нужных треугольников, после чего выделение расширяем с помощью команды Select/Modify/Expand на 1-2 пикселя. Переключаемс я на слой Base Layer: Color и рисуем. Когда треугольников много, этот прием быстро выполнить трудно, тогда процедуру можно упростить, применяя инструменты Polygonal Lasso/Lasso. Для отрезания ненужных участков текстуры делаем следующее: инструментом Magic Wand выделяем неиспользуемую разверткой часть текстуры, сужаем границу командой Select/Modify/Contact на 4-5 пикселей, растушевываем на 1 пиксель командой Select/Feather и, наконец, заливаем полученную область черным цветом.

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 17

Рис. 15. Кнопка привязки скелета к сетке в Physique.
Экспортирование модели в UT2003 Мы подошли к самому приятному и занимательному этапу. Уже в ближайшие пятнадцать минут можно будет опробовать модель в игре! Идем во вкладку Tools и кликаем кнопку More , в

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 18

Рис. 16. Серый кубик — основа скелета — выбирается при инициализации.
открывшемся списке выбираем строку ActorX (так называется экспортер в UT2003 ). В свитке ActorX-Setup отключаем опцию bake smoothing groups. В output folder и mesh file name указываем, куда экспортировать модель, и название модели — Erazer ( рис. 21 ). Жмем Save mesh/refpose. В процессе экспортирования плагин должен выдать одно-единственное сообщение “Skin file Erazer.PSK written.” Это означает, что все прошло успешно. Может случиться, что появится сообщение типа “Vertex with weight 0.000000 found. Fixing…”. Это есть плохо, потому что какая-то вершина оказалась привязанной криво или не привязанной вовсе. Проверяем все еще раз. Допустим, экспортирование прошло успешно. Запускаем UnrealEd3 (файл UT2003\System\UnrealEd.exe ). На переднем плане появляется окно с кучей вкладок. Разворачиваем его (обязательно!) во весь экран и переходим во вкладку Textures. В “Фотошопе” уменьшаем размер заранее созданных текстур head_unwrap.png и body_unwrap.png до 1024x1024. Уменьшаем яркость текстуры головы на 30 пунктов ( Adjustments/Brightness/Contrast ), а текстуры туловища так, чтобы яркости кожи рук и головы были визуально одинаковы. Обе картинки сохраняем в формате bmp или tga с глубиной цвета 24. Кроме текстур, понадобится еще одна картинка размером 256x512 — будущий портрет игрока в менюшке игры. Такую картинку можно сделать в “Максе”, отрендерив готовую модель в каком-нибудь победоносном ракурсе. В итоге — у нас должны оказаться 3 картинки. В UEd идем в меню File/Import , в открывшемся окне выбираем наши текстуры и кликаем OK. Появляется окошко импортера текстур для первой текстуры. В поле Package указываем ErazerTex — название нового архива с текстурами. Поле Group надо оставить пустым. Редактор в поле Name автоматически подставляет имя файла

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 19

Рис. 17. Опции привязки скелета.
текстуры, но его можно изменить. Картинку для менюшки назовем VIEW , текстуру головы — HEAD , а тела — BODY. Сохраняем архив с текстурами под именем, предложенным редактором. Переключаемся на вкладку Animations. Кликаем File/Mesh Import и выбираем сгенерированный ActorX ’ом файл Erazer.PSK. Открывается (еще одно!) окно импортера моделей. В поле Package указываем ErazerAnim. Редактор оповестит о появлении нового объекта [eraser]. Не пугайтесь вида модели, на ней еще нет текстур! Но это поправимо. Справа находится пять вкладок. Выбираем вкладку Mesh , разворачиваем свиток Skin , затем Material. Видим две строки [0] и [1] — именно сюда прицепляются текстуры ( рис. 22 ). Процесс привязки текстур к модели довольно оригинальный, но совсем не сложный. Снова переходим во вкладку Textures и кликаем один раз на текстуре BODY (вокруг текстуры должна появиться серо-зеленая рамка), возвращаемся в Animations к строке [0]. Кликаем на стоящем напротив None и в появившейся менюшке выбираем Use. Аналогично поступаем с текстурой головы. Теперь персонаж выглядит нормально.

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 20

Рис. 18. Создание тестовой анимации.
Следующий этап — сопоставить модели встроенный в игру стандартный скелет MercMaleA. Открываем файл Animations\HumanMaleA.ukx. Прямо под панелью инструментов вверху есть три комбинированных списка. В верхнем отображаются загруженные архивы с моделями, в нижнем левом — конкретные модели, а в нижнем правом — связанные с моделями скелеты. В нижнем левом списке выбираем строку MercMaleA. Отобразится соответствующая модель игрока. Выполняем команду Mesh/Copy Mesh Properties , затем Animation/Rename animation set. В открывшемся окошке в поле Package указываем ErazerAnim , в поле Nameeraser. В верхнем комбо-списке выбираем ErazerAnim. Заметьте, в правом списке появился скелет eraser , осталось соединить скелет и модель. Для этого кликаем на скелете eraser (в огромном списке Sequences слева должны появиться разные анимации) и выполняем команду Edit/Linkup anim and mesh. Наконец, масштабируем и ориентируем скелет и модель так же, как и MercMaleA. Достаточно кликнуть Mesh/Paste mesh properties. В моем случае потребовалось увеличить значение Mesh — Translation — Z с 116 до 120 , т.к. у меня персонаж двигался “по воздуху”. Сохраняем анимацию в файл ukx.

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 21

Рис.19. Инстру- менты редак- тирования привязки вершин вручную.
Осталось совсем чуть-чуть — научить UT2003 “видеть” новую модель. Во-первых, создаем обычный текстовый файл UT2003\System\Erazer.upl. В этой же папке находим текстовый файл XPlayers.int и с помощью “блокнота” в конец файла добавляем следующую строку: Erazer=“Name: PLAYER NAME|Age: PLAYER AGE|Race: PLAYER RACE |Data:|PLAYER BIO||” PLAYER NAME — имя персонажа (у меня Erazer ), PLAYER AGE — возраст (например, 27), PLAYER RACE — раса персонажа (можно пофантазировать!), PLAYER BIO — биография персонажа или какая-нибудь информация, связанная с ним. Вертикальная черта играет роль перехода на новую строку. У меня вся строка выглядит так: Erazer=“Name: Erazer|Age: 27|Race: IGROMANUS NATURALIS|Data:|IGROMANIA RULEZ!!!||” __ После закрывающих кавычек в этой же строке не должно стоять ни одного пробела! Открываем файл Erazer.upl и пишем туда еще одну (повторяю, только одну, без переносов!) строку в раздел [Public] : Player=(DefaultName=“Erazer”,Mesh=ErazerAnim.erazer,species=xGame.SPECIES_Merc, BodySkin=ErazerTex.BODY,FaceSkin=ErazerTex.HEAD,Portrait=ErazerTex.VIEW, Text=XPlayers.Erazer,Sex=Male,Menu=“SP”,Ragdoll=Male) **_

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 22

_Рис. 20. Опции реинициализации вершин.__Поясню параметры:•DefaultName — имя персонажа;•Mesh — модель игрока (аналог нижнего левого комбо-списка в редакторе);•species — используется для мутатора Species;•BodySkin и FaceSkin — текстуры тела и головы;•Portrait — картинка для игрового меню;•Text — это та самая информация, которую мы записали в XPlayers.int ;•Sex — он и в Африке — пол, а не то, что вы подумали;•Menu — значение SP означает, что модель доступна в Single Player;•Ragdoll — по какому из трех способов ( Male/Female/Bot ) подстреленная тушка персонажа будет падать и взаимодействовать при этом с архитектурой уровня. Сохраняем оба файла — и вперед! Запускаем игру, режимInstant Action**, выбираем карту с опциейUse Custom Bots, в список добавляем нашу модель и…Spectate, а неPlay. Биндуем на какую-нибудь клавишу командуplayersonly (заморозить выполнение всех игровых скриптов) и наивнимательнейше следим за анимацией нашей модели. При обнаружении недоработок исправляем оные в “Максе” и повторяем процесс экспорта/импорта модели!

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 23

__ Полезные советы по рисованию текстур — Никогда сильно не затеняйте большие участки, модель будет выглядеть неестественно темной. За освещение таких частей (например, руки и ноги) отвечает сам движок. Но движок не сможет затенить, к примеру, заклепки на шлеме. — Рисуйте не только внутри треугольников развертки, но и даже за их пределами. Так вы избежите неприятностей со швами. Смело используйте растушевку и инструмент смазывания Smudge для работы на границе развертки. — Учтите, что, сохраняя экспортированный из Deep Paint 3D файл с текстурой, вы не сможете его получить из “Фотошопа” назад. Может, это просто глюк плагина; тем не менее такая ситуация имеет место. Что же делать, если файл сохранить надо? Сохраняйте psd -файл, повторно экспортируйте текстуру из DP3D (при этом Deep Paint 3D посетует, что соединение с “Фотошопом” уже установлено; на деле же соединение рвется, но Deep Paint 3D об этом не знает), а затем из сохраненного файла копируйте слой Base Layer: Color в только что экспортированный документ. Склеивайте новый и старый слои (новый должен быть в стеке слоев выше старого) и, не сохраняя данный документ, из Deep Paint 3D выполняйте команду Fetch the Material from Photoshop. — Не бойтесь создавать и использовать другие слои, только не забывайте склеивать их при экспортировании. — Сохраняйте проект Deep Paint 3D в файл dp3. Так вам не придется запускать “Макс” вообще, программа раскраски сохранит данные модели в свой собственный формат. Вы сэкономите уйму времени и оперативной памяти. __ — В Deep Paint 3D используйте проекционный режим рисования, когда нужно заделать шов между кусками развертки. — Для рисования грязи и ржавчины я использовал только одну фотошоповскую кисточку из набора Special Effect Brushes. — Детали (царапины, грязь и т.п.) рисуйте в последнюю очередь. Сначала четко проработайте тени и блики основных форм.
**_

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 24

Рис. 21. Часть интерфейса экспортера ActorX.Создание дистрибутива Мы сделали первую игровую модель дляUnreal Tournament 2003. Но для того, чтобы выложить свое творение в интернете, надо создать дистрибутив. Для этого существует множество способов. Самый простой — использовать возможности всемирно распространенного архиватораWinRAR v3.xxи командного интерпретатораDOS**. Давайте разберемся в структуре мода. Есть три файла:UT2003\System\Erazer.upl,UT2003\Textures\ErazerTex.utxиUT2003\Animations\ErazerAnim.ukx. Также имеется дополнительная строка в файлеUT2003\System\XPlayers.int. Размещение файлов можно организовать просто распаковкой, а как быть с дополнительной строкой вXPlayers.int? Тут нам поможетDOS. Создаем текстовый файлinstall_ErazerPM.batи пишем такие команды:**@echo off echo. >> __ system\xplayers.int echo Erazer=“Name: Erazer|Age: 27|Race: IGROMANUS NATURALIS|Data:|IGROMANIA RULEZ!!!||”>> system\xplayers.int_**

Игромодельер. Создание модели для Unreal Tournament 2003. Часть 3 - фото 25

Рис. 22. Параметры модели, задающие текстуры.
__ Этот системный скрипт отступает от последней записи в файле одну строку и дописывает требуемое. Последовательность инсталляции ясна. А удалить данные о модели должен файл uninstall_ErazerPM.bat. Сделаем так, чтобы такой файл создавался автоматически после инсталляции. Для этого в файл install_ErazerPM.bat добавляем “генератор деинсталлятора”: echo del System\Erazer.upl >> uninstall_ErazerPM.bat echo del Animations\ErazerAnim.ukx >> uninstall_ErazerPM.bat echo del Textures\ErazerTex.utx >> uninstall_ErazerPM.bat echo del %%0 >> uninstall_ErazerPM.bat del %0 __ Первые четыре строки создают командный файл деинсталляции, который удаляет файлы модели и себя. Пятая строка — команда инсталлятору удалить себя. Все запаковываем RAR ’ом в sfx -архив и распаковщику пишем такой комментарий: title=Установка игровой модели Erazer для UT2003 text=Укажите путь к игре (например, **_ C:\Games\UT2003) path=C:\Games\UT2003 setup=install_ErazerPM.bat _**Указываем путь, архив распаковывается по указанному пути, и автоматически запускается инсталлятор. Он дописывает строку в XPlayers.int , генерит деинсталлятор в игровой папке и удаляет себя. __ Факторы, влияющие на реалистичность текстуры — Ни один объект реального мира не имеет идеальной поверхности: даже на совершенно новых предметах есть царапины, неравномерность окраски. В процессе хранения все, так или иначе, покрывается пылью. — При эксплуатации всегда возникают загрязнения, трещины и глубокие царапины. В нашем случае броня вояки не должна быть чистенькой и блестящей. При попадании пули даже в самую крепкую броню неизменно остаются вмятины. — Погодные условия не всегда соответствуют схеме “солнце, воздух и вода”. Иногда добавляются: песок, грязь, радиоактивные отходы, концентрированная кислота, кумулятивные и разрывные снаряды — одним словом, все пагубно сказывающееся на состоянии поверхности. Последние вызывают глубокие вмятины и сколы. — Вода, грязь и прочие жидкие субстанции имеют обыкновение скапливаться в различных трещинах, углублениях и просто неровностях поверхности, тем самым вызывая загрязнение и коррозию.
__Упрощение процесса привязки вершин Есть маленькая хитрость, позволяющая синхронизировать вершины. Когда мы отредактировали весы вершин вручную, не надо их разблокировать. Когда все будет готово, настройки заблокированных вершин повторяем для симметричных вершин. Однако это весьма трудоемко. Нам на помощь приходит написанный Жуаном Мартинесом (моделлером компании Terminal Reality ) маленький, но полезный скрипт MirrorWeights , который позволяет “отразить” весы вершин одной половины тела симметрично на другую. Он предельно прост в использовании: когда вершины половины тела настроены, выбираем их на уровне вершин ( Select ) и выполняем команду MAXScript/Run Script. В открывшемся окне находим файл 3dsmax\scripts\Martinez_Macro_MirrorWeights.mcr и жмем Mirror Selected. Через несколько секунд симметричные вершины будут полностью настроены!
*** * *** Вы научились многому! Теперь вы можете создать свою уникальную модель не только для UT2003 , но и для свежеиспеченного UT2004! Вы прошли настоящий курс “молодого моделлера” и в состоянии без проблем по-настоящему удивить ваших знакомых и друзей, показав им свое творение. Но тема моделлинга для UT не закрывается, на страницах журнала мы осветим еще немало интересных технических сторон “нереального” движка.

Комментарии
Чтобы оставить комментарий,Войдите или Зарегистрируйтесь