Example: Bf109\Objects.con
These are two Parts. The first being the LodObject itself called lodbf109. Here you see the three parts of the lod, complex, simple and wreck. After that, there is a line adding the lodselector so the game knows how to handle the three lods.ObjectTemplate.create LodObject lodBF109
ObjectTemplate.hasMobilePhysics 1
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.hasResponsePhysics 1
rem -------------------------------------
ObjectTemplate.addTemplate BF109Complex
ObjectTemplate.addTemplate BF109Simple
ObjectTemplate.addTemplate BF109Wreck
rem -------------------------------------
ObjectTemplate.lodSelector BF109LodSelector
[...]
LodSelectorTemplate.create DistCompareSelector2 BF109LodSelector
LodSelectorTemplate.hasDestroyedLod 1
LodSelectorTemplate.addLodDistance 200
The second part shows the LodSelector. Rather easy to understand. It has two lines defining what should happen. Usually, the "Complex" is shown. Now, condition 1: If the vehicle is destroyed, a destroyed mesh will be shown (object with "Wreck" in the end). Condition two is a simple Distanceswitcher, which in this case is set to 200. This means that as soon as the object is 200 BF meters away, the LoD will switch from Complex to Simple. Pretty obvious, right?
If you take a close look at the objects.con, you'll notice Lodselectors are commonly used for various purposes where it's necessary to have "changing" meshes depending on certain variables. E.g. there is always one for the cockpit (which is usually set so if you are 10 BF centimeters away the cockpit frame will be removed as otherwise it would be visible from the outside too which would be pretty stupid, considering the vehicles camera positions are usually a bit in front of the vehicle and not actually "in" them. Selectors also are used to make sure the propellers switch to a "blurred" mesh/texture as soon as engine RPM reaches a certain level.