Download

Material changing based on angle of view from camera

Hello, I’m a student looking for some help with a material I’m trying to make for a college project. I’m trying to make this material that will change color depending on the angle the camera is viewing it from.
Here’s a piece of the concept art I’m attempting to replicate with this material.
fc31bf99b41287378663b50d4563b3fc0fecec99.png
My only idea for how to solve this problem is to use an IF statement, but I have no idea what the A and B variables would be in this case.
This is what I’ve come up with so far, but I would like to be able to utilize 3 RBG values depending on the angle of viewing
bb264fd48dc576862c77b68800ebaf421b40090d.jpeg

Take a look at the Fresnel material node.

It *might be what you’re looking for.

but he’s already using the Fresnel node…

@BladeHenge try a dotproduct between the CameraVector and a vector3 with 0,0,1, then clamp it to 0-1, and put that into the Alpha of a LinearInterpolate node, where A and B will be your desired colors. if you want a sharper look you can add a Pow node and then a Multiply -both before the clamp- and play with the values
that will give you a similar result to Fresnel, but the difference is that now you can modify the vector3 (i.e. set it to 1,0,0) to change the desired angle of incidence

Chosker’s idea seems like a solid solution, although I’d also like to chime in with a couple of suggestions on your material setup:

  1. Roughness shouldn’t be a negative value; it should be in the range of 0 (completely smooth) to 1 (completely rough).
  2. The ambient occlusion input should be connected to an AO map, not a single value. If you don’t have or need one, don’t plug anything into it.

Thank you so much for the help with this! I finally got a chance to test this yesterday and it works like a charm!