Not familiar with Unity, but here's an idea for using several Vertex Normal sets. Store them as Vertex Color but use them as Vertex Normals :) Mesh.VertexNormals = normalize(lerp(Mesh.VertexNormals, Mesh.VertexColor[x], alpha));
If I were you I would worry about one problem at a time, otherwise you won't know exactly how to proceed. Normals are interpolated between vertices in the same way that vertex colours are. The unique values are at each vertex. An occlusion map (a texture) is going to be sampled throughout the faces (unique values at each…
It doesn't look like you're using the step function in your shader, and it's absolutely necessary to make the sharp shadowing. They mention it in the GDC presentation on this slide: So you take the dot product (also called "scalar" product) between the vertex-to-light vector (going from the vertex to the light position)…
For reference, the Guilty Gear Xrd GDC presentation is this: https://www.youtube.com/watch?v=yhGjCzxJV3E They mention a few things in there, maybe this helps: - They preferred to use vertex attributes (colours and normals) instead of textures to store information because it was easier to edit (instant feedback) and these…
Thanks @RN and @somedoggy for the technical input on that -- it makes a lot of sense. I'd prefer to use step in this case since the ramp, in my case, doesnt seem necessary, especially after looking at the shader @bitinn suggested. Great advice man! -- I sure did, and it supports all the toon-lighting I could ever want --…