if you you have objects, then just parent each object directly to each bone. dont use the weight paint or modifier.
its more efficient to have a single mesh. you will be needlessly calling the lod code several more times which will eat cpu time. really, at this scale, the lod will be more costly then the meshes.
bge is also happier with less objects. less objects to update each logic loop.
I currently have a single mesh for each dial. But as you can see by the picture, each dial has two vertex groups. One for the actual dial, and another for the base. I want LODs for them because of the high resolution textures applied to the dials.
(lowest LOD shown as the base mesh.)
Is there no way to make my setup work without the armatures affecting the LODs from the other duplicates?
I’ve actually come up with a solution to the problem which makes the setup much more efficient. The only downside is that it requires the run armature to be used, which I suppose could only be active during animations.
Side note:
Have you done any tests to show that there is a reason to LOD the textures? My first estimate is that all that using two meshes with different textures does is increase the amount of RAM required (you need both textures and another mesh). Textures in the GPU are mipmapped - meaning they have low resolution copies of themselves already. These low res versions are the ones that are sampled when the mesh is far away.
So unless you are changing to using a simpler material (eg no normal map), or some other thing expected to decrease rendertime, all that LOD’ing textures does is add the overhead of another texture and mesh.
I use LODs to switch materials and meshes. The highest resolution of the dial would have around 250 polygons and a high resolution texture with bump-mapping. The lowest resolution is around 20 polys with a much lower resolution texture. I haven’t bench-marked the performance changes, but I assume most of the help would come from the disabling of aesthetic settings. These being smooth shading, bump maps, ramps, etc.
I didn’t try it in upbge. Since I have the other solution I probably won’t.