I have found info on settingup lod for STATIC mesh but not SKELETAL mesh’s? And also, the lower lod skeleton has fewer bones. Cannot find any info but yet the documentation says blender but does not say how. only max and maya
So, as far as I can tell, there isn’t a way to have your LODs for a skeletal mesh use a different skeleton. If I were to guess why, I’d say it’s because there isn’t a whole lot of performance to gain by doing so. But if you really wanted to, you’d have to setup something manually and record the performance to see if it’s worth it.
Anyway, importing LODs for skeletal meshes is really easy. What you’ll need to do is make sure each LOD is rigged to the same skeleton. Then, export each LOD mesh individually as it’s own fbx. Next, import your base character mesh into unreal. Go into the skeletal mesh viewer and look at the ‘Asset Details’ panel. Scroll down to the ‘LOD Settings’ section. The first option is ‘LOD Import’. Click the dropdown menu and select ‘Import LOD Level 1’. Find your LOD 1 fbx and click ‘Open’. Unreal will import the fbx as a LOD and assign it as LOD 1. For each LOD level you have, just click the ‘LOD Import’ dropdown and continue the process until all of the LODs have been imported.
You can, of course, view your LODs by either selecting them from the ‘LOD Picker’ section of the details panel or using the LOD menu in the preview window.
OMG, this is amazing! I just tried to auto-generate an LOD and WOOW. That is impressive! I had no idea about not reassigning material, but I guess that makes sense because that would mean more materials to store in memory? I mean, it does a marvelous job of keeping the shape and drastically reducing poly/vert count and also keeping UV mapped. I think I will just use the Auto-LOD, and now I will have to look into using Python to batrch process the meshes once I get them imported for auto-generating the LOD’s.
Hmmm, yes, I was thinking this ■■■ well, but I came across a section (cant find it now) where it mentioned Skeletal Meshes having lower polygon count skeletal meshes and skeletons with fewer bones, but it did not go into detail. I do know there is something of an issue depending on the hierarchy of the bones, you cannot add or remove bones in between connections, you can only add or remove bones or a set of connected bones to an outer connection (in the epic 3rd person tutorial video, they explain this in some detail, showing how a ponytail can be added or removed). For my situation, I have separate files, each with a skeletal mesh and skeleton, however. The hierarchy looks like this:
So, I guess what I need to do is rename the bones in the same order? Or, perhaps I just need to remap the vertex groups of the lower LOD model to the original skeleton. I wass hoping to avoid any manual editing as I have dozens of files (models/skeletons) to import. Perhaps having Unreal engine auto generate the LOD1 would be the better solution, but I am not sure how that handles the texture mapping? Obviously I would not be able to use the texture I already have available for the lower poly mesh.
Thanks, for your input, much appreciated
You’re right about the bones. I went and cut the finger bones from one of my characters and was able to import it as a valid LOD. (I remapped the finger verts to the hand bones, otherwise Unreal would’ve mapped them to root.) The naming of the bones does have to be same, though. And yeah, you can’t remove bones from the middle of the chain (such as a spine bone). As far as Unreal’s auto-LOD generation, they do a pretty good job of keeping everything in check. The textures look about as nice as they can.
The LODs do have to use the same materials, however. You can remove materials, but you can’t change material slot 0 to a different material for each LOD, that seems to be reserved for static meshes only. So you’ll have to texture map the LODs to the same textures.
I searched for a solution for a long time, and almost accidentally found it. To export all skeletal LODs in one file, the hierarachy must look like this. At the root of hierarchy - your armature and empty. Meshes with postfix “_LOD0”, “_LOD1” etc must be a children of empty, not armature. Empty must have custom property fbx_type = LodGroup. Export all of this and you’ll get skeletal mesh with LODs. But for some reason LODs order is strange - LOD0 in UE is really LOD1 and vice versa
Interesting fact. If you try to export skeletal mesh with LODs from UE and import it in blender, then you’ll see slightly another hierarchy. But this hierarchy doesn’t work for exporting LODs from blender for some reason