четверг, 25 декабря 2008 г.

Конвертирование 3d моделей из игры Final Fantasy X (PS2)

1. Для начала нужен диск с игрой «Final Fantasy X» для «Sony Playstation 2». Делаем образ диска любыми предназначенными для такого рода действий программами, например «UltraISO» (скачать, зеркало). Желательно файл-образ делать форматом либо BIN/CUE либо ISO.

2. Итак, у нас есть образ диска. Открыв его, вы обнаружите несколько фалов общим объёмом не более 20 мб. Модели с диска нужно извлечь. Я для этого нам понадобится программа «ffxdumper» (скачать). К сожалению, сайт разработчика этой программы «приказал долго жить», а программу с равным успехом успели растащить к себе на сервера разного рода форумы фанатов серии «Final Fantasy». В частности предлагаемая ссылка для скачивания просит перед скачиванием зарегистрироваться на сайте. Регистрируйтесь, качайте. Программа имеет вид коммандной строки, но нам это всё равно. Пользовать её просто. В скачанном архиве всего один файл «ffxdumper.exe». Есть и другой дампер, его найти проще, но, к сожалению, мне не помог, ни он, ни прилагаемая к нему библиотека «zlib1.dll».

3. Копируем исполняемый файл программы «ffxdumper.exe» в папку с недавносозданным образом «ffx.iso» (название у вас может быть своё). Хватаем левой кнопкой мыши образ и тянем его на исполняемый «ffxdumper.exe» отпускаем. Откроется «DOS»-окно, в котором побегут буковки и циферки. После того как процесс закончится в папке рядом с вашим образом и дампером появятся папки:

mon - 338  файлов;
npc - 224 файла;
obj - 110 файлов;
pc - 34 файла;
sum - 29 файлов;
wep - 79 файлов.

4. Все файлы с расширением *.ffb. Это внутренний формат игры. А ещё это TAR архивы. В каждом таком «ffb/tar»-файле хранится всего один файл, без расширения, это тоже архив, к сожалению, не удалось распознать какого он формата, но нам не важно какое расширение у файла, когда его без труда понимает «WinRAR». Так вот в этом файле без расширения находятся: один файл с расширением *.ffm (3d модель) и несколько *.ffa (анимация).

Для примера извлечения откроем папку «mon», переименуем файл 0001.ffb в 0001.tar. Извлечём из него файл 0001. Добавим к файлу 0001 расширение *.tar и извлечём из него файлы в текущую папку. В папке появятся файлы: 1.ffa, 2.ffa, 3.ffa, 4.ffa, model.ffm. Вот последний нам и нужен.

5. Полезный совет: Для того чтобы не переименовывать каждый файл *.ffb отдельно существует программа «ReNamer 5.40» (скачать):

Пользоваться ей просто: выделяем все файлы, которые хотим переименовать, и перетаскиваем на надпись «Drag your files here» в программе. Жмём на надпись «Click here to add a rule» в окне выше. В открывшемся окошке слева выбираем «Extension», в разделе «Configuration» в поле «New Extension (without a dot)» пишем новое разрешение tar. Жмём «Add Rule» и далее кнопку «Rename». Готово. Выделяем все файлы с новым расширением и извлекаем в текущую папку. Появится кучка файлов без расширения. Добавляем расширения *.tar всем извлеченным файлам выше описанными действиями предварительно удалив уже не нужные tar-файлы, из которых мы уже извлекли файлы. После добавления расширения к файлам извлекаем каждый архив в отдельную папку. После этого у нас будет равное исходным файлам количество папок, в каждой, из которой будут нужные нам *.ffa- и *.ffm файлы. 

6. Для просмотра моделей этого формата существует программа «Chargeur FFX» (скачать). Интерфейс её прост:

Чтобы посмотреть модель жмём File -> Open Model, указываем путь к любому *.ffm файлу и жмём открыть:

7. Для того чтобы экспортировать модель жмём File ->

Export Model (no skinning) - Экспорт модели (без костей);
Export Model + skinning - Экспорт модели  + кости;
Export Model + skinning + animation - Экспорт модели + кости + анимация.

На выходе получаем файл с расширением *.dae (collada format). Для импорта в 3ds Max существует специальный плагин «ColladaMax» (скачать).

8. Для того чтобы экспортировать текстуры, которые к слову сказать на выходе буду иметь формат *.tga, нужно в программе «Chargeur FFX» в File нажать на Export Textures. Результат:

вторник, 23 декабря 2008 г.

Конвертирование 3d моделей из игры Fallout 3

1. Для начала вам нужен диск с игрой Fallout 3 и полная установка её (игры) на жесткий диск.

2. В папке с игрой вы обнаружите примерно следующее:

3. Все файлы-ресурсы игры находятся в папке «Data». Все они запакованы в специальный архив с расширением *.bsa. В частности нас интересуют следующие архивы:

Fallout - Meshes.bsa - все модели;
Fallout - Textures.bsa - все текстуры.

4. Итак приступим, игра разрабатывалась компанией «Bethesda Softworks». Это те люди, которые трудились над «Morrowind» и «Oblivion», а для этих игр инструментарий был разработан уже давно. А так как «движок» у «Fallout 3» и «Oblivion» один и тот же, правда слегка модифицированный, появление инструментов для фаллоута было делом времени. Сейчас уже есть G.E.C.K. (скачать), но он нужен для изменения игры и её модифицирования и нам, к сожалению не поможет в извлечении 3d моделей из игры. Однако в нём есть некоторые полезные функции, которые возможно пригодятся для поиска нужных персонажей или иных моделей, потому что как уже повелось в играх 3d модели являются составными.

5. А понадобится нам программа NIF Scope (скачать). Устанавливаем её:

Теперь у нас есть инструмент для конвертирования 3d моделей Fallout 3 из формата игры (*.nif) в понятный большинством программ для трёхмерного моделирования (пример: 3ds Max) формат (*.obj).

6. 3d модели нужо извлечь из архива Fallout - Meshes.bsa. Для этого используем программу FO3 Archive Utility (скачать, зеркало1, зеркало2):

Для открытия архива жмём File -> Open Archive. Далее выбираем нужный архив. После загрузки, которая происходит вот так:

нажимаем Action -> Extract All (Извлечь всё) или Extract Selected Files (Извлечь выделенные файлы) и выбираем путь извлечения файлов. После извлечения в папке куда вы указали извлекать файлы появятся папки - meshes и trees. В папке meshes хранятся все 3d модели.

7. Далее запускаем установленный ранее NIF Scope. Для начала нужно показать программе ресурсы игры, для того чтобы она корректно загружала текстуры и «одевала» их на игровые модели. Для этого жмём File -> Resource Files -> Add и указываем файлы-архивы *.bsa. Закроем это окошко.

8. Теперь всё готово для загрузки 3d модели, для этого жмём кнопку Load на панели инструментов или File -> Load... и выбираем файл с расширением *.nif в папке meshes, в которую мы не так давно распаковали все модели игры. Модель корректно загрузилась:

9. Для конвертирования её жмём File -> Export -> Export .OBJ. И выбираем место сохранения файла.

Полезный совет: для удобства советую все конвертируемые файлы сохранять под тем же именем (если вы открыли файл 10mmsubmachinegun.nif сохраните его с именем 10mmsubmachinegun.obj). Так же сконвертированные файлы хранить в папке с исходным файлом.

10. Открываем любую удобную программу для 3d-моделирования. Я использую 3ds Max 2008. Жмём File -> Import... и выбираем сконвертированный файл *.obj. В появившемся окне выбираем Import options - muliple и жмём ОK:

Файл загрузится. Но пока модель без текстур:

Полезный совет: Я всегда оптимизирую 3 важных параметра после импорта моделей: это топология сетки, размеры и положение относительно центра координат. Сетка корректируется следующим образом: конвертируем все объекты в Editable Poly, выбираем один из объектов и в PolyBoost (скачать, зеркало) в разделе Modeling жмём кнопку Quadrify; это значительно облегчит объект и оптимизирует его для визуализации или экспорта. Положение и разворот моделей советую выстраивать ровно относительно центра координат. Размер моделей из Fallout 3 увеличиваем со 100% до 130%; цифры эти примерны, я их всегда подбираю «на глаз», и ошибка в 2-3% не существенна. Чтобы зафиксировать установленные положение и размер модели необходимо в 3ds Max открыть вкладку Utilities активировать инструмент Reset XForm, выделить готовые объекты и нажать на появившуюся ниже кнопку Reset Selected.

11. Текстурирование модели. Текстуры извлекаем в отдельную папку, лучше если они будут рядом с уже ранее извлеченными папками: meshes и trees. Формат у текстур стандартный уже для всех игр - DDS (DirectDraw Surface). Понимается и конвертируется он специальными программами, а так же ниже следующими:

3ds Max (стандартной комплектации)
IrfanView (с установленной библиотекой - скачать)
Photoshop CS (с установленной библиотекой - скачать)

12. Теперь у нас есть модели, есть текстуры и получаем результат: