Summary:
-
Create a mesh with morph targets in Blender (2.72a/2.73/2.74).
-
Create an LOD1 version of this mesh and its morphs.
-
Import the main mesh into unreal as a skeletal mesh while ticking “import morph targets”. At this point everything works, the morph targets play nicely.
-
Now import LOD1 from Persona using the “Import LOD 1” option. It is worth noting that the LOD needs to be imported individually because the Maya/3DS workflow of grouping base mesh and LODs into one FBX isn’t possible (to the best of my knowledge) from Blender. (Just for reference here’s an old thread from UE4 beta which hints that the individual LOD import mechanism was devised specifically to enable applications like Blender to get their LODS into Unreal without relying on the other workflow).
-
After importing LOD1 check Persona for imported morph data and try applying morph weights for LOD1 - you will find that nothing happens. Morphs work fine on the Base LOD though.
–
My first guess is that the FBX importer code for individual LOD imports is simply ignoring morph data altogether. Perhaps with most people using the other workflow (importing a mesh and its LODs together in one lump) this issue wasn’t spotted before (for reference here is a closely related answer hub question). Either way I’d appreciate someone looking into this! My game is a large-scale nature simulation that is extremely reliant on morphs for adding visual enrichment. I’ve found that using lower-poly morph data improves performance by leaps and bounds so I’m eager to leverage LODs with morphs so I can get high-fidelity visuals for close-up shots while running LOD’d morph sets for meshes that are at a distance from the player/camera.
PS: Just thought I’d add there’s no problems importing LODs for Static Meshes from Blender. Thanks for looking!