Can a Niagara CPU emitter read and use the particle positions from a seperate GPU emitter? (In the same particle system)
If so, how can the two emitters be linked together? Particle Attribute Reader doesn’t seem to work between GPU and CPU sims.
Can a Niagara CPU emitter read and use the particle positions from a seperate GPU emitter? (In the same particle system)
If so, how can the two emitters be linked together? Particle Attribute Reader doesn’t seem to work between GPU and CPU sims.
I am just now running into the same problem sending GPU to CPU. I have a solution, though convoluted I think it should work. Instead of reading the position directly, you can have the GPU emitter write to a volume render target and then have the CPU read from that render target. Might not be ideal but it is probably one way the two can communicate.
Another possibility is particle export data from the GPU to a blueprint, and then have the blueprint write to a property in the niagara system. I ran into the problem previously (sent the data back to the same GPU emitter, but should work just the same to send the data to a CPU emitter), it was not fast but it was acceptable if you limited how much particle export data was being sent per frame. Not having tested it, I’d assume the first way is faster, though the second may be more accurate (though if you’re being really tricky you can code position offsets as a linear color in the render target and then have the CPU calculate position based on that color, can just use a 2D render target for that).