Issues sampling GPU emitter with more than 64 particles

I’m trying to sample the particle position by 0-N index, but due to it being a GPU emitter the indexing breaks as soon as there are more than 64 particles.

What I’m trying to achieve is to place a fixed number of particles along a path.
The path is a separate emitter that spawns in particles with Spawn Per Unit.

I calculate the index by the distance along the path, and sample with Get Position By Index.
This works perfectly up until the point where there are more than 64 particles, after which it behaves erratically.

Does anyone know if there is a way to correctly sample a GPU emitter using a 0 to N index?
(Or other ideas on how to achieve placing a fixed number of particles along a path?)

In the diagram below, the red line with blue points is the first emitter (with Spawn Per Unit).
The white ribbon with white points is the second emitter (fixed points, sampling the first one).
You can see that in the first diagram it works well, but in the second diagram (with >64 points) the order is broken. The order also changes every frame causing flickering.

1 Like

Hello there!

Depends on how you define the indexation.

First of all you can try a parameter in Ribbon Renderer called “RibbonLinkOrder”, you can simply connect it to Exec index or ID.

Oh… So it’s not a stable amount of particles, right?
You spawn them per unit :thinking::thinking::thinking:
That’s an interesting problem you have. Will text you back if I find something

1 Like

Hey, I’m having the exact same issue with sampling an emitter with over 64 particles. Did you ever solve this problem?

I can’t reproduce this issue.
I can easily sample over 200 particles and it works just fine.
What might be a problem is the RibbonLinkOrder. This basically tells your ribbon particles how to connect themselves.
You do want to read the source particles as well, as you want to connect your ribbon in the way the path is going.
So just setup the correct RibbonLinkOrder or any other float from 0-1 inside your source/path particles, then sample this one as well and assign it to your ribbon particles.

As a side node though, I would advise you to just have source particles and ribbon in one emitter. It’s just way easier to setup and also cheaper than using particle attribute reader all the time.