I’ve been searching all over for an answer to this question, and have found several attempts at the question, but with no solution other than using transparency.
I have a mesh (static/skeletal) that has multiple material elements. I simply want to stop rendering one or more of those material elements at run-time, via a blueprint. I know there are methods to make material elements transparent, but this would not be ideal for a case where many characters are wearing several parts of clothing and hiding 3-10 subsets of each outfit on each character. If the engine still needs to execute a draw call, this would get expensive very quickly.
This seems like a really simple action - to turn off a material element. Surely there is a way to do this? As far as I am aware, the engine must execute a specific draw call for every single material element (unless it optimizes when they share materials), so it would be as simple as not executing that draw call when the state is toggled.
If this is not possible, how do robust games hide parts of characters when those parts are covered by clothing or get cut off?
I am very new to Unreal, but have experience with raw C++ game developed. I created a custom game engine that used this effect for hiding parts under clothing. So I’m wondering how other devs are accomplishing this in games if this action is not available?
Thanks for any advice!