Создание нового юнита, настройка данных и интеграция модели в игру.
После создания 3д модели нового юнита, и конвертации ее в формат игры, необходимо подключить эту модель и создать новый юнит. Если вы создаете новую модель техники, оружие которой не использовалось в оригинальной игре, то предварительно необходимо создать еще несколько файлов данных с которыми она будет работать.
Необходимы следующие игровые сущности :
Ammo.ini
Ammo – файл используемого боеприпаса, в нем хранятся данные технических характеристик снаряда.
Должен быть создан в папке :\*Название каталога игры*\data\Ammo\*страна* , в игре «Вторая мировая» возможны следующие страны :
Rus – CCCР, Ger – Германия, USA – США, Uk – Великобритания, Pol – Польша, Fr – Франция.
Для «ИВ. Африка 1943» только : Ger – Германия, USA – США, Uk – Великобритания, Ita – Италия.
В названии боеприпаса желательно указать калибр, его название, не допускается использование кирилицы в названия и пробелов.
Для примера создадим новый снаряд, настройки будут условные. Итак создаем файл
75mm_Gr_38_HLA_HEAT.ini в папке :\AoW\data\Ammo\Ger
Содержание файла :
[Base] - секция Base, в ней одна строчка с названием снаряда
Name 75mm_Gr_38_HLA_HEAT
[Properties] - секция Properties, в этой секции содержаться все настройки снаряда.
AiAmmoType HEAT – тип снаряда для использования его ИИ, в зависимости от типа, ИИ применяет разные снаряды по разным целям с разным приоритетом. Осколочные по пехоте, бронебоные по технике. Возможны следующие типы : AP, APC, APCBC, APBC, APCR,, APDS, APHE, APHEBC, API,HE, HEAC, HEAT, HEI, SMOKE. Последний тип снаряда есть только в «ИВ»
TraceMesh 3dobj\Weapons\Shells\75mmHE\mono.sim - ссылка на модель трассера, для осколочных снарядов в ИВ, для бронебойных, ссылка на светящийся трассер выглядит так :
TraceMesh Effects\Tracers\075_150mm_Red\mono. sim
Kalibr 0.075 – калибр снаряда
Massa 4.4 – масса
SolidPower 446 - урон наносимый снарядом при проломе им брон,
SolidPowerRadius 3
SplashPower 1215 – мощность фугасного поражения, в эпицентре взрыва снаряда урон наносимый равен этому значению, далее спадает по квадратичному закону, за границей SplashRadius равен нулю.
SplashRadius 3.3 максимальная радиус воздействия фугасным поражением.
FragmentPower 221 – мощность осколочного урона, мощность сохраняется в пределах всего FragmentRadius , но вероятность его нанесения уменьшается от эпицентра к границам.
FragmentRadius 12.0 – радиус осколочного поражения.
CumulativePenetration 86 – пробиваемость кумулятивной струи снаряда, используется только в кумулятивных снарядах (НЕАТ).
CumulativePower 400 – урон наносимый пробитой детали кумулятивной струей.
CumulativeRadius 0.45 – радиус разлета осколков брони в месте пробития кумулятивной струей.
CumulativeDistance 1.5 – дальнось полета кумулятивной струи.
CumulativeSpeed 100 – скорость полета кумулятивной струи в метрах в секунду(существенно отличается от реальной скорость кумулятивной струи, связанно с ограничениями движка). Два данных параметра используются только в игре «ИВ. Африка 1943»
PierceEffects PierceEffects_070-089mm – ссылка на пресет эффекта попадания снаряда
PierceSounds PierceEffects_070-089mm – ссылка на звуковой пресет эффекта попадания снаряда
ExplosionEffects ExplosionEffects_070-089mm – ссылка на пресет эффекта взрыва снаряда
ExplosionSounds ExplosionEffects_070-089mm – ссылка на звуковой пресет взрыва снаряда
RicochetEffects RicochetEffects_070_160mm – ссылка на пресет эффекта рикошета снаряда
RicochetSounds RicochetEffects_040-160mm – ссылка на звуковой пресет эффекта рикошета снаряда
ShotShakingCamera 75mm_ShotShakingCamera – пресет тряски камеры при выстреле из орудия этим снарядом, применяется в снарядах калибра 50мм и более.
ExplosionShakingCamera 75mmHE_ShakingCamera – пресет тряски камеры при взрыве снаряда
Применяется в осколочных и кумулятивных снарядах начиная с калибра 75мм.
Эти параметры используются только в игре «ИВ. Африка 1943»
SmokeFrontLength 10 - расстояние в метрах вперед от точки взрыва снаряда, которое закрывает дымовая завеса. SmokeSideLength 10 - расстояние в метрах вбок от точки взрыва снаряда (в каждую сторону) , которое закрывает дымовая завеса.
SmokeBackLength 10 - расстояние в метрах назад от точки взрыва снаряда, которое закрывает дымовая завеса.
SmokeHeight 10 - высота дымового облака в метрах.
SmokeEffects ExplosionEffects_Smoke_mine - проигрываемый эффект
SmokeExpirationTime 56 – время работы дымовой завесы в секундах, должно быть синхронизированно с временем проигрывания эффекта.
Вышеперечисленные параметры использются только для дымовых снарядов в игре «ИВ. Африка 1943»
В данном примере приведены все возможные характеристики всех снарядов, для конкретного типа нужны будут только строчки логичные для него. Например, у подкалиберных снарядов не нужны строки описания кумулятивных характеристик, у бронебойных сплошных не нужно описание параметров фугасного и осколочного поражения и т. п. Удобнее всего при создании снаряда скопировать файл близкого по ТТХ имеющегося в игре снаряда, и изменить нужные строки.
Items.ini
Файл магазина боеприпаса, должно быть для всех без исключения снарядов. Находятся в каталоге
:\*Название каталога игры*\data\Items\Magazines\*страна*\*название магазина*\unit.ini. В названии магазина желательно указать калибр, его название, не допускается использование кирилицы в названия и пробелов, если магазин однозарядный, удобно сделать его имя таким же как имя применяющегося в нем Ammo .
В файле магазина указываются используемый боеприпас, и количество этих боеприпасов.
Пример. Создадим магазин для боеприпаса упоминавшегося выше. В каталоге
C:\AoW\data\Items\Magazines\Ger\ создаем папку и называем ее 75mm_Gr_38_HLA_HEAT, в ней создаем файл unit. ini.
Содержание файла :
[Base]
Class MAGAZINE
IconName Magazines\HEAT.mat – ссылка на материал иконки магазина в интерфейсе.
Name 75mm_Gr_38_HLA_HEAT – название магазина, совпадает с названием каталога.
[MoveType]
Class FLY
[Properties]
BulletPattern Ger\75mm_Gr_38_HLA_HEAT – ссылка на используемый в магазине снаряд, относительно каталога data\ammo. Если в данном магазине используется несколько типов боеприпасов (например в лентах авиационных пушек, бронебойные и осколочные снаряды снаряжались в одну ленту в определенной пропорции ), то необходимо дописать еще ссылки на боеприпасы через пробел, например так :
BulletPattern Ger\20mm_PzGr_API Ger\20mm_MG_ZZ_HEI Ger\20mm_MG_ZZ_HEI Ger\20mm_MG_ZZ_HEI Ger\20mm_MG_ZZ_HEI, тогда в раскладке магазина будут чередоваться 1 бронебойный снаряд и 3 осколочных.
Capacity 1 – емкость магазина
TracerIndex 1 – чередование трассирующих снарядов, в данном случае каждый первый снаряд трассирующий.
Guns. ini
После настройки снарядов и магазинов, необходимо создать новое орудие. Файлы хранятся в каталоге
:\*Название каталога игры*\data\Guns\ *страна*\ . В названии желательно указать калибр орудия, кирилица и пробелы также недопустимы. На примере 75мм пушки КвК 40 опишу содержание файла 75mm_KwK_40_L43.ini
Содержание файла :
[Base] - секция Base, содержит 2 строки с
Country Ger - национальной принадлежностью орудия
Name 75mm_KwK_40_L43 – и его названием, название повторяет имя файла без расширения.
- В секции Properties опишу только те строки содержания которых следуюет менять при создании нового орудия.
[Properties]
Kalibr 0.075 - калибр орудия
useHookAsRel False
EffectPreset 070_089mm_Front_2Side – ссылка на пресет визуально эффекта выстрела, в данном случае используется эффект при стрельбе орудия с дульным тормозом.
Sound weapons.ger.75mm_kwk_40_l43 – ссылка на звуковой пресет данного орудия
EffectMode Single – тип стрельбы в данном случае одиночный огоно, возможен также Auto. Для орудий стреляющих очередями.
ReloadTime – время перезарядки магазина, минимальное и максимальное.
shotFreq 1 скорострельность, количество выстрелов в секунду, для орудий ведущих одиночный огонь, должно быть 1, скорострельность у них определяется временем перезарядки магазина.
traceFreq 1 – параметр не используется.
Magazines Ger\75mm_PzGr_39_APCBC Ger\75mm_PzGr_40_APCR Ger\75mm_PzGr_40_W_APBC Ger\75mm_Gr_38_HLB_HEAT Ger\75mm_SprGr_34_HE - список всех используемых в данном орудии магазинов.
ammoUsed Ger\75mm_PzGr_39_APCBC Ger\75mm_PzGr_40_APCR Ger\75mm_PzGr_40_W_APBC Ger\75mm_Gr_38_HLB_HEAT Ger\75mm_SprGr_34_HE - соответсвенно список всех используемых в данных магазинов боеприпасов.
AimDistance 0 1– шкала дальностей по прицеливанию.
AimRadius –соответсвующии этим дальности точности прицеливания. Рассчитывается с учетом скила наводчка по следующему алгоритму :
В файле skills.ini в секции [GroupingOfShots] есть таблица зависимости распределений точек прицеливания от умения «наводчик». Для наводчика со скилом 10, радиус разброса точки прицеливания на 100м будет равен 0.8х0.5 = 0.4м, при этом в круг данного радиуса прицеливание будет осуществляться в 50% случаев, в остальных случаях разброс точки прицеливания будет в пределах 0.8м.
10
ShootHintTimeout 15000 – время в мс. в течении которого, вражеские юниты слышат выстрел данного орудия
ShootHintRange 500 – радиус слышимости выстрела данного орудия вражеской пехотой, в метрах.
ShootHintRadius 20 – ошибка определения координат выстрела данного орудия по звуку, в данном радиусе вокруг юнита будет рисоваться иконка слышимости.
Все три параметра используются только в игре «ИВ. Африка 1943»
Свойства используемых боеприпасов данного орудия
[Ger\75mm_Gr_38_HLB_HEAT] название ammo, относительно папки Ger
Ammo Ger\75mm_Gr_38_HLB_HEAT
Speed 450 – начальная скорость снаряда
aimMinDist 10 – минимальная дальность применения для ИИ
aimMaxDist 2000 – максимальная дальность применения для ИИ
HistMaxDist 6500 – максимально возможная историческая дальность стрельбы.
Dispersion 1– рассеяние снарядов на указанной дистанции, на 1000м разброс траекторий укладывается в круг радиусом 0.4м. В таблицах стрельбы если они есть, для этого значения берется Вб.
LinesH 0 0 2000
Penetration 0
Пробиваемость снаряда на определенных дальностях, для кумулятивных снарядов на всех дальностях должны быть 0, так как пробиваемость кумулятивных БП описывается в файле боеприпаса.
[Ger\75mm_PzGr_39_APCBC]
Ammo Ger\75mm_PzGr_39_APCBC
Speed 740
aimMinDist 10
aimMaxDist 2000
HistMaxDist 6500
Dispersion 1
LinesH 0 0 2000
Penetration48
Для остальных типов снарядов используются исторические даннные.
[Ger\75mm_SprGr_34_HE]
Ammo Ger\75mm_SprGr_34_HE
Speed 570
aimMinDist 10
aimMaxDist 2000
HistMaxDist 7680
Dispersion 1
LinesH 0 0 2000
Penetration
Для осколочно-фугасных снарядов указывается толщина проламываемой брони при попадании снаряда, расчет пробиваемости при взрыве будет использовать данные введенные в файле боеприпаса.
Настройка нового юнита.
После того как все необходимые данные (3д модель, боеприпасы, магазины, орудия) есть, можно приступить к созданию новой техники. Данные описывающие юниты хранятся в каталоге :
:\*Название каталога игры*\data\Units\тип юнита\ *страна*\ *название юнита*\ , например D:\WW2_africa\data\Units\Tanks\Ger\Pz_IVF2_afrika\ . В каталоге хранятся 3 файла настроек :
Unit.ini
Hier.ini
Parts.ini
Unit.ini
- В секции Base опишу только те строки, содержания которых, следует менять при создании нового орудия.
[Base]
Class UNIT
Classification Tanks - Тип юнита, для отображение в редакторе миссий, энциклопедии и игре.
Country Ger – Национальная принадлежность
Name Pz_IVF2_afrika – Название, должно совпадать с названием каталога, в названии не допускается использование пробелов и кирилицы.
GuiType Tank – Тип интерфейса, для танков, орудий и пехоты различный.
GuiSuperstructureType turret
HookInfoIcon icon_info
HookTargetIcon icon_target
Mass 23000 - Масса в килограмах, используетсяв расчетах динамических характеристик.
Fuel 470 – Запас топлива, не используется.
FuelDec 2.5 – расход, также не используется.
Cost 400 - «Стоимость» юнита в режиме выбора войск в командных очках.
TurnRadius 5.92 – Радиус разворота
Animator Crew
AIType Tank – Тип юнита для ИИ.
VisibilityType Tank – Тип видимости для ИИ.
RatingType TankMedium – рейтинг данного юнита для ИИ, напрмер средние танки более «опасны» чем легкие и т. д.
MeshName 3dobj\tanks\ger\Pz_IVF2_afrika\hier.him - Ссылка на файл, описывающий структуру конвертированной модели. Фактически ссылка на модель.
SoundBrake!!!brake
//DieEffect
Navigation Tank_5x5 – навигационный пресет данного юнита, в ВМ/ИВ все юниты для поиска путей используют квадратные области определенного размера. В данном случае это квадрат 5 на 5 метров.
SpeedPreset Tank – Тип пресета динамических характеристик.
SpeedRoad 42 – Максимальная скорость по асфальту.
Power 300 – Мощность двигателя в л. с.
Строки ниже используются только в «ИВ. Африка 1943»
HeardRangeMove 67 – Дальность слышимости факта движения данного юнита вражеской пехотой в метрах..
TraceLOFPoint 0 0 2 – Высота линии огня. Используется для трассировки линии огня.
AvailableCommands STOP ROTATE RELOAD MOVE LINK_TO_CREW OUT_CREW DEATH ATTACK_GROUND STORM RETREAT HIT FLINCH DISPOSITION_MODE DEFEND ATTACK EXCHANGE – Список доступных команд для данного юнита.
SelectMarkerPresetName marker_5 – Размер кольцевой рамки возникающей при выделении юнита.
ACDetachmentIcon data\GUI\Ingame\Icons\detachment\ger_squad. mat – ссылка на иконку экипажа.
ACDetachmentIconBig data\GUI\Ingame\Icons\detachment\ger_squad_big. mat
[Animator]
MeshCopy False
MeshMap pzIVF2 – название анимации данного юнита (открытие закрытие люков)
[Dispatchers]
Script machine.cpp – тип скрипта используемый в ИИ данного юнита.
[MoveType]
Class Ground
AbsoluteVertical 0
TransmPreset Tank
UseGround False
Hier.ini
В данном файле описанны все крючки и кости использующиеся при наведении оружия юнита, а также сектора и скорости наводки. В файле сохраняется порядок перечесления движущихся частей техники, согласно иерархии модели. Первой описывается секция Root – центр модели и часть, относительно которой двигаются и наводятся все остальные элементы юнита.
[Root]
Type UNIT
[Hull]
Type BONE
Parent Root – ссылка на секцию стоящую выше по иерархии, на так называемый «родитель» .
Bone Body – Название кости, должно совпадать с названием конвертированной кости, можно посмотреть правильность в Hier.him
AxesOrientation HVR – Тип ориентации осей координат. Менять не нужно.
Min +1 +1 +1
Max
Speed 0 0 0 – значения +1 -1 и скорость наведения по данным осям равная нулю, означает что данная секция техники не вращается относительно вышестоящей секции. Корпус танка не вращается в отличие от башни или пулемета.
[MG_34_Bow] - Секция наведения курсового пулемета.
Type BONE
Parent Hull – Ссылка на вышестоящий элемент иерархии, относительно которого будет осуществлятся наведение данной секции.
Bone mgun2 – Кость, которая будет перемещаться при навеедении секции, в данном случае это кость – ствол курсового пулемета.
AxesOrientation HVR
Min+1
Max +5 +5 -1 – Сектор наведения, первый столбец наведение азимуту в градусах, минимальное и максимальное значение, отрицательное значение угла - наведение «вправо» , отрицательное «влево». Второй столбец наведение по углу места, отрицательные углы - «вверх» , положительные – «вниз»,. Последний столбец – перемещение вокруг продольной оси – не используется.
Speed- скорость наведения в данных углах, в градусах в секунду.
Park - угол парковки орудия (положение секции по умолчанию)
ParkHorizontal
[Hook_MG_34_Bow] – секция оружейного крючка, имя секции используется в настройках Parts.ini
Type HOOK
Parent MG_34_Bow
Hook mg_2 – имя крючка из которого ведется огонь. Регистр в названии имеет значение!
[Turret]
Type BONE
Parent Hull
Bone head
AxesOrientation HVR
Min 0 +1 +1 – наведение башни, значение 0 0 означает что башня может вращаться вокруг оси делая полный оборот. Наведение по остальным осям заблокированно.
Max 0 -1 -1
Speed
Park 0
ParkHorizontal 0
[Mask] – соответсвенно маска наводится только по углу места. Настройки аналогичны. Так как орудие в самой иерархии модели прикрепляется к маске, то нет смысла описывать наведение пушки, она будет перемещаться вместе с маской, как и спаренный пулемет.
Type BONE
Parent Turret
Bone mask
AxesOrientation HVR
Min +1 -21 +1
Max -1 +11 -1
Speed 0 5 0
Park
ParkHorizontal
[Hook_75mm_KwK_40_L43] – оружейные крючки орудия и
Type HOOK
Parent Mask
Base Turret
Hook gun_1
[Hook_MG_34_Twin] – и спаренного пулемета.
Type HOOK
Parent Mask
Base Turret
Hook mg_1
Parts.ini
Самый объемный файл настроек юнита. Содержит практически всю информацию о модели повреждений, оружии и экипаже. Настройки также идут секциями. Ниже будет описанна структура файла, на примере танка Pz IVF2. Повторяющиеся настройки и строки изменения которых не требуются, будут без коментариев.
[Hull_Hull] – Секция корпуса
Type Hull
Name Hull
DamageType Normal
Collisions x_hull2 – коллизия или несколько коллизий, которые в сумме описывают геометрию данного элемента юнита.
AimCollisions x_hull2 – название коллизи центр которой будет использованн в качестве одной из точек прицеливания по данному юниту.
Health 1416 – величина определяющая структурную прочность данной секции. При пробитии брони секции из нее вычитается урон наносимый снарядов, как только эта величина станет равной нулю, данная часть юнита будет считаться уничтоженной.
//Armor Front Back Left Right Top Bottom
Armor10 – бронирование данного элемента в мм
External True – флаг определяющий что элемент наружный.
ArmorMTL Steel – материал данной секции, в данном случае броневая сталь. Весь список материалов находится в файле damage.ini в каталоге data\settings
IsBox True
isCritical True – критичность данной секции для существования юнита, true означает что в случае уничтожения корпуса весь юнит будет считаться уничтоженным.
Links 7_92mm_MG_34_Bow BackPack Commander Diesel Driver Loader MachineGunner Shooter Turret – элементы, которым могут быть нанесенны повреждения от вторичных осколков, образующихся при пробитии брони этой секции.
Volume Main – флаг обозначающий что внутрение объемы коллизий будут вырезаться друг из друга. Необходимо чтобы при пересечении коллизий входящих в одну секцию не было двойного пробития, например сначала маска а потом еще раз башня.
[Armored_Superstructure] – секция подбашенной коробки, введенная для детализации системы поврежедний техники в игре «ИВ. Африка». Так как у большинства немецких танков бронирование корпуса и данного элемента было различным.
Type Armored
Name Superstructure
DamageType Normal
Collisions x_super x_lk7 x_lk3 x_hull7
AimCollisions x_super
Health 1416
//Armor Front Back Left Right Top Bottom
Armor12
External True
ArmorMTL Steel
IsBox True
isCritical True
Links 7_92mm_MG_34_Bow Commander Diesel Driver Loader MachineGunner Shooter Turret
Volume Main
AttackModeArea Mid – флаг обозначающий, что данная секция будет использованна для прицеливания при указании игрока вести огонь в центр цели.
[Turret_Turret]
Type Turret
Name Turret
Bone Turret
DamageType Normal
Collisions x_Head x_lk9 x_lk8 x_lk5 x_lk6
AimCollisions x_Head
Health 944
//Armor Front Back Left Right Top Bottom
Armor10
External True
ArmorMTL Steel
IsBox True
isCritical False
Links 75mm_KwK_40_L43 Commander Loader Shooter Superstructure
//DamageRect1 Turret_Side – для игры ВМ, ссылки на области текстуры юнита в интерфейсе, которые будут закрашенны красным в случае поврежедения данной секции. В игре «ИВ. Африка 1943» описание стандартных элементов не требуется.
//DamageRect2 Turret_Top
SoundAim!!!Turret_rotate_electro – звук при вращении башни.
Volume Main
HeardRangeTurn 5 – дальность слышимости разворота башни вражеской пехоты.
[Armored_Turret_Com] – секция командирской башенки.
Type Armored
Name Turret_Com
DamageType Normal
Collisions x_Head1 x_lk1 x_lk2
Health 500
//Armor Front Back Left Right Top Bottom
Armor10
External True
ArmorMTL Steel
IsBox True
isCritical False
Links Turret Commander
Volume Main
NeedSecondarySplashFragForInternal True – флаг обозначающий что при повреждении данного элемента вторичными осколками могут быть поврежденны элементы описанные в строке Links. Башня и командир.
[WeaponStatic_7_92mm_MG_34_Bow] – секция курсового пулемета.
Type WeaponStatic - тип секции , оруженый.
WeaponType Machine_Gun - тип оружия для ИИ
Variety Bow
RatingType Machine_Gun - рейтинг данного оружия, исходя из которого ИИ будет применять его по различным целям.
Name 7_92mm_MG_34_Bow
Parent Hull
IconName WeaponStatic\Machinegun.mat – ссылка на материал изображения оружия в интерфейсе. Текстура и материал должны находится в каталоге data\GUI\Ingame\Icons\WeaponStatic\
Gun Ger\7_92mm_MG_34_HMG - ссылка на оружие из каталога data/guns
SignNode Hook_MG_34_Bow – ссыдка на секцию оружейного крючка в Hier.ini
SignType Generic – возможный тип прицеливания и стрельбы, в данном случае, только прямой наводкой. В игре «ИВ. Африка 1943» возможны значения Both – стрельба прямой и непрямой наводкой.
Hooks Hook_MG_34_Bow – ссыдка на секцию оружейного крючка в Hier.ini
ParkAngle 0
DamageType Normal
Collisions x_Mgun2
Health 150
//Armor Front Back Left Right Top Bottom
Armor
External True
ArmorMTL Steel
IsBox False
isCritical False
DamageRect1 mgun
DamageRect2 mgun
Links Hull
[WeaponStatic_7_92mm_MG_34_Twin] -секция спаренного пулемета.
Type WeaponStatic
WeaponType Machine_Gun
Variety Twin
RatingType Machine_Gun
Name 7_92mm_MG_34_Twin
Parent Turret
IconName WeaponStatic\Machinegun. mat
Gun Ger\7_92mm_MG_34_HMG
SignNode Hook_MG_34_Twin
SignType Generic
Hooks Hook_MG_34_Twin
ParkAngle 0
DamageType Normal
Collisions x_Mgun1
External True
Health 150
[WeaponStatic_75mm_KwK_40_L43] -секция орудия..
Type WeaponStatic
WeaponType Gun
Variety Primary
RatingType Gun
Name 75mm_KwK_40_L43
Parent Turret
IconName WeaponStatic\Heavy_gun. mat
Gun Ger\75mm_KwK_40_L43
SignNode Hook_75mm_KwK_40_L43
SignType Generic
Hooks Hook_75mm_KwK_40_L43
ParkAngle 0
DamageType Normal
Collisions x_Gun1 x_Gun2
Health 150
//Armor Front Back Left Right Top Bottom
Armor30
External True
ArmorMTL Steel
IsBox False
isCritical False
//DamageRect1 Gun_Side
//DamageRect2 Gun_Top
Links 7_92mm_MG_34_Twin
isKillLinkedOnDeath true –флаг обозначающий что при уничтожении данной секции, прилинкованные к ней части тоже будут уничтоженны.
[Hatch_CommanderHatch] -секция люков.
Type Hatch
Name CommanderHatch
Parent Turret
AnimHatchOpen ANIM_OPEN_HATCH_COMM -анимации открытия
AnimHatchClose ANIM_CLOSE_HATCH_COMM –и закрытия люков.
SoundHatchOpen!!!hatch_open –звуки закрытия открытия люков.
SoundHatchClose!!!hatch_close
[Hatch_DriverHatch]
Type Hatch
Name DriverHatch
Parent Hull
AnimHatchOpen ANIM_OPEN_HATCH_DRIVER
AnimHatchClose ANIM_CLOSE_HATCH_DRIVER
SoundHatchOpen!!!hatch_open
SoundHatchClose!!!hatch_close
[Decorator_Antenna_Headlights_Zip] -секция декораторов, элементов отлетающих от юнита при повреждении (фары, антены, экраны, запчасти и баки.)
Type Decorator – флаг обозначающий принадлежность секции к декораторам.
Name Antenna_Headlights_Zip
DamageType Normal
Collisions x_fara2 x_fara3 x_zip11 x_zip7 x_zip17 x_zip18 x_zip19 x_zip20 x_zip2 x_zip4 x_zip8 x_zip9
Health 200
//Armor Front Back Left Right Top Bottom
Armor
External True
ArmorMTL EQUIPMENT
IsBox False
isCritical False
DamageThreshold 1 –флаг обозначающий что юнит будет уничтожен только в случае единовременного нанесения повреждений превышающих значение Health.
[Decorator_Track_Zip]
Type Decorator
Name Track_Zip
DamageType Normal
Collisions x_zip14 x_zip16 x_zip10 x_zip12 x_zip15 x_kr2 x_kr1 x_zip1_1 x_zip1 x_zip5 x_zip6
Health 200
//Armor Front Back Left Right Top Bottom
Armor
External True
ArmorMTL EQUIPMENT
IsBox False
isCritical False
DamageThreshold 1
[Armored_Fenders] – элементы не критичные для конструкции танка, но жестко прикрепленные к нему. Они не должны отлетать при уничтожении (крылья, выхлопные трубы и тп.)
Type Armored
Name Fenders
DamageType Normal
Collisions x_hull3 x_hull4 x_hull5 x_hull6 x_zip3
Health 200
//Armor Front Back Left Right Top Bottom
Armor
External True
ArmorMTL Steel
IsBox False
isCritical False
Links Hull
[Armored_Mask]
Type Armored
Name Mask
DamageType Normal
Collisions x_Mask1 x_Mask2 x_Mask3
Health 472
//Armor Front Back Left Right Top Bottom
Armor50
External True
ArmorMTL Steel
IsBox True
isCritical False
Links 75mm_KwK_40_L43 7_92mm_MG_34_Twin Turret Commander Loader Shooter
isKillLinkedOnDeath True
Volume Main
NeedSecondarySplashFragForInternal True
[Diesel] –секция двигателя и трансмиссии.
Type Diesel
Name Diesel
DamageType Normal
Collisions x_engine x_transm1 x_transm2 x_transm3 x_bz2 – набор коллизий имитирующих двигатель, трансмиссию и бензобаки.
AimCollisions x_engine
Health 236
//Armor Front Back Left Right Top Bottom
Armor
External False
ArmorMTL Steel
IsBox True
isCritical False
Links Hull
//DamageRect1 Diesel_Side
//DamageRect2 Diesel_Top
DieEffect Diesel_Heavy_Destroy - эффект горения двигателя.
SoundEngine!!!pziv_motor –звук двигателя.
SoundRpmMin 500
SoundRpmMax 1500
SoundStartDelay 2000
SoundGearNum 1
SoundRpmEven 1300
SoundRpmDeltaUp 200
SoundRpmDeltaDown 600
SoundTrack!!!pziv_track
SoundBrake!!!brake
SoundStart!!!pziv_motor_start
SoundStop!!!pziv_motor_stop
HeardRangeWork 50 – дальность слышимости заведенного двигателя пехотой. Используется только в «ИВ. Африка 1943.»
[CrewPlacement_Commander] – секция экипажа.
Type CrewPlacement
Name Commander – имя экипажного места
Job Commander – должность занимаемая членом экипажа, и отображаемая в интерфейсе. Возможны должности : командир, наводчик, водитель, заряжающий, пулеметчик, пехотинец (для БТР и автомашин это перевозимый десант)
Dispatcher infantry.cpp – скрипт управляющий членом экипажа
Hatch CommanderHatch – люк через который данный член экипажа производит посадку высадку
Animator PzIVF2_Commander – анимация людей на данном юните (посадка высадка, работа экипажа в открытой технике.)
OffsetMode Anim
FreeCrew False
DamageType Normal
Collisions x_Commander – коллизия моделирующая данного члена экипажа
External False
Hook_In commander – крючки в которых будет перемещен данный член экипажа при посадке
Hook_Out commander_out – и высадки.
VisSector0 vcommander_0 Сектора видимости и увеличение в данном секторе относительно направления крючка. Используется только в «ИВ. Африка 1943»
VisSector1 vcommander_1
VisSector2 vcommander_2
VisSector3 vcommander_3
VisSector4 vcommander_4
[CrewPlacement_Driver]
Type CrewPlacement
Name Driver
Job Driver
Dispatcher infantry. cpp
Hatch DriverHatch
Animator PzIVF2_Driver
OffsetMode Anim
FreeCrew False
DamageType Normal
Collisions x_Driver
External False
Hook_In driver
Hook_Out driver_out
VisSector0 vdriver_0 -3
VisSector1 vdriver_1
[CrewPlacement_Loader]
Type CrewPlacement
Name Loader
Job Loader
Dispatcher infantry. cpp
Weapon1 75mm_KwK_40_L43 – для членов экипажа которые обслуживают оружие, т. е. ведут из него огонь или перезаряжают, обязательна такая запись, списка оружия который данный член экипажа обслуживает, иначе юнит не сможет стрелять.
Weapon2 7_92mm_MG_34_Twin
Hatch CommanderHatch
Animator PzIVF2_Commander
OffsetMode Anim
FreeCrew False
DamageType Normal
Collisions x_Loader
External False
Hook_In commander
Hook_Out commander_out
VisSector0 vloader_0
VisSector1 vloader_1
[CrewPlacement_MachineGunner]
Type CrewPlacement
Name MachineGunner
Job MachineGunner
Dispatcher infantry. cpp
Weapon1 7_92mm_MG_34_Bow
Hatch DriverHatch
Animator PzIVF2_Driver
OffsetMode Anim
FreeCrew False
DamageType Normal
Collisions x_MachineGunner
External False
Hook_In driver
Hook_Out driver_out
VisSector0 vmgunner_0
VisSector1 vmgunner_1
[CrewPlacement_Shooter]
Type CrewPlacement
Name Shooter
Job Shooter
Dispatcher infantry. cpp
Weapon1 75mm_KwK_40_L43
Weapon2 7_92mm_MG_34_Twin
Hatch CommanderHatch
Animator PzIVF2_Commander
OffsetMode Anim
FreeCrew False
DamageType Normal
Collisions x_Shooter
External False
Hook_In commander
Hook_Out commander_out
VisSector0 vshooter_0 -1
[CrewSet_Main] – состав экипажа, его звания и набор оружия.
Type CrewSet
Name Main
Crew01_CP Commander
Crew01_Job Commander
Crew01_Unit Data/Units/Human/Ger/Tankman_afrika
Crew01_N_Level Novice
Crew01_R_Level Regular
Crew01_V_Level Veteran
Crew01_E_Level Elite
Crew01_N_Rank Unteroffizier – звание которое будет присвоенно данному члену экипжа, при данном уровне опыта.
Crew01_R_Rank Unterfeldwebel
Crew01_V_Rank Feldwebel
Crew01_E_Rank Oberfeldwebel
Crew01_N_BpSet1 Walter_P38_2xM_39 – боеприпасный набор используемый даннным членом экипажа, при данном уровне опыта. Название набора прописанно в файле настройки танкиста data/units/human
Crew01_R_BpSet1 Walter_P38_2xM_39
Crew01_V_BpSet1 Walter_P38_2xM_39
Crew01_E_BpSet1 Walter_P38_2xM_39
Crew02_CP Driver
Crew02_Job Driver
Crew02_Unit Data/Units/Human/Ger/Tankman_afrika
Crew02_N_Level Novice
Crew02_R_Level Regular
Crew02_V_Level Veteran
Crew02_E_Level Elite
Crew02_N_Rank Schutze
Crew02_R_Rank Gefreiter
Crew02_V_Rank Gefreiter
Crew02_E_Rank Obergefreiter
Crew02_N_BpSet1 Walter_P38_2xM_39
Crew02_R_BpSet1 Walter_P38_2xM_39
Crew02_V_BpSet1 Walter_P38_2xM_39
Crew02_E_BpSet1 Walter_P38_2xM_39
Crew03_CP Loader
Crew03_Job Loader
Crew03_Unit Data/Units/Human/Ger/Tankman_afrika
Crew03_N_Level Novice
Crew03_R_Level Novice
Crew03_V_Level Regular
Crew03_E_Level Veteran
Crew03_N_Rank Schutze
Crew03_R_Rank Schutze
Crew03_V_Rank Gefreiter
Crew03_E_Rank Gefreiter
Crew03_N_BpSet1 Walter_P38_2xM_39
Crew03_R_BpSet1 Walter_P38_2xM_39
Crew03_V_BpSet1 Walter_P38_2xM_39
Crew03_E_BpSet1 Walter_P38_2xM_39
Crew04_CP MachineGunner
Crew04_Job MachineGunner
Crew04_Unit Data/Units/Human/Ger/Tankman_afrika
Crew04_N_Level Novice
Crew04_R_Level Regular
Crew04_V_Level Regular
Crew04_E_Level Veteran
Crew04_N_Rank Schutze
Crew04_R_Rank Schutze
Crew04_V_Rank Gefreiter
Crew04_E_Rank Gefreiter
Crew04_N_BpSet1 Luger_P08_2xM_39
Crew04_R_BpSet1 Luger_P08_2xM_39
Crew04_V_BpSet1 Luger_P08_2xM_39
Crew04_E_BpSet1 Luger_P08_2xM_39
Crew05_CP Shooter
Crew05_Job Shooter
Crew05_Unit Data/Units/Human/Ger/Tankman_afrika
Crew05_N_Level Novice
Crew05_R_Level Regular
Crew05_V_Level Veteran
Crew05_E_Level Elite
Crew05_N_Rank Gefreiter
Crew05_R_Rank Obergefreiter
Crew05_V_Rank Obergefreiter
Crew05_E_Rank Obergefreiter
Crew05_N_BpSet1 SubMachineGun_MP_40_2xM_39
Crew05_R_BpSet1 SubMachineGun_MP_40_2xM_39
Crew05_V_BpSet1 SubMachineGun_MP_40_2xM_39
Crew05_E_BpSet1 SubMachineGun_MP_40_2xM_39
[LeftTrack] – секции траков
Type Track
Name LeftTrack
Side Left
Bone tr1
TrackEffect Effects\Track\Track_002.eff – след остающийся на земле после проезда танка.
SpeedMultiplier 115
TrackSpeedMultiplier -8.5 – скорость и направление вращения текстуры траков
Prefix k kp kz
DamageType Normal
Collisions x_tr1
AimCollisions x_tr1
Health 236
//Armor Front Back Left Right Top Bottom
Armor20
External True
ArmorMTL Steel
IsBox True
isCritical False
Links Hull
[RightTrack]
Type Track
Name RightTrack
Side Right
Bone tr2
TrackEffect Effects\Track\Track_002.eff
SpeedMultiplier 115
TrackSpeedMultiplier -8.5
Prefix k kp kz
DamageType Normal
Collisions x_tr2
AimCollisions x_tr2
Health 236
//Armor Front Back Left Right Top Bottom
Armor20
External True
ArmorMTL Steel
IsBox True
isCritical False
Links Hull
[VehicleSkin_GerSummer1] секция скина техники.
Type VehicleSkin
Name GerSummer1 – имя набора окраски и реджементов.
Skin Summer1 – имя используемой окраски, должно совпадать с записью в skins.ini
Division GerEmptyBlack_1- имя используемого набора реджементов, должно совпадать с секцией в skins.ini
Camouflage 1 – флаг влияния камуфляжа на заметность данного юнита. 1 значение по умолчанию, увеличение этого значения улучшается скрытность. Используется только в ИВ. Африка 1943
Date1 01.01.1диапазон дат для данного скина. Используется при автоматическом выборе скина в редакторе миссий.
[SimpleAbilities_SimpleAbilities] – секция дополнительных свойств
Type SimpleAbilities
Name SimpleAbilities
isTrailer False - возможность данному юниту быть «трейлером», быть прицепленным к другому. Для буксируемых орудий должно быть true
isTractor False – обратное свойство, способность буксировать орудия. Для работы обязательно наличие специального крючка в модели.
isPassenger False
DestroyOnEmptyBackpack False
[BackPack] – секция боекомплекта, для возможной детонации при повреждении танка.
Type BackPack
Name BackPack
DieEffect Backpack_Destroy
DamageType Normal
Collisions x_Ammo2 x_Ammo3
Health 200
//Armor Front Back Left Right Top Bottom
Armor
External False
ArmorMTL Steel
IsBox False
isCritical False
[BackPackSet_Mixed] Возможные варианты боекомплекта, по составу боеприпасов и количеству.
Type BackPackSet
Name Mixed
Group1_MaxItems 20
Group1_Item01 Magazines\Ger\7_92mm_MG_34_belt_tank 20
Group2_MaxItems 87
Group2_Item01 Magazines\Ger\75mm_Gr_38_HLB_HEAT 8
Group2_Item02 Magazines\Ger\75mm_PzGr_39_APCBC 30
Group2_Item03 Magazines\Ger\75mm_PzGr_40_APCR 9
Group2_Item04 Magazines\Ger\75mm_SprGr_34_HE 40
[BackPackSet_Mixed2]
Type BackPackSet
Name Mixed2
Group1_MaxItems 20
Group1_Item01 Magazines\Ger\7_92mm_MG_34_belt_tank 20
Group2_MaxItems 87
Group2_Item01 Magazines\Ger\75mm_Gr_38_HLB_HEAT 8
Group2_Item02 Magazines\Ger\75mm_PzGr_39_APCBC 30
Group2_Item03 Magazines\Ger\75mm_PzGr_40_W_APBC 9
Group2_Item04 Magazines\Ger\75mm_SprGr_34_HE 40
Интеграция нового юнита в ресурсы игры
После того как законченны все настройки для нового юнита, необходимо прописать ссылки на него в нескольких файлах игры, это следующие файлы :
:\*имя каталога игры*\data\Settings\ filesid.ini - файл содержит нумерованные ссылки на все ресурсы игры, необходим для того чтобы в сетевой игре передавался не файл содержащий какой-то ресурс, а только его номер, что позволяет во много раз сократить трафик. Различие в этом файле на клиенте и сервере приведет к падению игры у клиента из-за рассинхронизации.
В данный файл необходимо внести следующие записи, соблюдая последовательность нумераций :
- ссылка на юнит вида data/units/tanks/ger/pz_ivf2_afrika
- ссылка на новый магазин или магазины data/items/magazines/ger/75mm_pzgr_39_apcbc
- ссылка на новый боеприпас data/ammo/ger/75mm_pzgr_39_apcbc
- ссылка на материалы иконок для интерфейса 3dobj/tanks/ger/pz_ivf2_afrika/pz_ivf2_afrika.mat
:\*имя каталога игры*\data\Settings\ EncyclopaediaCont.xml – файл список юнитов отображаемых в энциклопедии. После соответсвующей записи в этом файле новый юнит можно будет увидеть в энциклопедии игры.
Файлы локализаций : :\*имя каталога игры*\data\local\ru
units. utf8 – файл названий юнитов
items. utf8 – названия магазинов
guns. utf8 – названия оружия
encdescription_tanks. utf8 – файлы описаний для энциклопедий, в данном случае танки.
После записей в локализационных файлах, вместо знака вопроса в названии нового юнита, магазина или орудия, в интерфейсе, появятся соответсвующие названия.


