Download

Combining different Materials at Runtime

Hello everybody,

i’d like to know if there’s a way of combining different materials, preferably at run-time.

Let’s say I have different materials set up for different kinds of metal, wood, plastic and fabric. Furthermore I have an asset of a chair at my hands, consisting only of a frame and the cushions. Now, I’d like to be able to put a certain material on the frame of the chair and a different one on the cushions.

Of course I was looking around for a solution. I fumbled around with material functions by putting every material setup I have into a function returning a material attribute. Then I created a template material using 2 material functions and a blend mask. I hoped I would be able to create an material instance of this and then set the material functions as parameters to be set at run-time. However, either I overlooked something, or this is not possible.

Now, I tried the high-level graphical way. Is there any way using blueprints or low-level C++ code? I’ll everything give a shot.

All in all, I just want to avoid having to create a material for every permutation of material functions. Thanks in advance for your help

You could use multiple Materials on different parts of the mesh by setting up the mesh to have multiple materials before hand. I don’t know what tools you use, but, for example, if you had 3DS Max you would assign a “Multi-Sub Object Material” which would allow you to have multiple materials on a single object. Or, in Maya you would simply assign different materials to different parts of the mesh.

Good idea, however unfortunately not possible. I have to work with what I get and I don’t really have a say in that regard. Seems like I have to create the permutations then.