Can you assign 2 different materials to each side of a mesh surface?

Hi All,

Say I have a flat surface, a simple polygon plane for example. Can I assign one material to one side, and a second material to the other side? Turning on “double sided” isn’t quite what I’m after as that assigns a single material to both sides of the surface. Thanks :slight_smile:

1 Like

I’m pretty sure that’s impossible. You’ll have to create two polygons, one for each side, in order to assign different materials.

I thought it might be, I figure a work around is to have 2 copies of the mesh, but flip the normals on the second mesh copy.

Two different materials is not possible but you can apply two different textures on each face with TwoSidedTexturing node.

Ah thanks Jacky, that might solve my issue :slight_smile:

Maybe 2 polygons with two material elements. There should be a tutorial available on how to set up an fbx to import in a manner that allows you to assign 2 unique materials to one static mesh.

Actually you can apply a separate texture or a separate material to the two sides of the same polygon with this technique:

4 Likes

Fantastic, thank you!

That’s how I would do it, although I would use the TwoSidedSign node as the alpha instead.

Will save a couple of instructions and simplify your node network.

4 Likes

is it legit? i thought you better to assign one material to one object to save draw calls?
what is the best solution in game dev production?
should I duplicate face into separate object and make it slightly offseted from the main surface?
or should I make it closed volume so nanite and lumens would work corrctly?

There is no “best solution”. It sounds to me like you’re trying to pre-optimize, which is a terrible approach to software development. Select the approach that’s most intuitive and only attempt to optimize when you’re trying to overcome a verified bottleneck.