0
$\begingroup$

I have this model which I downloaded from the internet (as an .obj file) and part of it shows up much darker than the rest:

The model, it's left solar panel is dark

Everything is blue, meaning the normals are pointing outwards

I've done some looking around, but none of the similar sounding questions fix my problem. I have tried:

  • Recalculating normals - this is the most common answer I've found, but it doesn't work. As can be seen in the image above, with "Face Orientation" turned on in the Viewport Overlays everything shows up blue, which should be correct - flipping them again so they are red doesn't help either.
  • Deleting all materials, since this thread suggested it may be a problem with the materials (the answer also does something with nodes, but since this is from an .obj file I don't have any of those, they cannot be the cause)
  • I'm already using flat shading, so this thread isn't of help either.

This darkness shows up in other programs as well (I've used it for a school project with ThreeJS, and using the Windows 3D Viewer also makes the reflection of that part look weird)

I am inclined to say that the problem has something to do with the normals, but flipping them is clearly not it.

It does seem like the light-reflection on each face is inverted in some way. In the image below you can see that in cases where it should be dark (left) it actually turns lighter (right).

enter image description here

$\endgroup$
1
  • $\begingroup$ Is Autosmooth enabled which could use Custom Split Normals Data? But it looks pretty dark... hm. $\endgroup$
    – Blunder
    Aug 22, 2022 at 21:39

3 Answers 3

4
$\begingroup$

This is most likely not a problem caused by auto smooth. Auto smooth does not cause this sort of problems and turning it off probably just hides the real problem. Looks like maybe there is some broken custom split normal data in the model. That would explain why exporting and importing fixes it - because it's lost during this process. I think clearing custom split normal data would help as well in situations like this:

enter image description here

$\endgroup$
2
  • $\begingroup$ My answer wasn't saying that Autosmooth was the cause, just that turning it off was one way that solved the problem for me. But you are right, what you say here works, and it's probably the easiest fix as well. $\endgroup$
    – Sander
    Aug 23, 2022 at 18:18
  • $\begingroup$ It doesn't solve any problem, it just hides it. There may also be situations where you import an object with the same issue and for example want to use weighted normals modifier that requires auto smooth on, then what?.. It's better to solve the actual problem especially considering how easy it is - literally a press of a single button. $\endgroup$ Aug 23, 2022 at 22:42
1
$\begingroup$

I've found a solution thanks to @Blunder. Turning off Autosmooth fixes the problem.

Autosmooth is under Properties > Object Data Properties > Autosmooth

Where Autosmooth is

That should fix the whole thing, if things start to look weird and shaded right after unchecking it, be sure you're using flat shading by right clicking your model in Object mode, and selecting Shade Flat

enter image description here

That fixed it for me, and the problem is also gone when you export to .obj again.

enter image description here

Side note: If you turn Autosmooth back on during the same session the problem will obviously come back. But, if you export to .obj and then import that file again, Autosmooth will be on by default but you don't have to switch it off again because the obj file isn't messed up anymore.

$\endgroup$
-1
$\begingroup$

Did you try to use the Weighted Normals modifier and check the "keep sharp" in its options? I always keep an active Weighted Normals modifier at the bottom of the modifiers for most of the meshes I work on.

$\endgroup$
3
  • $\begingroup$ this... actually also fixes the problem. $\endgroup$
    – Sander
    Aug 22, 2022 at 22:55
  • $\begingroup$ glad that it's worked ^^ $\endgroup$ Aug 23, 2022 at 7:18
  • $\begingroup$ @Sander Hello and welcome. This site is not a regular forum, Please don't reply "Thanks" as an answer or comment, instead upvote the post that helped you. If you feel it completely solved your issue consider marking it as accepted. $\endgroup$ Aug 23, 2022 at 13:17

You must log in to answer this question.

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