Page MenuHome

Normal map node doesn't works with curve objects (or any object without UVs) in EEVEE
Open, Confirmed, MediumPublic

Description

System Information
Operating system: Linux-4.15.0-46-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 390.116

Blender Version
Broken: version: 2.80 (sub 54), branch: blender2.7, commit date: 2019-04-07 15:02, hash: rB75f551facaf0
Worked: cycles

Short description of error
Normal map node doesn't works with curve objects (or any object without UVs) in EEVEE

Exact steps for others to reproduce the error
Open file, open lookdev (or rendered, but add some HDRI to clear view effects)

You will see something like this. Left object is curve, right - default mesh cube:

Normal map affects on cube, but not on curve object. Normal map also plugged into color, to preview, that texture coordinate works well.

Details

Type
Bug

Event Timeline

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.

I'm getting a lot of depsgraph asserts when going into the material tab. (But I'm unsure if they are related or not)

BLI_assert failed: /home/zed/prog/blender/source/blender/depsgraph/intern/depsgraph.cc:124, add_id_node(), at '(id->tag & LIB_TAG_COPIED_ON_WRITE) == 0'

The issue here is not with curve objects, you can convert the curve object to mesh and the issue is still present.
The cause seem to be the normal map node as you pointed out. If i just connect the normal map texture to the normal input on the shader, I get modified normals.

But if I pass it through the normal map node, this doesn't happen.

The issue here is not with curve objects, you can convert the curve object to mesh and the issue is still present.

Yes, and only adding empty UV map solves the problem. So it's looks like Normal map node doesn't work without UV-map...

Michael Soluyanov (crantisz) renamed this task from Normal map node doesn't works with curve objects in EEVEE to Normal map node doesn't works with curve objects (or any object without UVs) in EEVEE.

Just a little note:
The problem here seems to be that curves don't have tangents. You can check this via the tangent node set to UV Map mode.
However, when curves are evaluated as a mesh, they get tangents (e. g. by adding a modifier).

So a possible workaround to get tangents for now is to just add a modifier that does nothing.