I am using the Normal Edit modifier (aka Set Split Normals) on directional mode to align an object's normals towards the camera. This gives me some of the shading that I want. However, it causes me to lose access to the unmodified normals, which I need for other parts of my setup.

It seems that it should be possible to get the same effect by using material nodes since we have the camera's view vector from the Camera Data node. I don't understand vectors and the math enough to know what to do with it though. And I'm not clear on what exactly the Normal Edit mode is doing.

Anybody know if this can be done?

  • $\begingroup$ Just out of curiosity: Why would you want to do this? What use do you have from this effect? $\endgroup$ – Martynas Žiemys Jan 15 '19 at 21:45
  • $\begingroup$ @MartinZ Flattening/simplifying the shading on Toon Hair :) $\endgroup$ – Ascalon Jan 15 '19 at 22:25

Geometry node has an Incoming vector output. That is the vector pointing towards the point the shading point is being viewed from (Blender's manual). If you align surface normals to the camera you also get vectors pointing towards the point the shading points are being viewed from. So that's the same thing. You should be able to just plug Geometry node's Incoming output to Normal inputs of your shaders.

  • $\begingroup$ Ah hmm, I had tried that and it was giving different results, but now I've tried it again and it does seem to be the same as Direction set to camera with Max Angle set to 180 deg. I think I can duplicate the Max Angle feature by mixing it back with regular normals based on layer weight. Any idea if we can duplicate Parallel Normals? $\endgroup$ – Ascalon Jan 15 '19 at 22:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.