I have set up a character’s face with a number of morph targets (blend shapes). I am able to drive different facial expressions successfully.
However, the character will sometimes be wearing a face covering. This could be a rigid pair of goggles over the eyes, a soft fabric covering over the mouth, or other options shown one-at-a-time. I do not want any Morph Target data to move in the covered regions (so that it would not penetrate through), but I want it to be functional in the uncovered regions. Regardless of whatever I put onto the character’s face, I want to only use the original set of Morph Target data (instead of spending time + hogging game size by making new custom Morph Target data for each covered situation).
I seek a system that would restrict the Morph Target motion for any part of the face that is covered while allowing the Morph Target motion for anything that is not covered. I would like to use an alpha texture that matches the face UV topology. Everything that is white should allow Morph Target data, anything that is black should restrict the Morph target data to the default zero value. I would substitute the appropriate alpha texture to pair up with each different facial covering.