The new 3.0 MetaHumans: 40% performance gains? Tutorial inside.

Thank you for the input. I’ve learned a LOT since the first post in this thread & your history of forum posts has been a good source of breadcrumbs. I have to admit, my initial expectations for this script have changed & I realize how silly the parameters were for those early performance tests.

I resonate with most everything you said. I was trying to delete bones and edit weights in the editor like normal. But the skeletal mesh editor & skin weight editor crash very often when you try to modify too many things at once. This also goes for deleting & regenerating LODs. What should be an easy days work is not possible due to these crashes, my inexperience with these systems & my resistance to doing work external of UE. And the MetaHuman EULA is not of concern, as my script is usable on any Skeletal Mesh. Any character specific data is obtained externally.

And yes, once functional to my satisfaction, i’m going to make the script pull data from .csv file for ease of use & flexibility. Users could delete per list or whitelist/blacklist style as you described. Nothing metahuman specific in the script.

The weighted-bones-per-vertex issue: the LOD settings involved in my delete & regenerate LODs have fields for enforcing a cap on this. Beyond simply modifying LODs, there are options which enable LOD 0 to be modified by any of the settings in the LOD settings data asset. Thia includes enforcing max # influences :slight_smile: but the jury is out as to how this interracts with anim post processing.

In some cases, UE doesnt mind when I disrupt the bones used in a corrective bone animation. But manually deleting the bones opposed to including them in LOD “bones to ignore” causes broken spaghetti arms. Needs more testing to see if bone deletion is even neccesary. I wonder if excluding bones or setting max benefits in LOD settings provides the same performance.

And for plugins: I have tested the animation sharing plugin & the animation budget allocator (anim tick throttling) with positive results. Merging metahuman skeletal meshes works wonders for reducing ticks, but i’m weary of head function, morphs & inability to replace modular components at runtime.

I also can get the number of bones <254 to avoid 16 bit bone index. But i’m not sure if the concequences of that data situation are project wide or per asset. Cant get away with unticking 16 bit bone index in project settings thanks to the MH head having >254 bones up until LOD5. And I really don’t want to tackly head/face modification…

Thanks for the input, please keep it coming! :grin:

1 Like