Jump to content
Korean Random
Uti-Puti

Распаковка клиента Armored Warfare

Recommended Posts

 

 

Такое не прокатит?

нет...  драйвер не работает в режиме совместимости,

Share this post


Link to post

Short link
Share on other sites

Всем привет.

Помогите найти в архивах или распаковать DamagePanel. Заранее спасибо.

Share this post


Link to post

Short link
Share on other sites

пытаюсь собрать модельку страйкера с масксеткой из альфа-версии игры. Колеса еще не осилил, да и текстуры на корпус, колеса, пушку и башню не смог пока наложить нормально Вот что удалось сделать.
8765a514c78db0e765d52ebdc63830e7.jpg

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

В общем, удалось распаковать почти все архивы (кроме gamedata) и даже разобраться что к чему крепится и как окрашивается. Правда, я с приятелем крепил катки и другие части танков на глаз, никаких координат мы не имели )

После передачи разработки полностью в руки мыла, паки перелопатили, убрав всякое лишнее, исчезли min_resources и т.п. хрень. К сожалению, исчезли и модели новых танков (Деривация, К1 и К2 и т.д.). Вот результаты сборки моделей и их рендеры для одной группы вк. Все рендеры делались в Кейшоте.

50_sy7oHqHA.jpg

8aNoqzebZBs.jpg

 

CXC0564ileM.jpg

sdznNNO6vFE.jpg

z4XBntDVQgo.jpg

 

Слегка допиленный Т-64БМ2. В оригинале он был совершенно ужасен, мы добавили пулемет, броню на ДЗ и натянули зимний камуфляж.

YlkOAHyL_Qc.jpg

 

Запиленный нами по мотивам календаря УВЗ Т-90М с решетками на башне и бревном сбоку.

pQ0cCSb9aMw.jpg

 

А вот недоделанный пока корпус PT-91 Twardy с натянутой ДЗ, это мое собственное творчество в максе :)

e6709d371e303c580083e90fbe833abf.jpg

  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

В общем, удалось распаковать почти все архивы (кроме gamedata) и даже разобраться что к чему крепится и как окрашивается. Правда, я с приятелем крепил катки и другие части танков на глаз, никаких координат мы не имели )

После передачи разработки полностью в руки мыла, паки перелопатили, убрав всякое лишнее, исчезли min_resources и т.п. хрень. К сожалению, исчезли и модели новых танков (Деривация, К1 и К2 и т.д.). Вот результаты сборки моделей и их рендеры для одной группы вк. Все рендеры делались в Кейшоте.

 

Модели домов и объектов не пробовал вытаскивать?

Share this post


Link to post

Short link
Share on other sites

Windows 7 32-bit work with Dbgview and KmdManager in administrator mode and without digital signature.
But referring to the following errors, APPKEY failed to obtain access to the gamedata.dat file.
Error message:

[3852] [0628/213947: WARNING: resource_bundle.cc (503)] local resources are not loaded
[3852] [0628/213947: VERBOSE1: pref_proxy_config_tracker_impl.cc (218)] 21417280: set chrome proxy configuration service to 21417378
[3852] [0628/213947: VERBOSE1: pref_proxy_config_tracker_impl.cc (355)] 21417280: Done pushing proxy to UpdateProxyConfig
[3852] [0628/213947: ERROR: proxy_service_factory.cc (130)] Can not use V8 proxy resolver in single process mode.

Does anybody work for the program, or do I do something wrong?
Because I do not start with Armored Warfare on Windows XP.

Edited by Brian19881026

Share this post


Link to post

Short link
Share on other sites

короче, разрабы переделали текстуры и старые уже не подходят - все нужно делать по новой. Но пока ничего не получается ((

Кстати, сами текстуры в размерах здорово уменьшили, полагаю, что в рамках борьбы за оптимизацию.

 

update: вот что удалось понять:

ao_d.dds - оттуда можно брать альфа-канал, если требуется (например, для гуслей)

normal_ddn.dds -  это уже обычная текстура нормалей.

w.dds - а вот это самая интересная текстура карты весов, в которой все почти и лежит (царапины и т.п.). из нее я удаляю альфа-канал (он не нужен для рендеров) и играюсь с тонами. плохо, что царапины у разных танков лежат в разных же каналах.

id.dds - вот тут еще разобраться не удалось.

 

Многое все равно еще не понятно, но однозначно текстуры были порезаны и довольно сильно, если не в два раза! Вот пока промежуточные результаты. 

 

SJm3kjZAIko.jpg

lE6mKkE4GME.jpg

Edited by romand
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
В 13.11.2017 в 06:43, romand сказал:

update: вот что удалось понять:

ao_d.dds - оттуда можно брать альфа-канал, если требуется (например, для гуслей)

normal_ddn.dds -  это уже обычная текстура нормалей.

w.dds - а вот это самая интересная текстура карты весов, в которой все почти и лежит (царапины и т.п.). из нее я удаляю альфа-канал (он не нужен для рендеров) и играюсь с тонами. плохо, что царапины у разных танков лежат в разных же каналах.

id.dds - вот тут еще разобраться не удалось.

 

Предполагаю, что:

ao_d.dds содержит в альфа-канале карту прозрачности, в красном канале - карту ambient occlusion, в синем канале - маску для камуфляжа, зелёный не используется(?);

id.dds содержит в красном канале восьмислойную  маску материала. Сами материалы описаны в .mtl файле id.xml. В начальных 32 пикселях содержится какая-то информация, разобраться пока не удалось.

 

До w.dds пока не добрался.

 

Французский Сфинкс, раскрашенный согласно  id.dds. Цвета схематичные.

sphinx.png

 

 

В 04.01.2018 в 18:41, Brian19881026 сказал:

Please, somebody write to me a command for the unsplitalldds program!

 

https://p3dm.ru/soft/resource-extractors/9316-unsplitalldds.html

 

Syntax: DDSUnsplit <first dds chunk> [output filename]

Edited by MasterModeley
Уточнил детали
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

@Brian19881026 

Sorry, I do not speak English and misunderstood you.

Try this batch file.

 

@echo off
setlocal enableextensions enabledelayedexpansion

for /r "root_folder" %%i in ("*.dds.0") do (
    echo %%i
    DDSUnsplit.exe %%i
)

endlocal
exit /b 0

 

Do not forget to specify the root_folder

 

 

 

На данный момент предполагаю, что

 

id.xml содержит описание многослойных материалов в виде

 

<Palette id="3">                                                       индекс в файле id.dds
    <Layer name="Dirt.tga" />                                  1 слой R канал в w.dds
    <Layer name="BasePaint.tga" />                        2 слой G канал в w.dds
    <Layer name="Scratch.tga" />                            3 слой B канал в w.dds
    <Layer name="BlackMask.tga" />                       4 слой A канал в w.dds
    <BaseLayer name="base_00FF00" />
  </Palette>

 

id.dds содержит карту применения соответствующих материалов из id.xml

 

w.dds содержит карты интенсивности соответствующих слоёв

 

 

Цитата

w.dds - а вот это самая интересная текстура карты весов, в которой все почти и лежит (царапины и т.п.). из нее я удаляю альфа-канал (он не нужен для рендеров) и играюсь с тонами. плохо, что царапины у разных танков лежат в разных же каналах.

 

Кажется, царапины могут лежать в разных каналах даже для одной текстуры, в зависимости от порядка слоёв в id.xml

 

Сфинкс раскрашен по приведённому принципу. Чёрный - RubberRaw, красный - Dirt, синий - Scratch.

sphinx_scratch_dirt.jpg

Edited by MasterModeley
Прикрепил картинку
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

попробуй в UV 1:1 проставить

3 часа назад, MasterModeley сказал:

Вот что получается в итоге.

 

Текстурные координаты орудия и маски куда-то не туда наложились.

 

sphinx-painted.jpg

 

Попробуй в UV 1:1 поставить. У меня так получалось.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
10 минут назад, romand сказал:

Попробуй в UV 1:1 поставить. У меня так получалось.

 

Я рендерю у себя на сайте. Там нет такой возможности. Либо неправильно читаю UV из сgf.

 

Надо будет еще со смешением цветов поэкспериментировать. Пока результат мне не очень нравится.

Edited by MasterModeley
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
В 07.01.2018 в 12:38, MasterModeley сказал:

Французский Сфинкс, раскрашенный согласно  id.dds. Цвета схематичные.

sphinx.png

А это не зоны пробития случаем?

Share this post


Link to post

Short link
Share on other sites
2 часа назад, Andrakann сказал:

А это не зоны пробития случаем?

 

Нет. Это зоны применения того или иного материала/шейдера. Причем "синий" шейдер для колёс это не то же самое, что и "синий" для корпуса или башни. 

Но ваша теория очень интересная. Попробую проверить её.

Edited by MasterModeley

Share this post


Link to post

Short link
Share on other sites

Подводем итоги проведённым изысканиям.

 

Рассмотрим подробно принципы формирования новых текстур на примере шасси Сфинкса. Материал определён в файле "\Objects\vehicles\afv\sphinx\sphinx_hull.mtl" и имеет вот такой вид:

Цитата

<Material Name="Wheels" MtlFlags="524416" Shader="AT_LayeredPaint" GenMask="800004000" StringGenMask="%BUMP_MAP%DIFFUSE_EXISTS" SurfaceType="mat_vehicle_armor" MatTemplate="" Diffuse="0.04614884,0.042987008,0.014310519" Specular="1,1,1" Emissive="0,0,0" Shininess="60" Opacity="1" HeatAmountScaled="83" LayerAct="1">
   <LayeredConfig>
    <File Val="objects/vehicles/afv/sphinx/textures/new/wheels/id.xml"/>
    <Layers>
     <Item>
      <LayerKey Val="BasePaint"/>
      <Material Val="materials/at_materials/basepaint_01"/>
      <AlbedoAlpha Val="3.4300001"/>
      <SurfaceAlpha Val="1.34"/>
    .......
    <Item>
      <LayerKey Val="RubberRaw"/>
      <Material Val="materials/at_materials/rubberraw_01"/>
      <AlbedoAlpha Val="1.12"/>
      <SurfaceAlpha Val="1"/>
    ......

 

Перебирая "Item" в "Layers" мы можем получим набор цветов, соответствующих "LayerKey". Для этого надо исследовать файл материалов, определённый в "Material". Например, для "RubberRaw" это будет файл  "/materials/at_materials/rubberraw_01.mtl":

Цитата

<Material MtlFlags="524288" Shader="AT_SingleLayer" GenMask="0" StringGenMask="" SurfaceType="" MatTemplate="" Diffuse="0.020951131,0.020951131,0.020951131" Specular="0.031551391,0.031551391,0.031551391" Emissive="0,0,0" SimplifiedDiffuseScalar="2" Shininess="40" Opacity="1" CloakAmount="0" LayerAct="1">
 <Textures />
 <PublicParams FresnelContribution="1" SurfaceTilingU="3" NormalRotation="0" SurfaceIndex="2" EmissiveExponent="0" SurfaceRotation="0" NormalsContribution="0" NormalTilingV="3" EmissiveMultiplier="0" CamoWeight="0" SmoothnessContribution="1" FresnelScale="3" FresnelBias="0.2" NormalIndex="2" SurfaceTilingV="3" GlobalAlbedoWeight="0" NormalTilingU="3" DiffuseContribution="0.315" GlobalMaterialScale="4" IndirectColor="0.25,0.25,0.25"/>
</Material>

 

Здесь нас интересует атрибут "Diffuse", мы и будем использовать. В нашем случае это чёрная резина с цветом #050505.

 

Составив таблицу цветов, займёмся файлом "/objects/vehicles/afv/sphinx/textures/new/wheels/id.xml" в котором описаны материалы и их слои:

Цитата

<?xml version="1.0"?>
<Palettes>
  <Palette id="1">
    <Layer name="Dirt.tga" />
    <Layer name="BasePaint.tga" />
    <Layer name="Scratch.tga" />
    <Layer name="RubberRaw.tga" />
    <BaseLayer name="base_00FFFF" />
  </Palette>
  <Palette id="2">
    <Layer name="Dirt.tga" />
    <Layer name="BasePaint.tga" />
    <Layer name="Scratch.tga" />
    <BaseLayer name="base_0000FF" />
  </Palette>
  <Palette id="3">
    <Layer name="Dirt.tga" />
    <Layer name="BasePaint.tga" />
    <Layer name="Scratch.tga" />
    <BaseLayer name="base_FF0000" />
  </Palette>


  Мы видим три материала из 4-5 слоёв.
  По идее, вместо вычисленных выше цветов можно просто использовать текстуры, определённые в этом файле. Но найти их мне не удалось.
  "BaseLayer" определяет цвет основы, на которую наносятся остальные слои. Интенсивность первого первого слоя определяется R каналом в файле "/objects/vehicles/afv/sphinx/textures/new/wheels/w.dds", интенсивность второго, третьего и четвёртого слоёв каналами G, B и A соответственно.
 
  Файл "/objects/vehicles/afv/sphinx/textures/new/wheels/id.dds" в красном канале содержит карту применения того или иного материала. В нашем случае пикселы с R == 1 соответствуют материалу с <Palette id="1"> и т.д.
 
  В результате, алгоритм расчёта пикселя тестуры выглядит следующим образом:
  1) выбираем пиксель из w.dds и раскладываем на каналы как R, G, B, A
  2) выбираем соответствующий пиксель из id.dds и выбираем R канал как M
  3) если M == 0 - пиксель не используется
  4) выбираем Palette с id == M как P
  5) выбираем цвет как СOLOR из таблицы цветов для P[BaseLayer]
  6) для каждого слоя P[Layer] выбираем соответствующие цвета из таблицы цветов как cl и смешиваем с СOLOR используя (R, G, B, A): COLOR = blend( COLOR,  cl, {R, G, B, A}  )
  7) закрашиваем пиксель текстуры цветом COLOR
  

Edited by MasterModeley
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Знаю, безумная идея, но всё же - В оффлайн никто не пытался перевести арматку, или под свой сервер как то, чтоб одному играть или в коопе на собственном серваке? 

Edited by Alex_ComradE

Share this post


Link to post

Short link
Share on other sites

Итак, есть ли какие-либо новые идеи? Собираюсь сделать следующую попытку разобраться в раскраске моделей.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×