Baking complex rigs into a less expensive asset

Lets say I have a skeletal mesh made up many blend shapes for customization purposes, face shapes, body shapes, ect. I want these shapes to be accessible during character creation, but when the customization is complete i want to bake current state of mesh into a new uasset that has no blendshapes associated with it. Currently not using the shapes for facial animation, only customization.

Ideally this system could be used for npc creation as well, so I would prefer to make the final asset as cheap as possible .

This doc was really helpful for combining multiple skeletal Meshes, I am wondering if something similar can be done with multiple blendshapes.

I believe you would have to custom code this.
the theory is simple, you read the mesh with the applied morphs/information vertex by vertex and you create a new mesh with it.
the practice is complex. You also need to keep track of weight paint which is divided on a per bone to vertex basis.

c++ is probably your friend on this. I doubt BP provides this kind of access (to the weight paint particularly).

Yeah I wasn’t looking for blueprint solution per se. The weighting is pretty straight forward with Skin Weight Profiles, this will allow you to load skin weights.

Don’t mind using c++, just seeing if anyone has gone down this path before. not seeing much in the documentation for this, if anyone can point me in the right direction that would be great.

It’s a rabbit hole.
because you have to regenerate this asset every game load.
You can’t use it in multiplayer because the others do not have that mesh that was generated.

Also, You probably have almost no ROI on performance.

Check out how the fortnite stuff is made. Millions of layers and no significant performance loss (I guess you can’t customize with morphs, but when you allow for as many customizations to the outfit as they do it’s kind of the same isn’t it?)
even with 500 parts and several morphs on each the performance shouldn’t be impacted significantly enough to go down this rabbit hole - apparently (because otherwise I would think epic would do so).

I’m not sure as to what you mean by making the asset as cheap as possible? Memory footprint wise or performance related?

OK so for our project we have opted to use the Genesis 3 framework available in Daz Studio that has the ability to conform the framework to any kind of desired output including all deformers baked down to the base character so everything you want to do is already available as an external procedure with out having to do all of that additional work.

As for making it cheaper keeping things onto a single framework gives you the same benefits as an instance object wit out all of the additional issues you will be facing once you bake your model down to a unique character.

I though I would mention this a part of the reinventing the wheel issue with out knowing what you wish to do as a practical application.

There is a tool called morph tools plugin on the marketplace.
I think that it might help you with what you need.

This is exactly what I was looking for, Thanks!