Ships Config Guidelines – Arma 3
Intro
101 - How to set up a ship for Arma 3
Please be aware of our Arma 3 modding license: http://community.bistudio.com/wiki/Arma_3_Modding_License
Comparison to A2/OA ships
- PhysX support
- Improved penetration materials
- More detailed Fire Geometry LODs
- Improved tweakability of HitPoints LODs
About Shipx and Submarinex
Model requirements {p3d}
- A new PhysX LOD
- There needs to be a lod (4e13) consisting of convex components as simple as possible.
- Current public Oxygen version doesn't support showing correct name of this lod and displays only Geometry instead. Don't be afraid of having two geometries, it's going to be fixed with new tools.
- This lod should contain ship’s hull, and ...
- There needs to be a lod (4e13) consisting of convex components as simple as possible.
- Memory LOD
- There should be an axis for each propeller named ????_axis, the name is defined in selected wheel as center.
Model config changes {model.cfg}
- Similarly to PhysX related changes, you will mostly need to change:
- Example:
New config parameters {config.cpp}
Basic parameters
Engine parameters
Damage handling
Boats/Ships offer differing protection levels for themselves and crew inside, depending on place you hit them. Balancing damage is usually most time-consuming task for armored vehicles.
Basic config
Armour plates setup
Hitpoints
Hitpoints represent weak points in structure of ships: turret servos, ammo storages, engine. They can also improve internal penetration handling.
Hitpoint categories
There are 3 common hitpoint categories in Arma 3's vehicles:
- HitHull, handling internal penetration - when damaged over 0.9, vehicle will explode.
- HitEngine, handling damage of engine
Turrets have their own class HitPoints, coontaining info about how easy it is to damage given turret:
- HitTurret, horizontal rotation
- HitGun, vertical rotation - this should handle any event that renders tank guns inoperable, f.e. hit to servos
New attributes
Hitpoints gained two important config attributes in Arma 3:
- radius, defining size of “hitpoint sphere” around each vertice in Hit Points LOD assigned to given hitpoint’s selection
- explosionShielding, multiplying damage inflicted by indirect damage. The smaller it is, the less damage hitpoint will receive.
Internal damage
Internal damage is handled by HitHull class. When KE round penetrates the armor plates, it passes the damage to HitHull hitpoints array as seen in example model. The hitpoint vertices are set up in such way that the nearest distance between them equals RADIUS attribute in HitHull class, and they cannot be activated by rounds that fail to penetrate armor.
During implementation of internal damage handling it is important to tweak following attributes:
- armor
- explosionShielding
- radius
If the results of config tweaking are not satisfying, consider adding greater detail to Hit Points and Fire Geometry LODs.