Muscle contraction with morph targets and normals - Metahuman -

Hello everybody,

I’ve recently been working on modifying a metahuman character by using multiple morph targets to adjust the size of individual muscles. This approach has yielded excellent results. However, I’ve encountered a challenge while trying to create muscle contractions for each muscle based on separate normal maps.

I successfully created specific normal maps and incorporated them into the metahuman material. The issue I’m facing is that I initially baked the normals on the non-morphed mesh. As I increase the value of the morph to make the muscles larger, the normal map with the contraction details no longer matches the new size of the muscles. Conversely, if I were to bake the normals on the fully morphed character, they would not align with the non-muscular body.

So, my question is, how can I ensure that the normals adapt to changes in muscle (morph) size, allowing the contraction striations to fit the muscle variating size, or at least approximate them regardless of the size variation?

Have you tried blending between two normals using LERP? And then setting the muscular version normals blend value based on muscle morph size?

I assume that was simple enough to understand my meaning, you can blend normals easily enough. Just make sure you use LERP and not multiply. And set the A of the LERP to blue (which would be nothing) and the alpha to your scaling parameter.

I think I’m remembering how to do that correctly. It’s been a while since I’ve messed around with materials. But that’s what I can think of off the top of my head. I don’t know exactly what you’re looking for, but hopefully that’ll get you on the right track at least.