Can't figure out how to use Vertex Color instead of VertexNormalWS to create rim offset and offset outline based on Stylised paint shader breakdown

Thanks for replying, I appreciate it. So far I’ve used Custom Data as kind of like a ‘switch’ (and I definitely don’t think that’s the intended purpose) and I checked with cubes, it does work. It tanks for shader complexity though which makes sense to me. But I think this method is meant to lower draw calls.

I feel like an idiot for asking but is that how shell texturing for fur and stuff like that works? I’ll look more into shell texturing, I understand the logic behind it but not really how to make it (and in my scenario I wouldn’t need a random seed). I’ll try playing around with the different UV channels and looking into vertex sorting.

I thought the inner shell would be the solid part and the outer shell would be the rim erosion. So the rim erosion would be the one that’s inflated, from what I understood with this effect.

Would you just take base color texture, grab a component mask, split it into RGBA, use one of the channels (B because that’s the height?), use the gradiant as the Alpha/Opacity, modify the base color texture to have parts be invisible based on that? Wouldn’t I have to use a Lerp node, plug the gradiant as the Alpha? But then what would be A?

Also if I am unable to use a single shader I’ll use two different materials. I can imagine using custom stencil buffers for PP outlines on the inner shell material then somehow ‘offset’ that outline based on it. It’s hard for me to imagine how custom stencil buffers would work if it’s 1 material and different UV channels, unless that is possible. I’ll try working on it more today. These couple of weeks are/will be busy, and this is a learning experience for me. :slight_smile:

https://aqu.hatenablog.com/entry/2018/08/12/070306

This does look like what I was attempting to go for, just without the offset outline and you can see the rim erosion on the trousers as well but that part’s fine I think. I wasn’t familiar with the name of the method, so sorry about that (and also for the fact that it took me this long to piece how shells worked).