1

I made a character that has abnormal eyes shape, and set a principled BSDF material for the lights to reflect a round white dot over it. But in some corners the light gets distorted due to the abnormal faces of the mesh. Is it possible to make the light not follow the geometry of the eye, and just display a round dot in every part of it?

Here is the file: https://www.mediafire.com/file/ojmqwbeqhpsikvh/zzzzzz.blend/file

enter image description here

enter image description here

Paul
  • 372
  • 2
  • 4
  • 18
  • Instead of fighting the reflections use them to your advantage https://blender.stackexchange.com/a/205061/92768 – susu Jan 11 '21 at 06:05
  • But i want a round white dot to be reflected in the eye, not to get rid of it. – Paul Jan 11 '21 at 08:28

1 Answers1

2

You can achieve an effect like this by manipulating the normal.

Here's Suzanne showing the difference with the default surface Normal and the manipulated Normal based on the vector from the origin to the surface point :

round reflection by manipulating Normal

By using a Normal calculated based on the origin, the reflection will always be as if it is formed on the surface of a sphere - thereby ignoring the geometry. Obviously the reflection is still on the surface of the mesh, but it is as if it is pointing in the direction a sphere's surface would be pointing if it were a sphere of that size at that point.

Without the manipulated Normal you can see the distorted reflection due to the surface geometry and with the manipulated Normal it becomes a symetrical circular reflection.

Rich Sedman
  • 44,721
  • 2
  • 105
  • 222
  • does this works on blender 2.79? i didn't found the normalize vector as shown in the gif, i tried adding the normal map vector but the reflection disappeared – Paul Jan 11 '21 at 23:17
  • Yes - should work fine. The Normalize node is actually a Vector Math node set to Normalize. I don’t have a 2.79 at hand to test it on but it should be there. – Rich Sedman Jan 11 '21 at 23:26
  • I tried with all the normal map nodes there, and the reflection just disappears... – Paul Jan 12 '21 at 00:59
  • It's not the 'normal map' - it's the Vector Math node. I've tried this in 2.76 and it's definitely there. Just add a Vector Math node (in the Converter menu, not the Vector menu) and change the mode to 'Normalize'. – Rich Sedman Jan 12 '21 at 10:53
  • Yes, now i tried the math node, and it works but it makes a shadow in the back of the eye and it shows in render mode too. Is there a way to control the shadows in this node? – Paul Jan 12 '21 at 19:35
  • Perhaps ask a new question on that one since it’s a further issue compared to the original question. By all means add a link here and I can take a look. – Rich Sedman Jan 12 '21 at 21:02