Маска имени Ганнибала Лектора...

Урок посвященный созданию головных уборов/масок для Fallout 3.

Не шляпа красит человека.

Нет ничего ужаснее ФейсГена из фоллаута или обливиона. Многообещающая технология кастомизации привела обе игры к ситуации "гомосеки атакуют". Для обливиона через некоторое время была создана утилита, для копирования настроек лица из оригинальной программы FaceGen, что позволило делать более приятные лица с большим удобством и меньшими трудозатратами. Для фолла такого еще нету и это печально.

Итак головные уборы, очки, маски и прочая мелочевка. Пути как обычно два:

  1. Заскинить геометрию на кость головы и так оставить. Тут стоит уточнить, что такой объект не будет деформироватся вместе с настройками головы, поэтому если кто-то сделает свою рожу слишком широкой - она будет торчать наружу сквозь геометрию. Правда можно сделать маску достаточно толстой и отстоящей подальше от лица и ничего не будет заметно. В случае полностью закрытых шлемов, которые полностью убирают бодипарт головы, этой проблемы вообще нет.
  2. Создать специальные морфы для объекта, которые будут его деформировать в соответствии с лицом.

В фолле существуют следующие типы файлов:
.tri - содержит копию сетки из nif-файла;
.egm - содержит управляющие морфы деформирующие меши из tri или что-то в этом роде;
.egt - содержит морфы текстур.

Это все взято из дополнения Singular Inversions Customizer 1.1 к FaceGen. Можно было бы использовать его для работы, да вот беда, как-то хитро там все устроено. Сия программа делает для проекта кеши морфов - 80 штук по 100 мегабайт каждый, у меня это заняло 4 часа с гаком. А в фолле все немного проще и количство морфов меньше. Так что для работы достаточно небольшой утилиты The Conformulator.

Для начала работы нужно распаковть из Fallout - Meshes.bsa папку \meshes\characters\head. Затем сделать заготовку, на которой будет выравниватся головной убор. Для этого импортируйте headhuman.nif (или headfemale.nif они практически совпадают), скелет \meshes\meshes\characters\_male\skeleton.nif указывать не обязательно, хотя если делается ожерелье, то лучше скелет импортировать, но ожерелью не нужно делать морфы :). Импортированная голова (без скелета) будет на высоте 112.843, ее надо переместить в нулевые координыты, pivot (опорная точка) головы указывает где распологается кость Bip01 Head, поэтому его не трогать.

Модификатор BSDismemberSkin вроде тоже не нужен, так как отсутствует скининг. А можно и перестраховаться. Экспортируется в nif-файл со стандартными настройками, в качестве рута указывается NiNode. Из nif-файла удаляется все кроме нода NiTriStrips с сеткой маски (если это все есть в файле, сетка головы например). Для рутового нода добавляется нод NiStringExtraData.

В его имя вписать Prn (от print), а в String Data вписать Bip01 Head, этот нод будет символизировать кость головы для выравнивания координат маски по голове. Для нода BSShaderPPLightingProperty оставить только флаги SF_ZBUFFER_TEST, SF_EMPTY, SF_UNKNOWN_31, все остальное убрать.

Потом через File -> Export -> Export .OBJ экспортировать сетку для препарирования Conformulator-ом. Вообще в последней версии заявлена поддержка nif-файлов версии фоллаута, но по старинке надежнее :). Файл obj положить там же где и nif-файл, с таким же именем для простоты, чтоб потом не перемещать и не переименовывать. В окне Conformulator-а указываются:

В первой строке оригинальная голова из фолла \meshes\characters\head\, во второй строке указывается nif или obj-файл которому делаются морфы. Параметр Falloff нужен если нужно сделать изменяемой только часть геометрии рядом с головой, если его не указывать - будет распространятся на всю сетку. Галка Create HairMorph соответственно для создания прически. Об этом как-нибудь в другой раз, и то если получится. После нажатия Conformulate будут созданы tri и egm файлы для маски.

Но движок обливиона-фоллаута еще та педальная система... Поэтому запускаем G.E.C.K. и грузим плагин с маской. Выделив маску в арморе (а может и не надо выделять, не проверял) нужно выполнить команду Character -> Update FaceGen model availability.

Это включит что-то для правильного выравнивания маски по лицу, если это не сделать ее развернет на 90 градусов набок.

Update: для Fallout3 New Vegas функция редактора Character -> Update FaceGen model availability сломана. Во-первых она ничего не сделает, и головной убор будет все равно набок. Во-вторых она сломана так, что обновит эту функцию для всех головных уборов игры и при подключении плагина они все до единого будут свернуты набок. Для F3NV это дело правится через редактирование esp-плагина в FNVEdit. Текст об этом >>>.