# is it possible to make light not follow object geometry?

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

• Instead of fighting the reflections use them to your advantage blender.stackexchange.com/a/205061/92768
– susu
Commented Jan 11, 2021 at 6:05
• But i want a round white dot to be reflected in the eye, not to get rid of it.
– Paul
Commented Jan 11, 2021 at 8:28

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 :

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.

• 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
Commented Jan 11, 2021 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. Commented Jan 11, 2021 at 23:26
• I tried with all the normal map nodes there, and the reflection just disappears...
– Paul
Commented Jan 12, 2021 at 0: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'. Commented Jan 12, 2021 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
Commented Jan 12, 2021 at 19:35