BI Public Data Modding 102 - Intro to Model Lod's and Static Object Functionalities

Nonov Urbizniz

OpenDayZ Rockstar!
Staff member
This tutorial assumes you have a functioning P drive, and are familiar with the Bohemia Interactive Public Data Releases. (as covered in my previous tutorials)






I will be providing a broad overview of the various LODs (levels of detail), their purpose, and some general
requirments/tips for those LODs FIRST.

In order to cover all the LODs and the most functionality available we'll take a look at a few of M1lkm8n's SMD buildings.

Lets breakdown the ways you can add dynamic features to a static object.

1. Destruction - Static Objects can have various destruction types (destrtype) in order to define how they react when they have been
dealt enough damage in game to be destroyed. Ref - https://community.bistudio.com/wiki/...ence#destrType

Here is a quick/easy reference in order of least to most complicated
- DestructNo = No effect, object can not be destroyed, this is mostly used for "ruin models" IE already destroyed buildings
- DestructTent = Object is "flattened" this not used very often, unless it is a very 2 dimensional and simple model like a tent
- DestructTree =
- Arma 2: Falls over, eventually disappears
- Arma 3: leans at random angles
- DestructBuilding = Object sinks into the ground with smoke/dust particle effects
- DestructEngine = Smoke/Explosion
- DestructWall = *new to Arma 3 The wall will fall over when destroyed

When an object has been classed as a building you can then script in a call to a ruins model. (ruins models are
destroyed rubble versions of of the original building)

This can be done in several stages, and in combination with Rvmats to allow for the a more dynamic effect than the standard sinking

The most advanced form of destruction available would be custom animated destruction. This involves breaking a model into parts, and then
defining how and when they are hidden, or even animate frame by frame how they will fall to the ground. For the ultimate in realism
adding custom particle effects can allow for a truly realistic and dynamic building.

2. Materials - By defining materials in the Fire Lod you enable objects to properly interact with players, ai, and other objects.
This also calls the built in particle effects so that when you shoot something wooden, splinters fly instead of dust or concrete chunks.

3. Sound - You can give objects custom sound files to be played during an animation such as creeking doors, or electric motors etc etc.

4. Custom Particle Effects - As mentioned above you can create and include your own custom particle effects to add more depth to a model

5. Custom Animated Destruction - Also mentioned above, it is possible to carve a model into sections and animate the manner in which it will
come apart

Now that we've covered the basic concepts and some of the components in general, lets get a bit more specific.

The above features are often required to be defined in 3 places:

1. The p3d model - The model is obviously, exactly that, the physical asset that has been created and textured The entries created in Oxygen 2 (o2)
BI's model editing software.
2. The model.cfg - This is a text file that you can edit in any text editor. It defines bones from a model in order to create a skeleton that
can then be animated according to animation sources that already exist in the engine, or ones that you have custom defined based on available sources.
3. The Config.cpp - The Config . It's recommended you use a GOOD text editor
such as Notepad++, in that specific case (and others) there are plugins that make editing the files more intuitive. In the config you call the
animation sources you have created in the model.cfg and define how/when/who calls those animations or other effects to be triggered.

Now lets look at the LODs themselves:

Resolution LODs
0 - Full Model
2-5 (or more) Resolution LODs (generally half poly count each drop until you're at a box)

Shadow Volume LOD - has to be within the model and no textures ALL FACES must be CLOSED
- Do two, one for the closest lod, and one for the farthest

Geometry lod - Shapes must be closed and convex, it stops units from moving through the object. When done, Select all and add weight
- ALL COMPONENTS MUST BE FOUND (structure - topology - find components)

Memory - allow bones, buttons, door lights, alice module AI etc

Roadway - Flat Plane defines where characters can walk, AND the sound it makes when you walk on it. (including top of walls etc)
- Can define textures and the sound it makes
- All faces face UP!! If faces are down character will fall through

Paths - Defines how AI interact
- In positions - in1 in2 etc - points where AI can begin their walk in
- pos1 pos2 pos3 are places they can stop

Hit Points - Defines destructable points

View Geometry - What can and can't be seen/rendered
- ALL COMPONENTS MUST BE FOUND (structure - topology - find components)

Fire Geometry - define materials, (E - materials - CA/Data/penetration - all RVMats for materials)
- Thickness of material will influence the density (too thick glass is bullet resistant/proof)
- ALL COMPONENTS MUST BE FOUND (structure - topology - find components)

**********
New For A3
**********
Geo - Phys Lod - Copy/paste Geo or Fire Geo

Note thrown objects will interact with this lod and the roadway lod.


BI References

Model Config - https://community.bistudio.com/wiki/Model_Config

Model Named Selection Translations - https://community.bistudio.com/wiki/...n_Translations

Model Class Named Properties - https://community.bistudio.com/wiki/Named_Properties

How to Animate - https://community.bistudio.com/wiki/...nimate_a_model

Vehicle Config - https://community.bistudio.com/wiki/...nfig_Reference
 
Last edited:
Back
Top