Arma 3 Scripting

Arma 3: Vegetation P3D

  • Also known as Arma 3 Vegetation P3D

Topic · Markdown · JSON · original wiki page

Basic vegetation P3D setup for Arma 3

Clutter Bush SoftTree HardTree
LOD1 Triangle Max +-100 -3000 -6000 -15000
lock normals Y=-1
Section 1 2 03-II 04-II
Material Grass TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk;
Textures CA CO; CA; CS; NOHQ; MCA; CO; CA; CS; NOHQ; MCA; CO; CA; CS; NOHQ; MCA;
Named Properties N/A LODNoShadow=1 LODNoShadow=1 LODNoShadow=1
UV set max 1 2 2 2
LOD2 Triangle Max LOD1 / 2 LOD1 / 2 LOD1 / 2 LOD1 / 2
lock normals Y=-1
Section 1 2 03-II 04-II
Material Grass TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk;
Textures CA CO; CA; CS; NOHQ; MCA; CO; CA; CS; NOHQ; MCA; CO; CA; CS; NOHQ; MCA;
Named Properties N/A LODNoShadow=1 LODNoShadow=1 LODNoShadow=1
UV set max 1 2 2 2
LOD3 Triangle Max LOD2 / 2 LOD2 / 2 LOD2 / 2 LOD2 / 2
lock normals Y=-1
Section 1 2 2 3
Material Grass TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk;
Textures CA CO; CA; CS; NOHQ; MCA; CO; CA; CS; NOHQ; MCA; CO; CA; CS; NOHQ; MCA;
Named Properties N/A LODNoShadow=1 LODNoShadow=1 LODNoShadow=1
UV set max 1 2 2 2
LOD4 (MLOD) Triangle Max 12 12 12 12
lock normals Y=-1
Section 1 1 1 1
Material Grass TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk; TreeAdv; TreeAdvTrunk;
Textures CA CA; CAN; NO; CA; CAN; NO; CA; CAN; NO;
Named Properties N/A LODNoShadow=1 LODNoShadow=1 LODNoShadow=1
UV set max 1 2 2 2
LOD Triangle Max N/A 100 100 100
ShadowVolume0 Section N/A 02-I 02-I 02-I
Material N/A N/A N/A N/A
Textures N/A N/A N/A N/A
Named Properties N/A N/A N/A N/A
UV set max 1 1 1 1
LOD Triangle Max N/A -1000 -1000 -1000
ShadowVolume1000 Section N/A 02-I 02-I 02-I
Material N/A N/A N/A N/A
Textures N/A CA;CAN; CA;CAN; CA;CAN;
Named Properties N/A N/A N/A N/A
UV set max 1 1 1 1
LOD Triangle Max N/A cca LOD4 cca LOD4 cca LOD4
ShadowVolume1010 Section N/A 1 1 1
Material N/A N/A N/A N/A
Textures N/A CA;CAN; CA;CAN; CA;CAN;
Named Properties N/A N/A N/A N/A
UV set max 1 1 1 1
LOD Triangle Max 0 100 100 100
GEOMETRY Mass 0 10-I 10-100 50-1000
Material N/A N/A N/A N/A
Textures N/A N/A N/A N/A
Named Properties frequent=1; frequent=1; frequent=1; frequent=1;
class=clutter; class=bushSoft; class=TreeSoft; class=TreeHard;
map=bush; map=SmallTree; map=tree;
dammage=tent; dammage=Tree; dammage=Tree;
canOcclude=0; canOcclude=0; canOcclude=0;
shadow=hybrid; shadow=hybrid; shadow=hybrid;
sbsource=explicit; sbsource=explicit; sbsource=explicit;
preferShadowVolume=0; preferShadowVolume=0; preferShadowVolume=0;
armor=700 armor=1500 armor=15000
UV set max 1 1 1 1
LOD Triangle Max 0 100 100 100
GEOMETRY PhysX Mass 0 10-I 10-100 50-1000
-3.00E+13 Material N/A N/A N/A N/A
Textures N/A N/A N/A N/A
Named Properties N/A dammage=tent; dammage=Tree; dammage=Tree;
UV set max 1 1 1 1
LOD Triangle Max 0 -1000 -1000 -1000
ViewGeometry Components 0 10 20-I 1-100
Material N/A foliage_green.rvmat foliage_green.rvmat foliage_green.rvmat
Textures N/A N/A N/A N/A
Named Properties N/A N/A N/A N/A
UV set max 1 1 1 1

Shadow LODs

[ShadowVolume 0]

LOWpoly stencil shadow LOD (up to 100 triangles), is cast when shadows are on Low video settings.

Mesh in the LOD must be:

[ShadowVolume 10]

[ShadowVolume 1000]

ShadowBuffer shadow LOD, matches as much as possible the first resolution LOD, so it has biggest complexity from all shadow LODs. Polyplanes use texture with mask in Alpha channel to cast shadows (the same as for polyplanes in resolution first LOD...no need to duplicate the data). Trunk has no texture or material at all

Mesh in the LOD must be:

[ShadowVolume 1010]

Simplified ShadowBuffer shadow LOD, made usually fro last resolution LOD. Texture used from the last resolution LOD...no need to duplicate the data.

Mesh in the LOD must be:

Geometry LODs

P3D must contain at least Geometry layer, which is used also as ViewGeometry and FireGeometry in case they are not present in the p3d. In case only FireGeometry is missing, ViewGeometry is used as FireGeometry.

[Geometry]

In game invisible model allowing collisions with player and other objects in the game. It contains extremely simplified model of the crown and trunk. Model is made from convex components, all of the components must have set weight and the overall weight must not be below 150, otherwise the model will not collide

model must contain:

[FireGeometry]

Model allowing the vegetation to get hits from weapons. Is more complex than ViewGeometry and Geometry...it should match the shape of first resolution LOD very well. If player can hide inside the mesh, its penetration material must contain thickness parameter.

model must contain:

[ViewGeometry]

Model which covers the view for AI. Is more complex than Geometry, but less than FireGeometry.

model must contain:

Models, which have property class=tree or bush are calculated as partly transparent by default (without any linked materials). Their "viewDensity" values are hardcoded...they can be overridden only by material used on Apex bushes called foliage_sparse and foliage_dense. Stacking two meshes, one smaller inside one bigger, both with foliage_sparse material proved to work very well on Apex bushed. It is causing edge of the bush to be gradually more transparent for the AI towards the edge of the model and still opaque in the center

Properties

Resolution LODs

Geometry

Vegetation tips

Trees

Arma 3: Trees

Clutter

PixelShaderID="Grass" Allows take over of color (satellite texture) and lighting from the terrain.

VertexShaderID="Grass" Allows collision with characters or vehicles - grass layes down.

Example material:

mainLight = "Sun";
fogMode = "Fog";

ambient[]={1,0.95,0.95,1.3};
diffuse[]={0.2,0.17,0.17,1};
forcedDiffuse[]={0,0,0,0};
renderFlags[] = {AlphaTest32};

VertexShaderID = "Grass";
PixelShaderID = "Grass";