I am working on a LiveOps game. The game that we are building on will support continuous asset deliveries for LiveOps and will have new assets coming in over the period of time. Our Engine team is currently evaluating mutable plugin for our dynamic runtime character creation and customization support.
During our investigation we were able to use mutable with single body type in metahuman, means only one base object for the mutable customizable object. Since we are going to support many body types which metahuman also does and this can grow over the lifecycle of our game. I want to know how we can integrate multiple body types in mutable with different skeletal meshes, like fat, thin etc. which comes from metahuman. Since switching of the base object component based on the Enum parameter is not supported in customizable object instance. When we use another child object with some base skeletal mesh it still distorts the actual mesh at runtime. We need to dynamically extend multiple body types in future as they get introduced. is there a node or specific setup that we can do for this in customizable objects.
The answer is that this is kind of supported but there is some extra work that you need to do. It is highly dependent on the structures that you want to go for. Since you mention metahuman, that adds a layer of complexity.
If you want the same skeleton but different proportions, there are two options that you can take.
The first option is that in your main CO graph, you can define a mesh section switch that travels into a single mesh component. The enum you define would then need to be exported for use, because he option you add in there will need to have switches for that skeleton. So an example would be masculine and feminine, you would have a switch at the top level and then in all of your extended child objects you would look at that switch and pipe through different meshes that you would add to parent as well. Here’s a screenshot of a setup I did with the mannequins.
[Image Removed]The second option is one skeleton and one base mesh, but with many morph targets to hit your masculine and feminine shapes. If you’re using metahuman for this, this becomes much harder because you will need to prep the meshes you want to be morphed, and metahuman meshes may not come out with the exact vertex order.-
If you would like guidance on something in particular, I recommend sharing screenshots or a small project file.
Correct, that would be the typical approach. Now there is an experimental node that you could also try that could support your needs, but as with all experimental tools we caution shipping with it.
Ultimately, it comes down to the same thing with a lot of nodes for each part or “slot”. You branch with the mesh section switch on each part, and then in the end all of them to the main mesh component. The main mesh component would be the lead “skeleton” component. Consider moving each part’s individual option into a Group Object setup, each with its own customizable object file. Then, when that part is chosen, you can import the enum for the body type, and then switch there. It can simplify your logic per added piece and reduce clutter in your graphs.
I tried working with the above mentioned experiment code, but the results are weird. I tried applying it using medium body type as base and fat as target and T-shirt created from metahuman creator. I guess we have to go the route of another solution that you suggested and keep on switching based on enum parameter
So, if i am going the route of first solution, i have to make multiple meshes for the children and also switch them based on same enum parameter or states. Something like a tshirt on the base body.
In this case suppose i have three body types, i have to make three variations of that Tshirt?
The mesh section switch feels like the right approach right now, I have one question. In case where i have multiple mesh sections for a single body type, how will i still switch it. What i meant by multiple sections is like face, body, legs.