top of page
  • Writer's pictureCole Funck

Searching For Shaders

By far the process of finding a toon shader has been one of the biggest challenges for me in this project. It has gone through many iterations and none of them so far have met my standards for what I want from my toon shader. Throughout the first leg of the project we were just operating on the standard unity shader. The only perks to this was we had the ability to control roughness and metallic values which are often left out of basic toon shaders. After getting help from our project lead Will Meyers we determined that using Amplify Shader Editor would be a great way to create our own shader. The node based interface was much more user friendly for me considering I had no experience with shader code, but the logic of creating shaders was still lost on me. However, in the meantime the premade toon shader created by amplify was enough. I was even able to implement the ability to assign different shading ramps based on the roughness maps generated in substance. However, this shader didn’t really have the final look we wanted to achieve. The fresnel effect was too soft and overall the implementation using a ramp texture was not ideal for how I wanted to control the roughness values.


After establishing that as a temporary solution I looked into more basic shader tutorials and dove into shader code in order to get a better idea on how the whole system works. There was a lot of material to dig through online and I learned a lot about the logic of shader code. After this I stumbled across the Toony Colors Pro plugin for unity. This shader had the features I needed and more. It made the game look much better overall, but I found that it had a little too much customizability and since it used unity’s standard shader as a base it didn’t quite have the functionality I wanted from a shader.


Finally, after doing my research and studying a ton of ways to implement a toon shader I was ready to actually make my own. The end result is something I’m actually very happy with. I was able to implement the exact stylized look I wanted while maintaining the ability to plug in normal and roughness maps for better fidelity for my models as well as a custom fresnel and specular style. I also implemented nice cast shadows as well as the ability to adjust the ambient light properties. It’s also compatible with the unity global illumination system, but I don’t think we’ll be using that anyways. This was a long journey that is still ongoing, but I feel very accomplished knowing I finally figured something out that is customized and made specifically for our game.

6 views0 comments

Recent Posts

See All
bottom of page