IGROMANIA.RU
Registration
MoreLess
Популярные за неделю
Популярные за месяц
Закрытый бета-тест «Гвинт»: это уже лучше, чем мы просили Прямым текстом > Закрытый бета-тест «Гвинт»: это уже лучше, чем мы просили
«Игромания» подробно изучила контент новой игры в рамках ЗБТ и делится первыми подробностями.
Комментариев: 18
Мясо и грайндкор. Обзор Killing Floor 2 Рецензии > Мясо и грайндкор. Обзор Killing Floor 2
Еще одна история про биологическое оружие, мутантов и заброшенные лаборатории.
Комментариев: 18
Watch Dogs 2: Dedsec на страже справедливости Спец > Watch Dogs 2: Dedsec на страже справедливости
Кому открыт доступ к нашей «надежно защищенной» конфиденциальной информации? Люди имеют право знать.
Комментариев: 15
Приключение в кармане. Обзор Pokémon Sun and Moon Рецензии > Приключение в кармане. Обзор Pokémon Sun and Moon
Pokémon Sun and Moon — одно из красивейших и самых увлекательных приключений на портативных игровых системах.
Комментариев: 12
Истории Сан-Франциско: подсматриваем за жителями мира Watch Dogs 2 Спец > Истории Сан-Франциско: подсматриваем за жителями мира Watch Dogs 2
Подглядываем за жителями города и рассказываем о самых интересных ситуациях.
Комментариев: 10
Мир тесен, особенно если это «Мир Дикого Запада» Кино > Мир тесен, особенно если это «Мир Дикого Запада»
Люди придумали продвинутый ИИ и отгрохали парк-аттракцион размером с американский штат. Этот парк населен андроидами-«актерами».
Комментариев: 9

   Создание модели для игры — работа кропотливая. Однако это не должно остановить настоящего моделлера. Большая часть работы сделана, но цель еще не достигнута. В сегодняшней финальной статье цикла мы полностью завершим моделирование нового персонажа для UT2003. Напомню, что мы сделали модель и
17 Kb
Рис.1.
Интерфейс
утилиты
Texporter.
ее текстурную развертку. Нам осталось сделать текстуры для модели, привязать модель к скелету и, наконец, экспортировать ее в игру. Как обычно, все упоминающиеся в статье файлы (scn*.max, SKIN*.jpg и *.png ) и плагины можно взять с нашего CD/DVD.
    На самое же сладкое мы приготовили вам сюрприз. Мы научим вас экспортировать полностью готовую модель для UT2003 в мир недавно вышедшего UT2004.

    Создание текстуры
   
Сначала познакомимся с редактором по имени Deep Paint 3D. Это пакет для раскраски моделей. Своего рода “Фотошоп” в 3D. Мы возим кисточкой по модели, в результате чего получается текстура. Вы уже имели возможность в одном из прошлых номеров познакомиться с его
21 Kb
Рис. 2. Подготовленный к
текстурированию персонаж.
“младшим братом” — UPaint, — поставляемым с UT2003 редактором скинов. К сожалению, DP3D на порядок сложнее, однако и возможностями он обладает большими. Впрочем, волков бояться — в лес не ходить! Открываем файл scn38.max, эту сцену мы сделали в предыдущей части статьи.

    Создание шаблона текстуры
   
У DP3D есть один недочет: он совершенно игнорирует группы сглаживания, поэтому ребра не видны. Это создает определенную дезориентацию при раскраске. На помощь нам приходит утилита Texporter. Она рендерит развертку, окрашивая треугольники в
определенные цвета и явно прорисовывая ребра. Это отличный шаблон для изготовления текстуры.
    Интерфейс утилиты очень простой (рис. 1). Сначала вводим размер текстуры 2048x2048 (в четыре раза больше требуемого результата) для рендеринга (поля Width и Height) и отмечаем галочкой пункт Only ID. Напротив него ставим Material ID требуемой части сетки. Снимаем галочку с Backface Cull и, наконец, кликаем Pick Object. Теперь в видовом окне щелкаем на нашем персонаже. Texporter рендерит разноцветную развертку, которую
9 Kb
Рис. 3. Кнопка вызова
конфигуратора набора
команд.
сохраняем в файл. Аналогично поступаем с оставшейся частью развертки.
    У меня получились два файла head_unwrap и body_unwrap. Назначаем полученные “текстуры” нашей модели: кликаем на субматериалах двухкомпонентного материала и вместо Checker выбираем Bitmap, после чего прицепляем полученные
33 Kb
Рис. 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
9 Kb
Рис. 5. Кнопка
раскраски
выделенного объекта
средствами DP3D.
окошко, в котором отображается внешний вид нашей кисточки. Также полезно установить удобные для работы опции освещения, как это показано на рис. 7 и рис. 8.
    Действуем так: наносим на модель основные цвета, а мелкие детали доводим непосредственно в “Фотошопе”. Поэтому не стоит делать идеально все сразу.
36 Kb
Рис. 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). Перемещаем нос куда следует и добавляем сколы краски и грунтовки
17 Kb
Рис. 7.
Настройки
освещения.
шлема, а также парочку неудачных хедшотов — вмятины от пуль (SKIN1_06.jpg). Детализируем содранную краску на затылке и делаем переход на швах “щека- лицо” и “затылок-шея” с помощью фотошоповского инструмента Clone Stamp (см. SKIN1_07.jpg). Аналогично раскрашиваем оставшиеся участки шеи (см. SKIN1_08.jpg и SKIN1_09.jpg). После отрезания ненужных участков текстуры получаем
19 Kb
Рис. 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.
61 Kb 58 Kb

    Огромная работа по текстурированию модели завершена. Когда мы скопировали симметричные части текстуры в другие места, могла возникнуть проблема нестыковок швов, поэтому, приладив текстуру на модель в Deep Paint 3D, буквально попиксельно просматриваем швы, при необходимости
аккуратно подчищая их в проекционном режиме.
    У нас уже есть полностью текстуренный и готовый к анимированию сеточный каркас (рис. 12), который можно посмотреть в файле scn39.max.

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

8 Kb
Рис. 9. Красной рамкой
обведен канал цвета.
    Привязка сеточного каркаса к стандартному скелету
   
Отображаем скрытый ранее стандартный скелет: во вкладке Display кликаем Unhide by Name и в списке выбираем все те части biped’а, название которых не начинается с “Dummy”. В свойствах материала нашего персонажа отключаем отображение текстуры во viewport’е и активируем опцию See-Through. Теперь с помощью перемещений и поворотов
25 Kb
Рис. 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 означает, что вершины жестко
46 Kb
Рис. 11. Финальный вид
текстуры тела.
закреплены относительно костей. В играх сейчас используется именно этот вид привязки, потому что он легко реализуется программно. При жесткой привязке каждая вершина может находиться под воздействием не более трех костей (опция Blending Between 3 Links). Вспомните школьный курс физики: тело, находящееся под воздействием нескольких сил, перемещается туда, куда ему указывает среднее арифметическое векторов этих сил. С привязкой вершин картина похожая. Каждую вершину удобно представлять частицей, находящейся под действием сил, возникающих при движении костей. Куда двигаются кости, туда и вершина. В “Максе” можно отрегулировать степень воздействия отдельных костей на отдельные вершины вручную.
24 Kb
Рис. 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).
20 Kb
Рис. 13.
Различные
варианты
инстру-
мента
Impasto.
    — Перетаскиваем ползунок в конец анимации (в моем случае — на позицию 99).
    — С помощью перемещений и вращений настраиваем положение рук, ног и остальных частей так, чтобы были видны все возможные дефекты.
    — Отключаем Auto Key (6).
    Если привязка какой-то вершины/вершин вышла криво, блокируем вершину/вершины и вводим весы вручную. Переходим на уровень редактирования вершин (Vertex) (рис. 19). Три крестика играют двойную роль. Во-первых, если активен режим выбора вершин (Select), они определяют, какой тип вершин можно выбирать: красный крест — Deformable
13 Kb
Рис. 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: WireFrame, с помощью инструмента Magic Wand выделяем внутренние части нужных треугольников, после чего выделение расширяем с помощью команды Select/Modify/Expand на 1-2 пикселя. Переключаемс я на слой Base Layer: Color и рисуем. Когда треугольников много, этот прием быстро выполнить трудно, тогда процедуру можно упростить, применяя инструменты Polygonal Lasso/Lasso.
    Для отрезания ненужных участков текстуры делаем следующее: инструментом Magic Wand выделяем неиспользуемую разверткой часть текстуры, сужаем границу командой Select/Modify/Contact на 4-5 пикселей, растушевываем на 1 пиксель командой Select/Feather и, наконец, заливаем полученную область черным цветом.

15 Kb
Рис. 15. Кнопка
привязки скелета
к сетке в
Physique.
    Экспортирование модели в UT2003
   
Мы подошли к самому приятному и занимательному этапу. Уже в ближайшие пятнадцать минут можно будет опробовать модель в игре! Идем во вкладку Tools и кликаем кнопку More, в
16 Kb
Рис. 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 автоматически подставляет имя файла
29 Kb
Рис. 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. Аналогично поступаем с текстурой головы. Теперь персонаж выглядит нормально.
40 Kb
Рис. 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.
17 Kb
Рис.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)

7 Kb
Рис. 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 (заморозить выполнение всех игровых скриптов) и наивнимательнейше следим за анимацией нашей модели. При обнаружении недоработок исправляем оные в “Максе” и повторяем процесс экспорта/импорта модели!

28 Kb
    Полезные советы по рисованию текстур
   
— Никогда сильно не затеняйте большие участки, модель будет выглядеть неестественно темной. За
освещение таких частей (например, руки и ноги) отвечает сам движок. Но движок не сможет затенить, к примеру, заклепки на шлеме.
    — Рисуйте не только внутри треугольников развертки, но и даже за их пределами. Так вы избежите неприятностей со швами. Смело используйте растушевку и инструмент смазывания 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.
    — Детали (царапины, грязь и т.п.) рисуйте в последнюю очередь. Сначала четко проработайте тени и блики основных форм.

12 Kb
Рис. 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
14 Kb
Рис. 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 не закрывается, на страницах журнала мы осветим еще немало интересных технических сторон “нереального” движка.
Рассказ о жизни человека, которому исполнилось пятьсот лет... или намного больше?
Когда друзья далеко и приехать не могут, на помощь придет подписка Xbox Live Gold.
Люди придумали продвинутый ИИ и отгрохали парк-аттракцион размером с американский штат. Этот парк населен андроидами-«актерами».
В эти выходные на территории игрового клуба Gamer Stadium состоялись финал Кубка стран и первый этап LCL Open Cup.
Комментарии к статьям
Войти и прокомментировать                Войти под логином игромании | Зарегистрироваться
Главные новости
Самые комментируемые статьи за месяц:
Рецензии > Когда «плохо» — это «хорошо». Обзор Tyranny
Кино > «28 панфиловцев»: отечественное кино о войне
Рецензии > Поехали! Обзор Call of Duty: Infinite Warfare
Спец > «Я готов к концу света». Как интернет и индустрия отреагировали на победу Трампа в выборах президента США
Рецензии > То же самое, но лучше. Обзор Dishonored 2
Рецензии > Любовь со второго взгляда. Обзор Watch Dogs 2
Спец > PS VR: первые впечатления
Прямым текстом > Все включено. Впечатления от The Elder Scrolls 5: Skyrim — Special Edition
Рецензии > Любимого узнаю по штрихкоду. Обзор HITMAN
Прямым текстом > Эволюция неизбежна, или Что стоило бы поменять в Civilization VI
Поиск по сайту Игровые платформы: PC  |   X360  |   XONE  |   PS3  |   PS4  |   Wii  |   Wii U  |   PSP  |   Vita  |   NDS  |   3DS  |   Android  |   iOS
1997-2016 ООО «Игромедиа». Мнение авторов и посетителей сайта может не совпадать с мнением редакции. Полное или частичное воспроизведение материалов сайта и журнала допускается только с согласия редакции. Для прямого контакта с редакцией пишите на основную почту «Игромании.ру».
Пользовательское соглашение

КОММЕРЧЕСКИЕ ССЫЛКИ:
Механизм выбора платформы позволяет отображать на страницах информационного портала материалы, относящиеся строго к выбранным платформам.

Каждый пользователь индивидуально выбирает для себя интересующие его игровые платформы.
 
Rambler's Top100 Яндекс цитирования