Сегодня я вам раскажу о том как конвертировать 3d модель персонажа или декорации из игры Risen в Warcraft 3



Для конвертирования нам потребуются следующие инструменты:



  • 3ds Max (я использую 2010 х64)
  • Risenaut (программа для распаковки архивов игры) Автор: Nico Bendlin [скачать]
  • xmac2obj v0.4 (программа для конвертирования 3d моделей *._xmac в *.obj) Автор: Baltram[скачать]
  • gw::OBJ Importer (плагин для 3ds Max) [страница] (Если у вас его нету,конешно)
  • importXmacRiggingAndSkinning.ms (скрипт для 3ds Max) Автор: Baltram [скачать]
  • RisenDDS (программа для конвертирования *._ximg в *.dds) Автор: Nico Bendlin [скачать]


    Итак, приступим:



    1.Распаковка ресурсов



    1.Распаковка ресурсов. Ресурсы упакованы в архивы с расширением *.pak, для начала нужно их распаковать. Модели и текстуры находятся в двух архивах. Откроем программу Risenaut.:

    первый animations.pak. В нём содержатся игровые объекты, монстры, персонажи, оружие и т.д в формате *._xmac. Находится он по адресу:
    <ваш путь установки>\Risen\data\common\animations.pak

    следующим нужно извлечь текстуры в формате *._ximg из архива images.pak. Он находится по адресу:

    <ваш путь установки>\Risen\data\compiled\images.pak


    Для распаковки я использовал настройки программы Risenaut по-умолчанию. После распаковки этих архивов все необходимые для конверта файлы будут находится в папках:

    <ваш путь установки>\Risen\data\common\animations
    <ваш путь установки>\Risen\data\compiled\images




    2. Конвертирование 3d модели.



    Для примера я возьму файл Ani_Hero_Armor_Don._xmac, который находится по аресу:

    <ваш путь установки>\Risen\data\compiled\animations\_emfx36\Humans\Bodys\Ani_Hero_Armor_Don._xmac

    Для начала нужно получить из файла *._xmac геометрию. Делается это с помощью xmac2obj перетаскиванием исходного файла в формате игры (*._xmac) на файл xmac2obj_v04.exe

    В результате получаем поддтверждение об успешном конвертировании файла в чёрном окне и папку с названием сконвертированной модели:

    В папке

    <ваш путь установки>\Risen\data\compiled\animations\_emfx36\Humans\Bodys\Ani_Hero_Armor_Don\

    находим файлы:

    Ani_Hero_Armor_Don.mtl - информация о материале
    Ani_Hero_Armor_Don.obj - геометрия файла

    Теперь нужно импортировать 3d модель в 3ds Max. Для этого установим (скопируем) необходимый скрипт importXmacRiggingAndSkinning.ms в папку:

    <ваш путь установки>\Autodesk\3ds Max 2010\Scripts\Startup\

    После установки запускаем 3ds Max и открываем Utilities -> MAXScript -> Utilities и видим новый пункт:

    Risen XMAC import


    Используя плагин для 3ds Max импортируем файл Ani_Hero_Armor_Don.obj из

    <ваш путь установки>\Risen\data\compiled\animations\_emfx36\Humans\Bodys\Ani_Hero_Armor_Don\

    Я рекомендую использовать не стандартный плагин (Если у вас 2008 версия,тогда читайте дальше), а gw::OBJ Importer. Он более корректно импортирует объекты из *.obj. На картинке ниже настройки для импортирования:


    После окончания процесса импорта модель появится в 3ds Max:



    Дальше нажимаем Файл>Экспорт>.3ds


    3. Конвертирование текстур.



    Для этого нужно использовать программу RisenDDS. Делается это таким же образом, что и в случае с моделями: перетаскиванием оригинального *._ximg на файл RisenDDS.exe:


    При этом программа ничего не ответит, она просто создаст файл в формате *.dds в папке с исходным файлом.

    Для моделей выбранных для этой статьи нужно использовать соответствующие текстуры, для Ani_Hero_Armor_Don._xmac это:

    Ani_Hero_Armor_Don_BodyCloth_Diffuse_S1._ximg
    Ani_Hero_Armor_Don_BodyCloth_Normal_S1._ximg
    Ani_Hero_Armor_Don_BodyLeather_Diffuse_S1._ximg
    Ani_Hero_Armor_Don_BodyLeather_Normal_S1._ximg
    Ani_Hero_Armor_Hands_Diffuse_S1._ximg
    Ani_Hero_Armor_Hands_Normal_S1._ximg
    Ani_Hero_Armo r_Hands_Specular_S1._ximg


    которые можно найти по адресу:

    <ваш путь установки>\Risen\data\compiled\images\Animation\Human\

    для головы использовать эти текстуры:

    Ani_Hero_Head_Gybrush_01_Diffuse_S1._ximg
    Ani_Hero_Head_Gybrush_01_Normal_S1._ximg
    Ani_Hero_Head_Gybrush_01_Specular_S1._ximg
    Ani_Hero_He ad_Eyes_01_Diffuse_01._ximg
    Ani_Hero_Head_Eyes_01_Normal_S1._ximg
    Ani_Hero_Head_Eyes_01_Specular_S1._ximg
    Ani_Hero_Head_Eyes_01_Cube_S1._ ximg
    Ani_Hero_Head_Mouth_01_Diffuse_S1._ximg
    Ani_Hero_Head_Mouth_01_Specular_S1._ximg


    которые находятся по адресу:

    <ваш путь установки>\Risen\data\compiled\images\Animation\Heads\


    4. Заключение.



    Вот так должна выглядеть ваша модель после конвертирования:


  • модель изначально повёрнута на 180 градусов по оси Z. Не понятно с чем это связано, но лучше конечно её повернуть на место.


    Благодарности:



  • Большая благодарность Tosyk за разъяснение процесса и предоставление программ для конверта