Converting 3d model from Gray Matter
Русский / English
В статье подробно описан процесс конвертирования моделей (скелет и веса присутствуют), а так же анимации из игры Gray Matter (pc) в 3ds Max.
Примечание: Статья расчитана на пользователей знакомых с работой в 3ds Max и не описывает такие моменты как, например, текстурирование объектов, настройка материалов и т.п.
Для конвертирования потребуются следующие инструменты:
- 3ds Max (я использую 2008 х64) должно работать на версиях: 7-2011
- Blender v2.49b (3d редактор) Автор: Blender Foundation [страница]
- Python v2.6.5 (библиотеки для работы Blender) Автор: Python Software Foundation [страница]
- PyFFI (библиотеки для работы скриптов для Blender) Автор: Amorilia [страница]
- FBX Plug-in (плагин для 3ds Max для открытия *.fbx файлов) Автор: Autodesk [страница]
- gray-matter-pc-b3d-importer-2010-12-19.blend (скрипт для Blender для импорта *.b3d файлов) Автор: Mariusz Szkaradek [скачать] [страница]
- PAK util v0.55 (программа для распаковки *.pak файлов) Автор: bacter [скачать] [страница]
1. Распаковка игровых архивов. После установки игры все ресурсы будут находится в папке Data в архивах *.pak. Для распаковки этих архивов нужно использовать программу GrayMatter PAK util. Выглядит она так:
Напротив фразы .PAK file: выбираем *.pak архив, напротив слова Directory: выбираем путь извлечения и нажимаем кнопку Extract.
Советую каждый архив распаковывать в свою папку с именем архива.
2. Конвертирование моделей. Все игровые персонажи, а так же некоторые ключевые игровые объекты находятся в архивах *.pak в папке:
<путь установки>\Gray Matter\Data\characters\
Для примера конвертирования я взял модель Mephi:
<путь установки>\Gray Matter\Data\characters\id_mephi.pak
После распаковки этого архива получим:
- anims — папка с анимацией
- mephi.fbm — папка с текстурами
- mephi_dc.fbm — папка с текстурами (второй костюм)
- mephi.b3d — 3d модель персонажа
- mephi.mat — свойства материала для файла mephi.b3d
- mephi_dc.b3d — 3d модель персонажа (второй костюм)
- mephi_dc.mat — свойства материала для файла mephi_dc.b3d
Перед началом конвертирования нужно установить Python, Blender и PyFFI.
Для удобства предлагаю для каждого распакованного архива создавать папку с тем же именем, таким образом у меня получается папка с файлами/папками:
<путь установки>\Gray Matter\Data\characters\id_mephi\
В созданую папку нужно скопировать файл gray-matter-pc-b3d-importer-2010-12-19.blend. Теперь запускаем этот файл, откроется Blender:
Справа — окно 3d просмотра. Слева — скрипт, который нужен для импортирования *.b3d файлов. Внизу — панель управления анимациями.
Далее, жмём правой кнопкой по скрипту слева и запускаем его выбрав команду Execute Script:После запуска скрипта откроется небольшое окошко, в котором нужно выбрать какую модель из папки (их в ней только две: mephi.b3d, mephi_dc.b3d) нужно загрузить:
Я выбрал
<путь установки>\Gray Matter\Data\characters\id_mephi\mephi.b3d
и нажал Ok. После непродолжительного процесса модель и анимация (о которой ниже) загружены в Blender:
Для экспорта 3d модели в *.fbx жмём File -> Export -> Autodesk FBX (.fbx)…:и сохраняем модель со следующими параметрами:
Устанавливаем самый новый плагин для импорта *.fbx файлов в 3d max. Открываем 3d max. Импортируем файл *.fbx, в моём случае это:
<путь установки>\Gray Matter\Data\characters\id_mephi\mephi.fbx
После окончания процесса импорта в окне предпросмотра увидим следующее:
Предлагаю немного оптимизировать\улучшить модель:
- изменить положение костей скелета: заметно, что у некоторых моделей положение большинства костей не соответствует модели, видимо это связано с тем, что разработчики использовали один скелет для всех похожих персонажей. Для изменения положения костей нужно: выделить объект -> в модификаторе Skin разделе Advanced Parameters убрать галку с Always Deform, далее изменять положение костей, после завершения включить Always Deform
- изменить направление нормалей отдельных полигонов
- затекстурить модель
После вышеперечисленных манипуляций получим готовую модель (я скрыл кости):
Сохраняем модель так:
<путь установки>\Gray Matter\Data\characters\id_mephi\mephi.fbx
3. Конвертирование анимации. При импорте моделей в Blender импортируется так же и анимаци. Она автоматически подгружается в программу из папки anims, из файлов *.bba. Выбрать анимацию можно нажав на кнопку Browses existing choices or adds NEW (1), воспроизвести анимацию нажав на кнопку Play Timeline (2):
Выбираем первую анимацию walk.bba, жмём Play Timeline, это вызовет воспроизведение анимации ходьбы.
Примечание: Для того чтобы выбрать другую анимацию нужно предварительно щёлкнуть правой кнопкой мыши по скелету в сцене.
Далее, для экспорта анимации в *.fbx жмём File -> Export -> Autodesk FBX (.fbx)… и сохраняем анимацию со следующими параметрами:
Я сохранил анимацию тут:
<путь установки>\Gray Matter\Data\characters\id_mephi\anims\walk.fbx
Далее, в 3ds max загружаем недавно сохранённую 3d модель:
<путь установки>\Gray Matter\Data\characters\id_mephi\mephi.fbx
и импортируем в сцену анимацию walk.fbx, получим нечто похожее:
4. Текстуры и материалы. В игре Gray Matter используется два основных типа текстур: диффузный (diffuse map) и карты нормалей (normal map). Все текстуры в формате *.dds.
5. Визуализация. 3ds max и шейдеры.
5 thoughts on “Converting 3d model from Gray Matter”
извини за глупый вопрос но как нужно импортировать fbx файлы в 3d max (параметры) ибо загружается только квадрат:((
всё решил проблему другим путём, экспортирю в блэндере в формат obj:)
Здравствуйте, а у вас часом не сохранился GrayMatter PAK util? Его создатель, похоже, вычистил все ссылки на него.
Если вы, конечно, ещё заглядываете в этот блог.
Надеюсь на чудо.
—отбой по палате, не заметила ссылки на дропбокс наверху. Спасибо!
>Darina
>Если вы, конечно, ещё заглядываете в этот блог.
регулярно.