В этой статье описано, как устроена в коде игры оптика наземной техники и как её модифицировать в своих миссиях.
Ограничения
- Только однопользовательские миссии
Для работы понадобится
- War Thunder CDK.
- Калькулятор.
- Любой текстовый редактор, но я рекомендую использовать Notepad++ с плагином BracketsCheck.
- Репозиторий с кодом техники.
- War Thunder Wiki для получения идентификатора техники.
Шаг 1: Создание пользовательской миссии
Для начала потребуется создать миссию с наземным юнитом. Подробнее об этом можно прочитать в статье о создании пользовательских миссий.
Для этого руководства была использована локация avg_training_ground.
Шаг 2: Поиск техники и подготовка файлов
В данном примере будут модифицироваться Панцирь-С1 и L3/33 CC. Сначала надо найти данные юниты на War Thunder Wiki и посмотреть их игровые ID в адресной строке браузера (в данном случае это ussr_pantsyr_s1 и it_l3_cc):
Далее скопируйте это название, перейдите в репозиторий и вставьте его в поиск:
Скачайте выбранный файл и измените его расширение с .blkx на .blk, после чего откройте с помощью текстового редактора.
Шаг 3: Процесс модификации каждой из частей оптики
Кратность оптики
Начнём с того, как устроена кратность оптики в игре. В большинстве случаев отвечающая за неё часть кода находится почти в самом конце файла техники и в случае с Панцирь-С1 выглядит так:
cockpit {
zoomOutFov:r = 12.72
zoomInFov:r = 2.63
sightFov:r = 3.58
sightName:t = "1es1_sight"
openedCockpit:b = false
headPos:p3 = 0, 5.2, -13
headPosOnShooting:p3 = 0, 5.8, 0.25
detectionHeight:r = 4.374
}Разберёмся, что означает каждый из параметров:
zoomOutFov:r=12.72— поле зрения в прицеле при минимальном зуме;zoomInFov:r=2.63— поле зрения в прицеле при максимальном зуме;sightFov:r=3.58— отрицательный радиус виньетки;sightName:t="1es1_sight"— имя прицельной сетки в игре;openedCockpit:b=false— открыт ли кокпит;headPos:p3=0,5.2,-13— координата камеры от 3-го лица без зума;headPosOnShooting:p3=0,5.8,0.25— координата камеры от 3-го лица с зумом;detectionHeight:r=4.374— условная высота, от которой рассчитывается обнаружение целей.
При установке значения для параметра sightFov больше 110 ваш прицел станет полностью чёрным.
Кратность оптики в игре определяется как округлённый до десятых долей или целого числа результат деления 73,68 на поле зрения в прицеле.
Координаты в параметрах headPos:p3 и headPosOnShooting:p3 задаются в условной локальной системе координат от центра модели:
- Первое значение — ось X (вправо/влево относительно корпуса);
- Второе значение — ось Y (вверх/вниз);
- Третье значение — ось Z (вперёд/назад относительно корпуса).
Не рекомендуется изменять значение оси Y в параметре headPos во избежание странного поведения камеры.
Примеры при некоторых значениях параметров:
На Панцирь-С1 уже есть ПНВ, тепловизор и ОЛС, поэтому дальнейшие модификации будут проводиться на танкетке L3/33 CC. Будут добавлены ПНВ и тепловизор, а также ОЛС.
Оптико-электронные приборы наблюдения
К данной категории относятся все системы, позволяющие вести наблюдение и прицеливание в условиях недостаточной видимости. В игре они находятся в одном блоке в файле техники и могут включать в себя приборы ночного видения (ПНВ) или тепловизор.
Для установки ПНВ/тепловизора на технику, на которой они отсутствуют, надо добавить блок nightVision(если его нет) после блока modifications.
nightVision {
gunnerThermal {
resolution:ip2 = 800, 600
noiseFactor:r = 0.04
}
driverIr {
resolution:ip2 = 800, 600
lightMult:r = 5
ghosting:r = 0.6
noiseFactor:r = 0.2
}
}Выше размещён пример блока nightVision{} , который установлен в файле L3/33 CC, где также есть блок, в названии которого два важных названия:
Первое слово — это название оптики члена экипажа:
gunner— наводчик;commander— командир;driver— механик-водитель.
Второе слово — это название прибора:
Ir— ПНВ;Thermal— тепловизор.
Обозначение каждого параметра:
resolution:ip2 = 800, 600— разрешение прибора в пикселях;lightMult:r = 5— множитель света;ghosting:r = 0.6— уровень «призрачного» эффекта;noiseFactor:r = 0.2— уровень шума.
АСЦ (ОЛС)
Автомат сопровождения цели (оптическая локационная станция) присутствует на большинстве современных боевых машин. Принцип работы заключается в захвате и сопровождении цели по её инфракрасному излучению.
Для добавления ОЛС надо создать или добавить блок сенсоров sensors в конце файла.
sensors{
sensor {
blk:t = "gameData/sensors/fr_leclerc_auto_target_tracker.blk"
turretIndex:i = 0
designationTurretIndex:i = 0
dmPart:t = "optic_gun_dm"
}
}blk:t = "gameData/sensors/fr_leclerc_auto_target_tracker.blk"— путь к автотрекеруmPart:t = "optic_gun_dm"— имя части модели поврождений
Шаг 4: Финальные приготовления и тестирование
Сохраните файл и перенесите его в папку War Thunder\content\pkg_local\gameData\units\tankModels\*название папки*\
В названии папки можно использовать английские буквы, цифры, подчёркивание.
Название файла должно соответствовать ID любого танка, который у вас приобретён (можно использовать название любого резервного танка, он точно есть у всех).
В файле миссии, которую вы создали ранее, в строчке unit_class:t="" укажите ваше *название папки*/*имя файла*. В данном примере это unit_class:t="t44/ussr_zprk_2s6" и unit_class:t="t44/it_l3_cc"
Готово, можно тестировать:
Пример миссии, включающей L3/33 с ПНВ, тепловизором и АСЦ также доступен на WT Live.










