Lighting problems on objects converted from version 3.6 to 4.4

Godot Version

Currently 4.4 dev7

Question

I am converting a project from 3.x to 4.x. All of the sudden the lighting is horrible but even worse is the lighting on objects placed in a main scene.

Here is a wooden table box that 2 dice are dropped in. You can see the DirectionalLight3D node’s effect by the shadow the box makes. Everything looks beautiful and correct in 3.6. However, dropping the same dice into the converted project, the lighting on the dice is wrong. Any ideas as to how I can fix this?
Here is 3.x:

Here is the same thing in 4.4:

Any help would be appreciated!

If the materials on the dice have a Normal Map, I’d check the materials first to make sure they have some different Normal Map settings, if it’s missing one, or even the Normal Map texture has a format issue in 4+. Maybe throw on a simple standard material with just a grey color and see if it lights the same.

If that’s all good, I’d check the vert normals in general, you can see that by going to the top left drop down and Display Advanced then Normal buffer. If you want to see how they ‘should’ look to compare drop in a few primitive MeshInstance3D with a sphere, and the way the colors present should match that as far as their facing angles on the geometry.

1 Like

Darn. I looked at all the Normal maps and nothing seems to work. I did drop a MeshInstance3D in the scene and it looks great. Is this a setting that can be changed or do I need to open it in Blender and do something? Any thoughts?

So are you saying the mesh with a base material (not using the imported normal maps) looks fine?

If so when you have a chance show the normal map import settings here,

and then maybe show the material you are using.

I have played with import a ton. My import looks exactly like your picture.
I have deleted the Normal Maps with no luck.
The only thing that works is changing the mesh itself. I have read that an ArrayMesh can have the Normals recalculated. However, it seems like that can only be done with a script? It would be nice if there was a tool to do this.