Recently saw GDC on YouTube, learned a lot of things, the most shocking to me is the ggxx cartoon rendering. Feeling a bit, want to use 3D to make two-dimensional effect, really not easy. Here are some key points to note:
1) do not use the normal map to do cel-shading, otherwise the dark and bright line is like a dog gnawing, only use vertex normal.
2) Use vertex color storage threshold, calculate the light and dark wiring, the effect is better.
3) due to the full use of vertex normal calculation, discard the Normalmap, so you can use more triangular surface, relax the limit of the opposite number.
4) vertex normals need to be adjusted manually, not automatically generated normal vectors (especially face normals) and adjusted to the correct results. Here you need to use the cartoon render material ball in the 3D modeling tool to see how the effect is adjusted, so you need to write shader for the model master.
5) The character outer stroke uses the material to produce, but the inner stroke is uses the very abnormal horizontal vertical method, will all have the line of the place UV line to straighten.
Here the stroke thickness of the three muscles is adjusted by the UV coordinates of the vertices ... Terrible.
6) Play light by character, a character with a parallel light, and even every frame of animation needs to give different angles of parallel light to get the best results ... The latter half of the sentence when I did not say.
7) Shadow color map to control the color of the dark side.
GGXX cartoon rendering implementation really good pervert ...