This is the matte I need, created from the mesh with this ring displacement using the "normal" output. I will be using a different displacement in the end but I need this specific information. I am making a fully procedural material and want to avoid baking this texture. I could just manually make circles where they are here but I'd rather use this idea so I don't have to manually change them later if I need too. Is there some way of locking this texture to stay how it is now or is there an alternative node with a similar effect? I just want a matte that's white where the outside and inside wall of this displaced ring would be.
Taking the dot-product of the Normal output of the Texture Coordinate node with
(0,0,1) will return the Z component of the surface normals, in Object space.
This ring has a curved profile on the inside, and is tapered on the outside.
This discrimination is good.. if you had displacements on the curved surfaces which resulted in |Z| = 1 normals, you could further discriminate by absolute Z location in Generated texture space...
Either way.. or both ?