Blender material with Mix Node does not import correctly

Godot Version

4.2.1.stable

Question

I created a simple 3D model in blender it uses a mix node in its material, which shows fine in blender.

When I import that blend file in godot, it only shows the wood texture without the target.

I tried to reimport it with different parameters a couple of times, i. e. unchecking the “Generate LODs”. Nothing helped. Any idea what might be causing this?

Blender uses a different rendering pipeline from Godot, you will have to recreate complex materials in Godot.

What you’ll have to do is something called “baking” your textures in blender. Basically, in this case you’ll be telling blender to combine the two materials into a single image, which could then be applied to your object in Godot. There are lots of good tutorials on Youtube about doing this. I watched this tutorial when I was trying to first get a handle on the workflow.

1 Like

Like others mentioned below, you will have to bake or build up the materials yourself in Godot, even to the point where you create your own shaders.

One thing you can look into is the built in materials like StandardMaterial3D and ORMMaterial3D, as you can probably use the ‘Detail’ layer setup to match what you have above. Includes a Mask texture input and some other blend settings, it can work quite well when needed.

This will be limited to two layers (main then detail) and only includes Albedo and Normal as texture inputs, but it might work, and it allows for choosing which UV set the Detail layer uses, and then looking below you can alter the UV1 set to match what you have above.

There are other ways you can do this with default Godot things, but would recommend the two other ideas mentioned already, for quality but also for control.

2 Likes