Here’s a step-by-step guide for making a double-sided material in Blender. The final material will have one texture on the front and a different texture on the back of each face the material is applied to.
This page contains affiliate links which pay me a commission if used to make a purchase. As an Amazon Associate, I earn from qualifying purchases.
Step 1: Create or Combine Materials
The first step is to bring the nodes necessary to create each material into the same material node tree. In the video example below, we took two completed materials, duplicated one and copied the node tree from the other into the newly created material.
We could also create two materials from scratch using two separate Principled BSDF Shader Nodes.
We can create the materials any way we want, but they need to be set up in the same material slot as shown in the example below.
The two materials we create within this material will be displayed on opposite sides of surfaces (one on the front and one on the back).
Step 2: Combine Shaders with Mix Shader
Next, let’s combine the two shaders used to create the two separate materials. We will add a Mix Shader Node near the material output node.
To add a Mix Shader Node, hover the cursor in the Shader Editor and press “Shift + A.” Type “Mix Shader” into the search bar or find the Mix Shader in the “Shader” category of the add menu.
Connect the two final output shader nodes from the two materials into the two green input nodes of the Mix Shader Node.
Connect the Mix Shader Node to the “Surface” input of the Material Output Node as shown below.
This will cause the two materials to mix together in a 50/50 blend by default. This isn’t what we want so we have one more step. We have to tell Blender to place one of these materials on each side of the object’s surface.
Step 3: Assign “Backfacing” to Materials
To get the two materials to display on opposite sides of surfaces, we have to tell the Mix Shader Node how to combine the two materials.
To do this, add a “Geometry” input node. This is not a “Geometry Node” like those used to create geometry. It’s a Shader Editor node that just happens to be called “Geometry” (confusing… they should give it a different name).
Hover in the editor and press “Shift + A” to add a node. Type “Geometry” into the search bar or locate the Geometry Node in the “Input” category of the add menu.
Connect the “Backfacing” output of the Geometry Node into the “Factor” of the Mix Shader node as shown below.
This will give us (almost) what we want. The two shaders plugged into the Mix Shader will appear on opposite sides of each face this material is applied to.
Here’s what it will look like in my example:
If your materials use displacement maps, we will have an additional step to combine the displacement nodes so the displacement aligns on both sides of the object’s surfaces.
Step 4: Combine Displacement Nodes
If one or both of our combined materials have a displacement map, these need to be mixed separately. To mix the displacement nodes, press “Shift + A” to add a “Mix” node.
NOTE: We used a “Mix Shader” node before, but the displacements will be mixed with a “Mix” node – they’re two separate nodes.
The Mix Node combines two types of data, but the default data type is “Float” which refers to numerical data. Displacements are vector data (they use purple sockets).
So, we need to change the Mix Node’s data type from “Float” to “Vector.” Then, connect the two displacement nodes to the purple sockets in the Mix Node.
Note: The displacements need to be connected in the same order that the shaders were connected in the Mix Shader node. If one material’s shader was connected to the top socket of the Mix Shader, be sure that material’s displacement goes into the top socket of the Mix Node.
This step should have successfully added the two displacement maps and placed one on the front and one on the back of each side of surfaces using this material.
Conclusion
I hope this helped. Take a look around the site for more Blender tips and tricks. Check me out on YouTube and stay creative!