User Tools

Site Tools


3D Modeling in ArmA 3

ArmA 3 modeling. 3D model file extension is P3D and bis changed to use type 70 P3D file format, old ArmA 2 tools (like Oxygen 2) most likely wont work anymore.

ArmA 3 BIS Example Character MLOD/P3DM Model

ArmA 3 Weapon Collimator Sights Tutorial by Alwarren

Info Infantry Metrics by X3KJ

ArmA 3 Buldozer Lighting by HorribleGoat

ArmA 3 Custom Characters Head visible in freelook mode.

Its really strange that when you use freelook mode, you can see your custom character's head in this view if you look into sides. Default ArmA 3 bis characters do not show head in this view, nor other views.

It appears to be the ArmA 3 head (proxy?) model that shows up as its so detailed. From which LOD this comes is unknown, normally when you are in use of your character, you see View-Pilot LOD. However in my tests I removed old custom head and the HMD proxy, so where it gets the head model is unknown.


Misc ramblings which have no better page location yet.


Object Builder Section Count Updates

Section count wont update until you go to another LOD and then back. Unless you cut and paste the object out then back in, that refreshes the section count instantly, but thats not always a wise thing to do if the model has two textures applied to welded geometry. Since cutting the part out will remove the connecting faces, so the move top/bottom thing is safer if a little slower.

Geometry LOD

Geometry LOD only gets in count when it comes to collision with Objects (Trees, Houses), so a simple shape is enough. Geometry Phys is for “interacting” with other Vehicles (PhysX Objects like Cars, Planes etc).

Geometry Fire

Materials assigned to the fire geometry LOD.

The Fire Geometry consists of blocks that have materials like metal_plates, armor_plates, glass etc.

When a bullet hits the fire geometry, it is checked whether the hit is inside a hit point, and if yes, the hit point gets damaged Arma_3_Damage_Description is a pretty good explanation

Walk-able Object Geometry Size


If you're having problems with planeX not having breaks engaged on stop- since v1.66 planes use physx wheel setup & you have to setup model & config accordingly.

Model.cfg Extern

If you have old model.cfg files that were not so properly made and you just recently started to use pboProject then its most likely you will run into severe model.cfg extern not allowed errors.

You cannot have “class default;” in model.cfg (unless its not the “master” config, but that is beyond the scope of this text). You need to properly fill that class.

Proper class Default:

class CfgModels
	class Default
		isDiscrete = 1;
		skeletonInherit = "";
		skeletonBones[] = {};

Usually you get default, vehicle, ship, plane, etc type of extern / inherit errors, assuming you have old style lazy / wrong model.cfg writing style.

Check Section Count

If you have already binarized p3d model you can check section count with Mikero Tools Eliteness.

Texture Without a Path

If your P3D includes TGA / PAA texture without a path, moveobject will not list this texture, neither does pboproject binarization complain about it (Mikero said something about procedural textures).

Use powergrep to search it. Include files: *.p3d, action type: simple search and search type: binary data. You must turn the texture name into HEX codes, you cant just search the real texture name.


Object builder P3D property, On surface and Decal are not needed anymore.

Just use named properties from below.

Decal Named Properties:
class = land_decal
map = hide

But make sure your rvmat dont have procedural texture that turns it into red :-)

Building Object Draw Distance

HOWTO increase your building object draw distance for terrains by Opteryx

First inherit Land_spp_Tower_F, then have this in the config:

accuracy = 1000;
featureSize = 100;
featureType = 2;

Then these named properties in Geometry:

This only applies for max 500 static objects per terrain.

arma3/modeling.txt · Last modified: 2022-05-14 23:37 by snakeman