This will be made better in the future someday, but for now you could in theory do this with a little hacking.
Set up your skelmesh you are emitting from with a mask that maps to your UVs the way you want.
Make a system that reads from it using skel vert/surf locations.
Enable “inherit UV”.
In your particle, drop in a dynamic input. Set the 0 and 1 entries to “spawn time only” and “auto set”. Name them X and Y.
in your particle material, put in your dynamic parameter and append the 0 and 1 (X and Y) together to make a UV.
Use that UV to sample the same mask texture your mesh is.
If you had, say, a black and white mask, this would give you white particles where the white parts are, and black particles for the black parts.
Then, do some logic in the vertex shader to collapse any particles that are fully black to 0,0,0 or something and let the GPU cull the degenerates. It’s a hack, but could work OK depending on counts and need.
Going forward we’ll make this kind of thing worlds better in Niagara, but for now with Cascade this would be the only way to accomplish it.
