ИГРАТЬ

Модификация моделей авиации и вооружения

Модифицировать модель авиации и вооружения не сложно — требуется лишь поверхностное знакомство с интерфейсом современных 3D-редакторов. Как именно это сделать, продемонстрировано в этой статье на примере ПТАБ-2,5-1,5 и самолёта-носителя к ней. Также показано, как создать простую текстовую миссию и текст локализации.

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

Для работы понадобится

  • 3ds MAX (версии 2016 и выше);
  • Blender (опционально);
  • Notepad++ или любой другой удобный текстовый редактор с функцией памяти;
  • DagorAssetExplorer от пользователя quentin-dh — инструментарий позволяющий вынимать 3д модели, текстуры и DM модели из игры;
  • WarThunder-Datamine-With-working-code от пользователя @-_Shinoa_-;

Необходимо сразу обозначить технические проблемы и объём предстоящих работ:

  • По техническим причинам (главным образом структура файлов) игра не позволяет свободно модифицировать любые юниты, использующие модель из res\aircrafts. Это технически возможно, но изменённая модель будет работать только для ИИ юнитов, для юнитов под управлением игрока миссия не запустится;
  • Даже если игнорировать данное ограничение, эммитеры вооружения (пустые объекты в координатах которых отображается и спавнятся бомбы/ракеты/снаряды) всё равно не могут быть как-либо отредактированы. 

Это значит, что нельзя обойтись просто копией существующей модели, необходимо создать и отредактировать новую пользовательскую модель самолёта.

Вооружение

Используя референсы из интернета и чертёж из руководства по эксплуатации, моделируем lod00 (он же самый детализированный LOD) бомбы.

Так как в данном случае общее количество подвешиваемых бомб равно 192 шт., необходимо подумать об оптимизации и смоделировать упрощённые lod01 и lod02 для того, чтобы уменьшить количество треугольников с 250 тысяч на серию до 30 тысяч.

Слева направо: lod00, lod01 и lod02

Теперь, используя Smart UV Project, создаётся простая развёртка, и можно экспортировать в удобную программу для текстурирования.

На примере используется Substance Painter, где за пару минут создаются нормали и применяется один из доступных Smart Material. После небольших изменений настроек получается желаемый результат.

Осталось экспортировать модель в 3ds MAX:

Особое внимание уделяем настройкам Animation и Transform.

Импортируем в MAX, используем модификатор Smooth, настраиваем материалы Dagor (я использую dynamic_masked_chrome_bump), и Object properties.

Экспортируем всё лоды в отдельные файлы, и проверяем модель в AssetViewer.

Можно экспортировать.

Модель самолёта

Для этого необходимо получить саму 3D модель, для чего существует 2 способа:

  • Воспользоваться DagorAssetExplorer, открыть файлы игры и импортировать LOD00 в Blender;
  • Потратить деньги и получить модель из сторонних источников.

Удобнее использовать оба способа, так как DagorAssetExplorer вообще не сохраняет пивоты и локальные оси объектов, к тому же часто вынимает модели с дефектами, а сторонние источники хоть и позволяют скачивать файлы в формате .glb, но не сохраняют пилоны, эмиттеры, антенны и пропеллеры.

Так что сначала импортирется Il-2M_(1943).glb, позиционирется вдоль оси Х и удаляются все пустышки используя перед этим Parent - Clear and Keep Transformation.

Теперь необходимо повернуть все пивоты в правильное положение, используя Affect Pivot Only, Transform Orientation: Local и Transform Pivot Point: Individual Origins:

Ось Y элеронов должна быть направлена к центру самолёта

Необходимо переименовать все объекты используя Ctrl+F2:

Теперь импортируется модель, полученная с помощью DagorAssetExplorer, и удаляется всё, кроме пропеллеров и эмиттеров. Для них устанавливаются пивоты в нужных местах и поворачиваются так, чтобы пропеллеры вращались вокруг оси Y, а эмиттеры вооружения были направлены вдоль оси Х.

Осталось организовать материалы, эмиттеры используют null, в то время как prop01_1prop02_1prop03_1 и prop_side_1 используют camo, prop2, prop3 и prop_side соответственно.

Также, импортируем модель бомбы и размещаем её в необходимом количестве в бомболюках:

И переименовываем всё копии на bomb1, bomb2,… bomb191, bomb192.

Что касается анимации, то на данном примере анимированы только закрылки и бомболюки.

Конечно, никто вам не мешает анимировать все узлы самолёта, но для целей автора этого вполне достаточно.

Ещё раз проверяем все материалы:

И экспортируем используя всё те же настройки.

После импорта в MAX, применяем модификатор Smooth, Object properties,

и Note Track для объекта gear_l.

Также если у вас есть желание создать качественную модель повреждений, то вы можете потратить дополнительное время на это, автор же использует только объект engine1_dm, tank1_dm, _Clip, _ClipRGear, _ClipLGear и _ClipCGear, этого достаточно, чтобы модель работала и летала.

Для материалов используем всё те же шейдеры из данной статьи, для каждого предварительно выбрав любую текстуру из существующих в примерах не тратя время на остальные слоты, главное, чтобы для каждого материала была своя текстура, чтобы AssetViewer их случайно не объединил.

Экспортируем модель необходимое количество раз в каждый из лодов, файл _anim, и _dm, и открываю AssetViewer.

Сразу ищем модель il_2m_1943, и сохраняем скриншот используемых текстур

All used textures

Теперь необходимо для модели il2m1943, в Material Editor применить все эти текстуры, соответствие текстуры материалу можно понять логически либо методом проб и ошибок.

Осталось сохранить изменения, удалить все остальные лоды, создать копию правильного и переименовать. Экспортируем всё в игру.

FlightModel и WeaponsPreset

В папке War Thunder\content\pkg_local\gameData\flightModels создаём il2m1943.blk, открыв файл в Notepad++ вставляем код полученный с репозитория, после чего редактирую строчку model:t="il_2m_1943" заменив на название модели model: t="il2m1943». В блоке commonWeapons удаляем вообще все упоминания частей DM, таких как стрелки, боекомплект и пушки.

В блоке weapon_presets{} заменяем il_2m1943_default.blk на il2m1943_ptab.blk, создаю файл с таким названием в папке War Thunder\content\pkg_local\gameData\flightModels\weaponPresets.

Используя аддон Python Script запускаем скрипт, который создает в консоли все 192 блоков для каждой бомбы:

Weapon{
  trigger:t="bombs"
  blk:t="gameData/Weapons/bombGuns/ptab.blk"
  external:b=no
  separate:b=yes    
  emitter:t="bomb1"
  bullets:i=1
  order:i=1
}

Weapon{
  trigger:t="bombs"
  blk:t="gameData/Weapons/bombGuns/ptab.blk"
  external:b=no
  separate:b=yes    
  emitter:t="bomb2"
  bullets:i=1
  order:i=1
}

Weapon{
  trigger:t="bombs"
  blk:t="gameData/Weapons/bombGuns/ptab.blk"
  external:b=no
  separate:b=yes    
  emitter:t="bomb3"
  bullets:i=1
  order:i=1
}
.
.
.
Weapon{
  trigger:t="bombs"
  blk:t="gameData/Weapons/bombGuns/ptab.blk"
  external:b=no
  separate:b=yes    
  emitter:t="bomb192"
  bullets:i=1
  order:i=4
}

Сохраняем файл.

В папке War Thunder\content\pkg_local\gameData\weapons\bombguns создаём файл ptab.blk используя код от немецкой 10-кг бомбы, заменем модель, массу, количество ВВ, разброс и тип боевой части на кумулятивных.

При помощи того же репозитория создаём тестовую миссию, заменив юнит игрока на il2m1943. Проверяем в игре.

В папке с миссией создаю файл usr_ptab.cvs, внутри настраивем как должны отображаться названия самолёта, бомбы, название и описание кампании и раздела в Пользовательских Миссиях и перезапускаем игру.

<ID|readonly|noverify>;<english>

il2m1943;IL-2M (1943);
il2m1943_0;IL-2M (1943);
il2m1943_1;IL-2M (1943);
il2m1943_2;IL-2M (1943);
il2m1943_3;IL-2M (1943);

weapons/ptab/short;ПТАБ-2.5-1.5;

"campaigns/TunderTunder";"TunderTunder";
"campaigns/TunderTunder/desc";"Im doing stuff that i like, hate ppl that i hate and you never guess what my next mod is.";
chapters/ptab;ПТАБ-2.5-1.5;
"chapters/ptab/desc";"PTAB (Anti-Tank Aviation Bomb) was a Soviet cluster bomb developed during World War II to combat enemy armor. The most well-known variant, PTAB-2.5-1.5, weighed 1.5 kg and featured a shaped charge capable of penetrating up to 70 mm of armor.

Typically deployed in large numbers from Il-2 Sturmovik ground-attack aircraft, PTABs allowed a single plane to cover a wide area, devastating tank formations. First used in large-scale operations during the Battle of Kursk (1943), PTABs proved highly effective in disrupting German armored offensives, cementing their role in Soviet air tactics.

Credits: @UltimEVB, @AzayakaHoshi";



Успех!

Комментарии
Комментариев пока нет
Напишите первый!
Лента рекомендаций
Сейчас нам нечего вам порекомендовать :(
Перейти на главную
Вы досмотрели до конца