One of my roles on Invincible Presents: Atom Eve, was to take our existing shader system (made by the wonderfully talented Chris Zuko) and expand on the pipeline to bring all the character art made by our art team into engine for the animation team to use with new features and artistic direction that the project required.
https://store.steampowered.com/app/2060870/Invincible_Presents_Atom_Eve/
Hello! In this post, I'll be covering some of the methodology on how we tackled different features we wanted in Invicible Presents: Atom Eve on the shading side that might alleviate the workload for others.
Our characters are built up on a series of atlases on a grid that's evenly divided, and if overlapped, would have the same relative positions for every facial feature.
This means on the rig side, we use an enum that simply dictates what the values of the primitive data should be.
Stepping away from the primitive data, we needed to come up with a way to handle the eyes and the back eyebrow so that they would be occluded by the face.
And finally, the last step: Fading in and out. We couldn't use transparency because of how a lot of characters are built up of overlapping body pieces. Instead, we opted to use dithering.