Есть альтернативный вариант конвертации моделей с помощью CGF-Exporter. Он дает меньше искажений и прописывает пути к текстурам. Пока конвертит только в obj, автор работает над экспортом в Collada DAE, там будет поддержка скелета и анимаций. Графический интерфейс отсутствует, командная строка на данный момент выглядит так: cgf-converter.exe [файл-жертва с расширением cgf, cga, chr] -obj -objectdir "[путь в корневую папку, куда распакована игра]" Если вы не любитель садо-мазо с командной строкой и у вас не подкашиваются ноги при словосочетании "редактирование реестра виндовс", то процесс конвертирования можно сильно упростить: Распаковываем конвертер на постоянное место жительства в подходящую папку, у меня это D:\Programs\CryEngine\ (там не сам движок, только утилитки для него). Жмакаем двойным кликом или энтером на файлик cgf, винда спросит "чем хотите открывать такие файлы?", указываем на экзешник конвертера, подтверждаем, мигает черное окошко и ничего не происходит. Повторяем процедуру для файлов cga и chr. Запускаем редактор реестра (Win+R regedit [OK]), жмем F3 для поиска, лучше всего искать по полному пути, меньше лишних остановок, в моем случае по D:\Programs\CryEngine\cgf-converter.exe Найденное значение вида "D:\Programs\CryEngine\cgf-converter.exe" "%1", изменяем до вида "D:\Programs\CryEngine\cgf-converter.exe" "%1" -obj -objectdir "Q:\!_AW\gamezero"
где "Q:\!_AW\gamezero" - ваш путь к корневой папке с распакованной игрой, в этой папке должны быть подпапки objects, materials, textures, sounds и т.п. (параметр влияет только на правильность путей к текстурам внутри создаваемых mtl-файлов).
Жмем F3 снова и повторяем замену со следующим найденным. У меня нашлись три раза, потом еще шесть раз, но уже измененные - в ветках-дублях пользователя и 64-бит.
После этих сложно описуемых, но легкоисполнимых телодвижений, файлики будут конвертироваться в OBJ двойным кликом или энтером.
После добавления экспорта в DAE придется снова корректировать в реестре, меняя -obj на -dae или -collada (а автор еще и blend с fbx-ом собирается добавить когда-нибудь).
После конвертирования, начнется развлекуха с текстурами, т.к. они заточены под шейдеры, диффузная содержит лишь пару масок в каналах, поэтому красит все в красный с синим.
Я ее сразу менял на текстуру царапин, в которой также содержатся декали для "ветерана".
Полный список текстур выглядит так:
_d Diffuse - какие-то маски, возможно затенение, бесполезная в целом. _s Specular - очень темная текстура, один товарищ ее зафотошопил до приемлемого вида и скинул мне методичку, но я пока не вникал. _ddn Bumpmap - обычный нормал-мап, но DDS закодирована методом 3Dc, вместо обычных DXT1-5, поэтому некоторые просмотрщики/конвертеры на ней обламываются, например XnView не могёт. Я использую Deep Exploration, там все норм. _sm Decal - тут всякие надписи и царапины/грязь (или эмбиент окклюжен), ее лучше поставить вместо _d. _dm SubSurface - тоже весьма темная, скорее всего пойдет для глосс-канала в обычном рендерере.
По-быстрому заменить _d.dds на _sm.dds можно в Notepad++, для этого выделяем все материалы (в тотал-коммандере цифровой +, и маска *_mtl.mtl) и открываем с помощью Notepad++, а там банально заменяем (Ctrl+H) _d.dds на _sm.dds жмакая "заменить во всех открытых файлах".
Полученные конвертированием запчасти загружаем в одну сцену и вручную расставляем по местам (некоторые автоматом попадают на место).
Точные координаты есть в cdf-файле (он текстовый).
Автор конвертера делал повершелл скрипт для MechWarrior Online, который собирал эту информацию и импортировал все в Blender, заодно исправляя материалы, пишет что можно будет адаптировать под AW, правда не ясно, он сам адаптирует или это намек для энтузиастов.
Я расставил на глаз, альт-табаясь в игру и обратно:
текстуры белые, примерно тонированы цветом меша, цвет обмотки ствола и мешков далек от игрового, яркий блеск крыльев гусениц спереди скорее всего баг старой версии конвертера.
PS: Посмотрел внимательно этот cdf - там только точки установки антенн, которые лежат в общей папке, пойду "порадую" автора конвертера...
PPS: Поискал подходящую XML где могли бы храниться координаты запчастей в gamedata.dat из альфы - очевидный кандидат prefabs\tanks.xml, но смущают координаты гусениц для БМП-2, в сцене они по центру и ниже корпуса, возможно с небольшим смещением вперед/назад, а внутри файлика мы видим такое:
<Object Type="GeomEntity" Layer="Main" Id="{E7228448-04B2-4FBD-886F-AFCE2B447279}" Name="GeomEntity65" Pos="1.8493652,3.3989258,-0.34028625" FloorNumber="-1" Rotate="1,0,0,0" ColorRGB="65535" MatLayersMask="0" Geometry="Objects/vehicles/AFV/BMP-2/Tread_Left.chr" OutdoorOnly="0" CastShadow="1" CastShadowMinspec="1" LodRatio="100" ViewDistRatio="100" HiddenInGame="0" RecvWind="0" RenderNearest="0" NoStaticDecals="0" CreatedThroughPool="0" EntityClass="GeomEntity">
<Properties esFaction="">
<Health bInvulnerable="1" MaxHealth="500" bOnlyEnemyFire="1"/>
<RenderProxyOptions bAnimateOffScreenShadow="0"/>
</Properties>
</Object>
<Object Type="GeomEntity" Layer="Main" Id="{10B113BF-096D-4C7F-9B99-546D1863435F}" Name="GeomEntity62" Pos="1.9082031,3.4611816,-0.33050537" FloorNumber="-1" Rotate="1,0,0,0" ColorRGB="65535" MatLayersMask="0" Geometry="Objects/vehicles/AFV/BMP-2/Tread_Right.chr" OutdoorOnly="0" CastShadow="1" CastShadowMinspec="1" LodRatio="100" ViewDistRatio="100" HiddenInGame="0" RecvWind="0" RenderNearest="0" NoStaticDecals="0" CreatedThroughPool="0" EntityClass="GeomEntity">
<Properties esFaction="">
<Health bInvulnerable="1" MaxHealth="500" bOnlyEnemyFire="1"/>
<RenderProxyOptions bAnimateOffScreenShadow="0"/>
</Properties>
</Object>
По-идее, одна из координат должна быть с плюсом по одной из осей, по которой у второй гусеницы должен быть минус, это лево-право, а вверх-вниз и вперед-назад должны совпадать, но тут все отличаются, как будто танк не в центре сцены, а где-то сбоку, еще и с наклоном...