I just realize Niagara’s particle.distancetraveled attribute isn’t at all what I expect: I expect it to be a sum of total position change, but it runs consistently lower than even the raw distance offset length from initial position.
Here is a screenshot of their comparison in spreadsheet:
I think this is it, sum of total Velocity*DeltaTime (my gut said invDeltaTime, but I was wrong).
This then gets copied down into on spawn into things like ribbon uv to get the traintrack tiling to work.
It just occurred to me that you’re probably trying to kill based on distance the particle traveled rather than the distance the emitter traveled. Which might be why this isn’t doing what you want.
Oh…
Someone must have forgot that they wanted per frame instead of per second data so they accidentally multiplied by invDeltaTime.
Then when testing divided by 100 cause those values ended up larger then they though.
When changing to UE5 perhaps they tried fixing it, but didn’t want to completely break existing data. By dividing by 3 after removing invDeltatime and divide by 100, you get the same result as long as you’re running at 30 fps. so close enough…
tldr.
You’re getting weird values because you’re getting the per second movement divided by 100 but adding it every frame…
(You’re not doing this, it’s epic)
Yeah, mine looked weird because they were supporting a legacy bug.
You’re looks weird because you’re working in the engine version with that legacy bug.