Okay so I have been using a software called MindTex 2 to create maps for use with Blender Cycles (or internal). The maps I have here are:

Please note in the examples, and blend file I don't actually use a self illumination or reflection images, but including this in the answer would be helpful.

  • Diffuse
  • Normal
  • Height
  • Specular
  • Gloss
  • Self Illumination
  • Reflection
  • Ambient Occlusion

I'm having a hard time figuring out how to proerply hook them up together. I've included pictures, and my blend file. I'm sure a good answer to this question would be of benefit to a lot of people.

Blend file. http://www.pasteall.org/blend/42223

MindTex 2 Blender As you can clearly see a pretty big difference. Nodes


First thing to have in mind is that you have some conflicting data, and some redundant maps that can't all be used at the same time because their functionality overlaps.

Second thing to have in mind is that Blender Cycles is a physically accurate renderer, that means the results tend to converge to a physically realistic solution. Some of the maps you have there are made as approximations of a real solution and as such are "incompatible" with the way Cycles works or at the very least not needed and will "worsen" the result.

Ambient Occlusion AO map is for example a map that is generally useful for real time rendering contexts, but usually not desirable in offline or realistic renders. It can still be used in cycles to but the results will be "less realistic" and will partially ignore scene lighting.

Ambient Occlusion

As my default "base setup" I would recommend using the Diffuse D map on a Diffuse Shader color socket, the Specular S map as a mixing factor to mix it with a Glossy Shader (amount of shine or specularity) and the Glossiness G map as input for the Glossy Shader Roughness socket (how clear or rough each reflection is):

Base Setup

Then the Height H map and the Normal N map are mostly self excluding, either use one or the other as far as I know. I am not very proficient with Norml maps but would go with the height map which is more versatile and easier to use but do as you please.

Either use the normal map with a Normal Map + Bump Map node connected to all used shaders,


Or use the Height H map as bump, as material displacement or ideally directly in a Displacement Modifier for actual geometry deformation



Material based displacement Material Displacement

True Displacement using the Displace Modifier with a Subsurf to give it extra geometry to apply the effect True Displacement

  • $\begingroup$ I find this answer confusing, which screenshot should be followed to plug all the possible maps into the right nodes? Also the screenshots are partially showing the setup. Such a tedious, painful process... $\endgroup$ – MicroMachine Aug 20 '18 at 20:13
  • $\begingroup$ The only thing omitted is texture coordinates, which seems trivial and will vary with each particular setup anyway. If you read the answer opening you will realize that there is no single correct setup, nor can all maps be used simultaneously $\endgroup$ – Duarte Farrajota Ramos Aug 21 '18 at 2:10
  • $\begingroup$ I understand what you're saying, I just find it a bit upsetting sometimes that making textures is always so complex in Blender, when you can do this in 40 seconds in C4D, or preview great, sharp textures from any color image in Crazy Bump almost instantly... $\endgroup$ – MicroMachine Aug 21 '18 at 5:25

Today's final result will be this:

enter image description here

Diffuse/Ambient Occlusion

Plug both into a Color > MixRGB node set to Multiply. Send the MixRGB's Color output into the Diffuse BSDF's Color input. There is also a second way to use an AO map. "eppo" recommends good ways to use AO maps here, saying the following. Something tells me you knew all of this, because you already had those two maps set up that way.

a) Use Color mix, multiply AO and diffuse texture.

b)Use AO as a Factor to mix two shaders - one general surface material, another - dirty surface.

Diffuse on top, AO on bottom:

enter image description here

Material preview:

enter image description here


In general, choose either the Height or the Normal map. Using both gets repetitive.

The Height map get's fed through a Vector > Bump node before finally ending up in the Diffuse BSDF's Normal input. Send the image's color output straight into the Height input, and connect the Normal output to input. The Strength: and Distance: values can be tweaked to your liking, but I found the ones in the screenshot below to be effective for this texture. BlenderGuru has a good talk about bump mapping here.

The normal map can be combined with the bump map, but perhaps not quite how you think.

First, add a Vector > Normal Map node. Make sure it is set to Tangent and connect the two color in/outputs. Set the Strength: value to 0.6 to match the Bump node. I figured out how to use the Normal Map node here.

Add a Converter > Vector Math node. Set it to Normalize. Plug the Bump output into the top vector input, and the Normal Map output into the bottom vector input. Plug the Vector Math node's output into the Diffuse BSDF's Normal input.

Current nodes:

enter image description here

Material preview:

enter image description here


This map can be used as a fac in a Mix Shader between everything created so far and a Glossy BSDF with a Roughness: value of 0.1 (don't forget to plug the Vector Math output into the Glossy BSDF's Normal input). However, I found it effective to first run it through a MixRGB node set to Multiply. The fac should be 0.7 and the bottom color, black.

MixRGB node:

enter image description here

Nodes currently:

enter image description here

Material preview:

enter image description here


I'm going to guess the last map is a Specularity map and not a Self-illumination map because rocks don't generally glow. :)

Simply connect the color output to the Roughness: value of the Glossy BSDF node. You can read more things to do here, but I thought that this was the best for this particular situation.

Final nodes:

enter image description here

Material preview:

enter image description here

Final .blend:

  • $\begingroup$ How come you didn't plug the vector into the diffuse & specular? I thought they would both use it? $\endgroup$ – David Prentice Jun 6 '16 at 1:38
  • $\begingroup$ @DavidPrentice They would. I took the wrong screenshot, but was pressed for time and couldn't fix it. Sorry. By the way, if my answer helped, please consider accepting it. $\endgroup$ – Shady Puck Jun 6 '16 at 1:40
  • $\begingroup$ @DavidPrentice I updated the screenshots; sorry again for the confusion. Also thought I'd mention that the .blend file doesn't have the connection that you mentioned that I missed. You will have to add that yourself. $\endgroup$ – Shady Puck Jun 6 '16 at 1:59

I am no guru (:P), but as far as i can see:

It is a lot easier now in Blender 2.79 with the "Principled BDSF shader" in cycles shader setup: 1) plug the diffuse "gravel_d.png" into the colour socket 2) plug the specular "gravel_s.png" into the specular slider 3) plug the gloss "gravel_g.png" into the roughness slider (with an "invert colour node" in between)

Also: 4) plug the heightmap "gravel_h.png" into the displacement modifier after subdividing the surface that is being textured.

(The AO map is not used as blender will ray trace in cycles, the normal map is not used as the height map works better in a still image in cycles if there is time available to render it.)

Results should look like this: enter image description here

The left hand sphere is not height mapped, the plane and the one on the right uses a subdivision surface modifier and then a displcement modifier with the "gravel_h.png" as the texture. the strength can then be adjusted to taste. As I inderstand it you could use the normal map and AO map to fake a lot of this for a faster render - e.g. animation / game; and i even hesitated to use the specular map as I have already likely got some/all of the info in the gloss map)

Here is the node setup: enter image description here

  • $\begingroup$ My mistake there plugging spec into the spec tint socket $\endgroup$ – Brett Leslie Nov 23 '17 at 19:15
  • 1
    $\begingroup$ You can always edit your post to add info, or make corrections. No need to append corrections in the comment section. $\endgroup$ – David Nov 24 '17 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.