# P3D

This section aims to explain how to set up objects in a Blender scene for [export to P3D](/arma-3-object-builder/export/p3d.md).

{% embed url="<https://youtu.be/0uw6ikyq23Y>" %}

***

## LODs

<figure><img src="/files/zjSSYIbEQON4OmZDdjJz" alt="LOD setup in outliner"><figcaption></figcaption></figure>

### Main LOD object

A LOD is defined by an object set to be a P3D LOD.

<figure><img src="/files/0YZNlMaiiurm3lqYe4bj" alt="LOD properties"><figcaption></figcaption></figure>

This object specifies the LOD type, resolution (if applicable) and named properties of the LOD. For more information, see the [LOD properties](/arma-3-object-builder/properties/lod.md) page.

{% hint style="warning" %}
The LOD object defines the coordinate system of the P3D. The export happens with coordinates relative to the object origin (not considering scaling). It is recommended to always apply the world space transformations of the object before or during export.
{% endhint %}

{% hint style="info" %}
A LOD object must not have a parent object.
{% endhint %}

{% hint style="info" %}
Conflicting LOD types are not checked during export.
{% endhint %}

### Sub-objects

While sub-objects are not a necessity, the add-on provides this feature to allow better organization of mesh sections if needed.

A sub-object is essentially an arbitrary mesh object parented to the LOD object. Sub-objects can have any new materials, modifiers, vertex groups defined on them, the data does not have to match the LOD object.

<figure><img src="/files/IFfWsefwF755UM4tIBqu" alt="Sub-objects in 3D viewport"><figcaption></figcaption></figure>

<figure><img src="/files/GZpHlox6S46HW1jPTPKA" alt="Sub-objects in outliner"><figcaption></figcaption></figure>

During export, the sub-objects are merged into the LOD object.

{% hint style="info" %}
Sub-objects should not have the **Is P3D LOD** property turned on.
{% endhint %}

### Proxies

<figure><img src="/files/Mv6zpmhcnyH6ZBvyKaJR" alt="Proxy proprties"><figcaption></figcaption></figure>

Proxies are very similar to sub-objects. They must be parented to the LOD object (proxies cannot be merged into the LOD object like in the [ArmaToolbox](https://github.com/AlwarrenSidh/ArmAToolbox) workflow as that would cause the loss of proxy data).

Proxies can only be created through the `3D View >> Add >> Arma 3 Proxy` menu option.

<figure><img src="/files/uH2nAXffi2awNgqmJqXI" alt="Proxies in 3D viewport"><figcaption></figcaption></figure>

<figure><img src="/files/zbunbwltQGGdDTvBcrMA" alt="Proxies in outliner"><figcaption></figcaption></figure>

Proxy objects define the proxy paths and indices. For more information, see the [proxy properties](/arma-3-object-builder/properties/proxy.md) page.

***

## Materials

<figure><img src="/files/sE8uvf7Vrvs97NMlXMEF" alt="Material properties"><figcaption></figcaption></figure>

Material data can be set through the use of Blender materials. The materials hold special properties to define textures and RVMATs. For more information, see the [material properties](/arma-3-object-builder/properties/material.md) page.

As with any **Blender** material, multiple objects can have the same material applied to them. This makes it easier to make changes to materials when necessary.

### Alpha order and sections

Alpha ordering of faces is important when dealing with translucent materials, and it's closely related to the issue of sections in a P3D LOD.

{% hint style="info" %}
You can read further about sections on this [dedicated page](https://mrcmodding.gitbook.io/home/documents/sections), where the issue is described in detail.
{% endhint %}

Alpha order can be set through the order of materials. If the [Sort Sections](/arma-3-object-builder/export/p3d.md#sort-sections) option is enabled during P3D export, the faces belonging to the 1st material will be exported first, then faces belonging to the 2nd material and so on. In practice this means that translucent materials need to come after opaque materials in the materials list.

<figure><img src="/files/QPjqdmVjPN9CeusFdog3" alt=""><figcaption></figcaption></figure>

***

## Named Selections

<figure><img src="/files/3glStKvLHMhXoRcVH7ao" alt="Named selections"><figcaption></figcaption></figure>

Named selections can be defined as vertex groups.

***

## Vertex Masses

<figure><img src="/files/QAEIeH8rc7G6aFFnPv35" alt="Vertex Mass Editing"><figcaption></figcaption></figure>

The vertex masses for geometry LODs can be edited with the [Vertex Mass Editing](/arma-3-object-builder/tools/vertex-mass-editing.md) tool.

### Vertex and face flag groups

<figure><img src="/files/Ox0ouL1GwLP9zEVqMNHm" alt=""><figcaption></figcaption></figure>

Flag groups can be used to influence the rendering properties of faces and vertices. They are barely used in most models, but access to them is provided regardless. For more information, see the [flag groups](/arma-3-object-builder/properties/flag-groups.md) page.

{% hint style="info" %}
To achieve a shading consistent between **Blender** and **Arma 3**, set the Normals option in the default vertex flag group to `Fixed`.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mrcmodding.gitbook.io/arma-3-object-builder/setup/p3d.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
