Grooms break when switching head component with RigLogicMutable

We have the need to swap MetaHuman heads at runtime through Mutable while maintaining a connection to the authored groom assets.

Because each of these heads have their own associated DNA file, we enabled the RigLogicMutable plugin. I originally wanted to create a single CO for the heads and swap them from a Data Table, but I discovered there was no way to pass the DNA value from a table into Mutable. This led me to setting up a unique CustomizableObject for each head (which is something I would still prefer not to do given the amount of heads we’re projected to ingest) and attaching them to CO_Body’s Head ObjectGroup. This does allow me to swap heads, but changing the Head parameter to any of the attached heads results in the grooms breaking, including the base head upon which the grooms were authored. In some cases, the hair does not appear at all. I also noticed that the grooms failed to work properly on all heads even when I had it setup through a Data Table.

Is there a recommended workflow in this situation that you can suggest? I had thought that perhaps it would be better to author morph targets of all the various head shapes onto the base head so as not to break the connection with the grooms, but this does not resolve the issue of changing the DNA value at runtime. Because there is no DNA switch node in Mutable, it doesn’t appear there is a way to change the DNA input as I change the morph target parameter.

[Attachment Removed]

Hey there, you’ve run into an area that is under development still, and the team has been actively working to make the workflow better, but there is much that currently requires a very straightforward approach.

This led me to setting up a unique CustomizableObject for each head (which is something I would still prefer not to do given the amount of heads we’re projected to ingest) and attaching them to CO_Body’s Head ObjectGroup.

Yes, this is the intended workflow. Unfortunately, we don’t support the table approach like you’ve found because the link between the source head file’s topology and the grooms and DNA is 1-1. You’ll actually see a modification to the DNA workflow in such a way that you won’t be able to define the DNA because of how important that link is.

I also noticed that the grooms failed to work properly on all heads even when I had it setup through a Data Table.

Grooms have a reference skeletal mesh associated with them, and unfortunately, that reference needs to be strictly maintained. This is also really important because you cannot combine the head and body meshes in mutable and expect the grooms to work (I’m unsure if this is what you are doing, but wanted to mention it just in case).

but this does not resolve the issue of changing the DNA value at runtime. Because there is no DNA switch node in Mutable, it doesn’t appear there is a way to change the DNA input as I change the morph target parameter.

This is correct and a current limitation of the DNA file approach. Currently there is no way to blend, or modify the DNA to work with anything but the reference head.

Dustin

[Attachment Removed]

Thank you for the feedback, Dustin. We’ve decided against trying to swap heads with the RigLogicMutable plugin as it isn’t quite production ready. We are looking at different ways to change the bone positions at runtime and trigger a corrective blend to match the head scans. One of the things we are testing is using an additive pose in the PPABP, but I was wondering if there was a way to swap the DNA in blueprint. Do you know if that is possible without swapping the skeletal mesh?

[Attachment Removed]