Combining morph targets causes issues with normals

Yeah, they are additive but that’s exactly what I want. Basically I have 2 targets, the eye closing and the cheek squinting. What’s happening is the squint on its own does not look great because it causes geometry folding without the eye being closed. So it seems like the normals are pre-calculated at import time and when I layer the 2 targets, the “folded” normals are being used even though the actual mesh geometry is no longer being folded. The gif shows this briefly at the end.

It seems like unless I can calculate the normals in realtime rather than have them pre-computed, I can’t use this technique of layered morph targets that “correct” each other and instead need to combine the shapes into a single target that can be used.

Any idea if there is a way to compute normals in realtime? I came across this post but have yet to get it working for my needs Recalculate Normals/Tangents at Runtime?

1 Like