Hi folks, I've been playing around with Godot for awhile now (v3.5.1) and today I tried to use some of the textures I usually use for Blender and stuff. But, I kept getting either artifact (2nd picture) or the normals were upside down (1st picture).
Now, usually, you can resolve this by just flipping a channel (r, g or b) as different programs read the normal maps differently. As far as I can tell, the 2D normal map looks a lot like a regular 3D one, so I'm kind of baffled why flipping a channel didn't work (I tried all permutations).
I wonder if 2D-oriented normals work completely differently in Godot (which would be weird tbh) and that's why nothing works, but, in that case, how so? And why?


The Albedo and Normal Map if you want to try and replicate:

    Seems to work fine for me, but that texture it not tiling. Also, what are you using to make the floor?

      cybereality No, i manualet edited it to show the borders (for debugging purposes) as the Map is procedurally generated from tons of small sprites . I know a 1024x1024 is wayyy overkill for this but it was what I had lying around to test with.

      Fexelitche Hi folks, I've been playing around with Godot for awhile now (v3.5.1) and today I tried to use some of the textures I usually use for Blender and stuff

      Blender and godot are in different handedness. You will have to flip(invert) at least 1 color channel in you normalmap textures to use them in godot.

      I tested the normal map in Godot, it works. But 1024 is large for a scaled sprite. It's probably just interpolation that is causing the border. You could use a smaller texture, but look in the import options, there are a few things that might help.

      If the normal map is DirectX format, then you just have to invert the green channel. You can do that in GIMP by clicking Colors, Curves, and then making the green channel like an X.

        To be clear, there should be an option in godot texture import settings to flip the normal y channel.

        Right but that's not what is causing the artifacts. That looks like something with the edges, alpha channel or mipmaps.

          cybereality But I should mention I got a canvas modulate on the entire thing set to black (to get the darkness). That shouldn't do anything nor interact with the normals (based on the description of a Canvas Modulate) but might

          Seems to be working fine for me. Maybe there is something wrong with the texture you are using as a light. This is with your files, unedited.

            cybereality Figured it out. Its the canvas modulate that makes the texture look like its normals are upside down. (I zoomed in) - without the modulate:

            With the modulate:

            Any way to get the "night"/"dark" effect without using a canvas modulate?

            Create a CanvasModulate node, set it to total black, then make everything else (the level) a child of that node.