0
$\begingroup$

I'm working with this PBR metal texture. I have the images plugged into the proper slots, and everything seems fine except for the normal map.

If you look at the bottom of the image, when I connect the normal image, the preview goes black. It seems to still render in preview, but I'm not sure the normals are working. So first question is why?

Secondly you can see how the texture is repeating very small on the object. I tried adding a Mapping node between the color texture, but playing around with scale there (no matter if I select texture, point, whatever) didn't do anything. How can I get it to scale properly?

I am using 2.79, rendering with Cycles of course. Yes, the object is UV unwrapped.

enter image description here

$\endgroup$
2
  • $\begingroup$ Perhaps try adding an uv map node to drive the image vector, and instead of pushing the normal map into the Displacement, try adding a normal map node and plugging into the normal of the Principled BSDF node. Also, did you apply scale and rotation of your object before this? $\endgroup$ Commented Feb 26, 2019 at 21:41
  • $\begingroup$ The Normal map goes into the normal mode normally (from what I've seen on tutorials that I can recall). Right now there's a displacement map that is going into the displacement node. Are you saying replace it with the normal map? I'm not sure what you mean/how to drive the image vector with a UV map node. Yes, I applied rotation and scale. $\endgroup$
    – MajorTom
    Commented Feb 26, 2019 at 21:53

2 Answers 2

4
$\begingroup$

The normal texture needs to go tough the Normal Map node. The texture data is normalised so the normal vector is between 0 and 1 (0.5 as mid value) for each channel. This needs to be recalculated to be in the range from -1 to 1 (0 as mid value). It will also convert the tangent space vector to world space.

enter image description here

If you need to scale the UV coordinates, the Mapper node should change the values from the UV Map node. UV coordinates are usually 2-dimensional where a texture always are within 0 - 1 range. If you go outside this range the texture gets repeated if the Texture node is set to Repeat.

enter image description here

But the simplest way is just to scale the UV coordinates in the UV Editor. It does not matter if the islands are overlapping (unless they are used for baking) or exceeds the texture boundaries (if the texture is tiling). In fact, tiling textures are made to work this way.

enter image description here

$\endgroup$
4
  • $\begingroup$ Ah, got it. That seems to be working. Do you know how to fix the scale? $\endgroup$
    – MajorTom
    Commented Feb 26, 2019 at 23:56
  • $\begingroup$ I would like to see your file if it's possible? You seem to have some unusual problems with your texture coordinates. $\endgroup$
    – Jackdaw
    Commented Feb 27, 2019 at 9:44
  • $\begingroup$ I have update my answer with some pointer in hope that you will find them useful. $\endgroup$
    – Jackdaw
    Commented Feb 27, 2019 at 10:37
  • $\begingroup$ Thank you Jackdaw. For some reason I didn't have my UVs done right. Updating that solved the issue. Thank you so much. $\endgroup$
    – MajorTom
    Commented Feb 27, 2019 at 20:48
0
$\begingroup$
  1. Add a "Normal Map" node, which is the bridge connecting normals texture and the shader. Remember to set that normals texture node at "Non-color Data".

  2. For the scale, you can try playing with "Mapping" node, which defines scale, rotation, location, etc., with the coordination of "Object" output from "Texture coordinate" node. Or, try distributing the object a proper UV map.

  3. For more information you can check out BlenderGuru's Anvil Creation Tutorial at here.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .