I think you could use some polar math here, something like in my example below.
It might contain some mistakes as I cooked it up pretty quick, but for an equilateral triangle this should work:
So basically you would just create polar coordinates, and then scale and quantize the values so that you get the desired range of numbers. In this case it would be a shape divided to three parts.
You need to zoom in to see the details.I commented the image so that it would explain this visually.
My basic knowledge of shader graph makes me think this should be done with triplanar projection (vs. mapping to the UVs), but I’m not exactly sure of the best approach. Any thoughts? I’ll keep tinkering in the meantime.
Coordinates have to of course match, in my example I just made the assumption that the triangle would fill the UV space etc.
Another way could be to use object space coordinates. Then you would not need to worry about UVs. Here’s an example:
Basically you just need to feed in the object space coordinates and then offset the origin. This type of solution would allow you to rotate the objects freely etc. I brought in an equilateral triangle I made in Blender (it does not have UVs.)