AmidKnight

Helicopter Import Guide

Rotary-wing aircraft including attack and transport. Follow these tailored steps for helicopter imports including config inheritance, memory points, and in-game testing.

Create Checklist

Required Mods for Helicopter

CBA_A3 (Community Base Addons)

Foundation library used by most modern Arma 3 mods. Required for scripted features, keybinds, and compatibility macros.

Subscribe on Steam Workshop, enable in Arma 3 Launcher before your mod.

ACE3

Optional

Advanced Combat Environment — needed if your assets use ACE ballistics, medical, or interaction systems.

Only required when inheriting ACE classes or using ACE-specific config.

A3_Soft_F (Base Game)

Vanilla wheeled vehicles — parent for cars, trucks, and light MRAPs.

Use C_Offroad_01_F, B_MRAP_01_F, etc. as inheritance bases.

A3_Armor_F (Base Game)

Vanilla tracked and heavy armour — parent for APCs, IFVs, and tanks.

Use appropriate tank/APC parent (e.g. B_APC_Tracked_01_F).

A3_Air_F (Base Game)

Vanilla aircraft — parent for helicopters and planes.

Helicopters: Heli_Transport_01_F family. Planes: Plane_Fighter_03_F family.

A3_Boat_F (Base Game)

Vanilla watercraft — parent for ships and boats.

Use Boat classes for buoyancy and water simulation inheritance.

RHS (USAF / AFRF / GREF / SAF)

Optional

Optional but common dependency when retexturing or extending RHS assets.

Subscribe to the RHS packs your project extends; list in requiredAddons[].

CUP Weapons / Vehicles / Units

Optional

Community Upgrade Project — optional base for CUP-compatible retextures.

Enhanced Movement / RotorLib

Optional

RotorLib (RTD) is built into Arma 3 for advanced helicopter flight models.

Enable advanced flight model testing for helicopters and planes.

Step-by-Step Process

1

Install Arma 3 Tools

Install Arma 3 Tools from Steam. Object Builder, TexView 2, and Addon Builder are required for the full pipeline.

  • Steam → Library → Tools → Arma 3 Tools → Install
  • Verify Object Builder opens and can load .p3d files
  • Addon Builder packs and binarizes — formerly known as BinPBO
Arma 3 ToolsObject BuilderTexView 2Addon Builder
2

Create Mod Folder Structure

Organize as @YourMod/addons/your_addon/. config.cpp must sit at the addon folder root.

  • Create @YourMod/addons/ — packed .pbo files go here
  • Each addon source folder needs its own config.cpp at root
  • All model/texture paths use your addon prefix (e.g. mymod\data\texture.paa)
  • model.cfg lives alongside the .p3d (see Model Config wiki)
3

Configure Arma 3 Launcher

Enable your local mod and every mod listed in requiredAddons[] before testing.

  • Launcher → Mods → Add local mod → select @YourMod
  • Enable CBA_A3 and all CfgPatches requiredAddons[] entries
  • After each pack, restart the game or reload to pick up PBO changes
CBA_A3
4

Plan LODs & Selections

Before modelling, plan every LOD the asset needs. LOD resolution numbers only determine sort order in Arma 3 — not view distance.

  • Resolution LODs (0, 1, 2…): visual mesh — aim for ~50% triangle reduction per step
  • Geometry (1×1e13): collision — required for physics interaction
  • Geometry Phys (4×1e13): PhysX convex components for vehicles
  • Memory (1×1e15): axes, memory points, proxies, and animation pivots
  • View Geometry (6×1e15) & Fire Geometry (7×1e15): line-of-sight and ballistics
  • Hit Points (5×1e15): vertices for damage sphere placement on vehicles
  • Land Contact (2×1e15): ground contact points for placement
5

Model & Export to P3D

Build meshes in Blender/3ds Max, export via Object Builder. 1 unit = 1 metre in Arma.

  • Triangulate before export; check face normals and UV seams
  • Named selections for hiddenSelections[], hitpoints, and glass
  • Memory LOD: place all axes and memory points here (not in resolution LODs)
  • Validate each LOD in Object Builder before moving to config work
Blender or 3ds MaxObject Builder
6

Write model.cfg

model.cfg links the P3D to cfgModels — sections, skeleton, and procedural animations. It takes precedence over config.cpp animation defs when both exist.

  • cfgModels: class name matches model filename; define sections[] and skeletonName
  • cfgSkeletons: skeletonBones[] parent→child bone hierarchy for skinning
  • Animations: type (rotation, translation, hide), source controller, selection, axis
  • Vehicle wheels use source="wheel"; dampers use source="damper" with offset0/offset1 ±0.5
  • Weapons: reloadMagazine hide/unhideValue, hasOptics for folding sights, ammoRandom for muzzle flash rotation
  • config.cpp AnimationSources (designer) maps user actions to model.cfg Animations (artist)
7

Convert Textures to PAA

Arma requires .paa textures. Convert PNG/TGA with TexView 2.

  • Power-of-two sizes: 256, 512, 1024, 2048
  • Suffixes: _co (colour), _no (normal), _as (ambient shadow), _smdi (specular)
  • hiddenSelectionsMaterials[] paths must match rvmat and PAA locations
TexView 2
8

Write config.cpp

CfgPatches is mandatory. Token names in CfgVehicles/CfgWeapons are context-specific — always check the reference for your class.

  • CfgPatches: units[], weapons[], requiredAddons[], requiredVersion
  • CfgVehicles covers soldiers (Man), land/air/sea vehicles, backpacks, and statics
  • CfgWeapons holds guns/launchers; CfgMagazines holds ammo (separate since Arma 3)
  • CfgWeapons Items/Equipment/Glasses for NVGs, headgear, and facewear
  • scope = 2 for editor visibility; inherit from the closest vanilla parent
9

Pack with Addon Builder

Binarize converts configs and embeds model.cfg. Non-.cpp files must be listed to copy.

  • Source: addon folder containing config.cpp
  • Destination: @YourMod/addons/
  • Enable Binarize — catches config syntax errors during pack
  • Copy list: *.p3d;*.paa;*.rvmat;*.ogg;*.wss;*.jpg;*.png (as needed)
  • Project path should match source path — setting P:\ binarizes the entire drive
Addon Builder
10

Test In-Game & Diagnostics

Verify in Eden Editor. Use BI diagnostics for hitpoint spheres and PhysX on vehicles.

  • Check %localappdata%\Arma 3\*.rpt for binarize and runtime errors
  • Vehicles: run hitpoint diagnostics to visualize radius spheres vs Fire Geometry
  • Cars: epevehicle diag mode helps tune suspension and gearbox
  • Test all crew positions, damage states, and wreck transition
11

Vehicle Hitpoints (All Types)

Shared rules from Vehicle Hitpoint Creation and Jets Hitpoint Configuration wikis apply to every vehicle.

  • Hit Points LOD (5×1e15): place vertices per hitpoint selection; config radius defines sphere size
  • Place HP vertices inside Fire Geometry — not on the visual surface (more durable, fewer verts)
  • Leave airspace between different FG types — overlapping armor/HP causes damage leakage
  • HP spheres should only contact ONE component type; standardize radius across all HP for easier layout
  • armorStructural divides passThrough; explosionShielding multiplies indirect damage (<1 = shielding)
  • Post-Tanks DLC: armorComponent links hitpoint to Fire Geometry selection for penetration calc
  • Use Arma 3 Diagnostics to visualize hitpoint spheres in-game
12

Vehicle Sound Locations & Curves

Engine and impact sounds are 3D-positioned using memory points and distance curves — not played from model origin by default.

  • memoryPointExhaust + memoryPointExhaustDir — engine loop emitter on Memory LOD (place at tailpipe, not [0,0,0])
  • Gun/turret shots use gunBegin (usti hlavne) as spatial origin — same as ballistics
  • Modern: class SoundSets in CfgVehicles links to CfgSoundSets; playTrigger uses rpm, engineOn, camPos controllers
  • Legacy: class Sounds >> EngineExt { sound[], frequency, volume, cone[] } — still valid on older inheritances
  • soundGetIn/Out/Crash[] — one-shots: { "SoundSetOrPath", volume, pitch }
  • CfgSoundShaders: range + rangeCurve per layer; CfgSoundSets: volumeCurve on mixed output
  • Interior vs exterior: separate SoundSets with playTrigger = "engineOn * (1-camPos)" vs "engineOn * camPos"
  • sound3DProcessingType — Vehicle_Ext_3DProcessingType (Emitter) vs WeaponMediumShot3DProcessingType
12

Helicopter Config & model.cfg

Helicopters use RotorLib (RTD). model.cfg cyclic/rotor controllers drive mast animations.

  • Inherit Heli_Transport_01_F or attack heli parent from A3_Air_F
  • model.cfg: cyclicAside, cyclicForward, rotor controllers for mast/blade anims
  • Memory: pilot, copilot, cargo getIn/getOut; rotor hit memory points
  • Landing gear: gear controller (0=down, 1=up) in model.cfg Animations
A3_Air_F
13

Helicopter Hitpoints

Jets Hitpoint Configuration applies to rotary-wing aircraft.

  • HitHull, HitEngine (HitEngine2 for twin-engine), HitHRotor, HitVRotor
  • Place HP vertices inside Fire Geometry — surface-mounted spheres over-damage to explosives
  • armorStructural affects passThrough; minimalHit discards chip damage
  • depends = "-" to clear inherited depends (empty string causes RPT warnings)