The production pipeline for Elster was much different compared to my past projects. While most 3D projects I've worked on follow a standard PBR workflow, Elster follows the Arc System Works process for stylized 3D anime shading. This was all made possible thanks to this specialized Guilty Gear Strive blender shader by Aerthas Veras. Because of Aerthas’ incredible shader work alongside the ArcSys Blender Animator community’s model resources, I was able to study the entire workflow. During production, I also discovered the official Arc System Works Academy YouTube channel which breaks down a lot of their technical processes.
With the Guilty Gear shader in my hands, I learned how to apply “forced normals” to Elster's face alongside the specialized texture map system to make it all work. However, as production went on, I ended up developing this into a hybrid workflow that also incorporated aspects of what Riot Games does for 2XKO.
Below I’ll be doing overviews of the modeling, face shading, texture maps, and rigging process!
Modelling
Hero character models in GGS and similar games have a medium to high polygon count to ensure that the characters look great from every possible angle. The topology for certain parts is also highly specific yet intentional to make the anime shaded style work seamlessly. For Elster, I started with a high poly sculpt blockout to get a rough idea of her head and body proportions. Although I initially made feet for Elster, those were removed during the retopology process and reused for Ariane’s model. ((Side note - maybe I can make a Gestalt variant for Elster 🤔)). Over time I continued to refine the model until it reached a point I was genuinely happy with.
I also want to give a shoutout to Henning Sanden/FlippedNormals for his excellent anatomy courses and resources. While his courses focus on realism, it really helped me understand *appeal* to make Elster the best she can be!
Toon Face Shading (”Forced Normals”)
To get that anime style shading look, there are actually a lot of resources online that cover the process nowadays, but the one that really clicked with me was Vertex Arcade's tutorial on topology setup and forced normal techniques. Referencing the techniques from that video, I applied them to Elster by sectioning off specific parts of her face (we can call them “shadow zones”) to get the desired result. It was a delicate puzzle that I had to follow step by step. I even created a diagram to remind myself when and in what order to apply the face normals to specific shadow zones. Looks pretty wild but it was helpful enough.

I’ll admit that the final shadow results for Elster don’t transition as smoothly as official Arc System Works models, but it’s still a close result that I am genuinely happy with. I will unlock the secrets eventually. I also considered the SDF texture map technique but felt like learning the forced normal process would be beneficial for this project.
Base Map
This is the basic color (albedo) map. What is really cool about this workflow is that I can just set up basic color blocks in a design software like Figma or Photoshop, and then during the UV process, I can simply move the islands to whichever color block they belong to.
SSS Map
This texture controls the specific color of the shadows. According to Tre3, the acronym SSS stands for Sub Shadow Surface in this specific pipeline, though it could also reference the more traditional Subsurface Scattering term 🤔
ILM Map
This is a special multi-channel texture map that includes individual RGB channels to control specular highlights, ambient occlusion, and internal line art. Again, I am not entirely sure what the acronym ILM stands for, but I am sure I’ll find out eventually!
Vertex Painting
This is actually not a texture map. Instead, this “data” is painted directly onto the geometry which tells the shader to apply permanent shadows that acts like baked ambient occlusion.
Detail/Line Map
Technically called the “detail” map according to the GGS Shader, this includes dynamic anime line strokes that can be placed across the character to convey the cross-hatching anime style details throughout the character. This is placed on a second UV map channel separate from the Base, SSS, and ILM maps.
However, this is where I chose to change things up a bit by incorporating Riot Games' techniques from 2XKO. I was lucky enough to find some extracted in-game models online and discovered that I can get the same outline results as if I were to do it all in the ILM map.
While the typical workflow is to place internal line art details inside the ILM map, doing it on the detail map worked incredibly well for my specific use case. It also allowed me to avoid worrying too much about strict UV shell placement. The black blocks at the bottom of the map are where I am able to draw the clean outline edges seen throughout the model.
Rigging & Weight Painting
For rigging, I used Auto-Rig Pro (ARP). It was incredibly handy to have a preset rig system (that I can also use to retarget motion capture data to my characters in the long run 👀). A huge shoutout to CGDive for his amazing in-depth tutorials on ARP and rigging in general!! One thing to note about ARP is that it's not meant to be instantly perfect out of the box. It’s "smart" weight painting feature provides a great starting point, but it still requires manual touch-ups to achieve good articulation. In fact, I found myself continually tweaking weight paints well into the animation process….