How to fix/merge sections in parts from old models by feersum.endjinn
This tutorial is made because apparently some people have had problem with their models ending up with way too many sections despite faces sharing same material and texture. This apparently happens often when parts from old OFP MLODs are copied into new O2, but same applies to other ArmA MLOD model part ports.
And as everyone hopefully already knows, too many sections = bad for performance.
This is our starting situation. Note number of sections in status bar on top of O2. This is way too much for such middle LOD and as such, in game performance more than halves when there are full squads worth of soldiers with RK95 onscreen compared to if they were equipped with BIS' M4's.
Now, to fix that we first select all faces that are supposed to be in same section and hit “E” key to get to face properties dialog. Note that “User value” field is empty instead of having number there, it means faces in selection have different values in there, which causes them to be split into separate sections. We type there “0” and hit Apply.
We do same thing for textures and material fields in they contain “…” and make sure that Lighting & Z-bias also have identical values.
Now we can see that amount of sections has dropped to 3, but model still contains 1 section for muzzle flash and 2 sections for weapon. It is a lot better, but we want to still get it down to just 2, muzzle flash and weapon.
Next step is going to “Face” menu and selecting “Sort”
Often after this operation number of sections displayed doesn't want to update right away, so we go into another LOD and then come back to editing same LOD. After this small detour however finally our model is where we want it to be - one section for muzzle flash and one for whole weapon LOD and now ArmA engine can render whole weapon using single Direct3D call which makes modern GPUs very happy.
Less sections is always faster. You should merge your small textures into one bigger texture, and smallest LOD should never have more than 1 section (with some special textures like muzzle flashes being exception, as most of time they are not rendered).
Technical reason for this is that one section can be rendered using single Direct3D call so there are less usermode↔driver context switches and more work can be offloaded to hardware instead of doing it on CPU.
A hint: if you've done all the above but still cannot get the sections to merge do the following:
- Select the faces in sections you want to merge
- Faces → Move Bottom (or Move Top, Bottom is however best if you have other sections that use semi-transparent textures)
- Wait a couple of seconds for sections window to refresh.
Then if you have semi-transparent textured sections like muzzle flash that now occlude other faces (if you only used the move bottom on non-transparent faces it must be alright already) - mark them and use Faces > Move Top.
This tutorial is for section fixing, but its closely related to arma merging textures.