Description

Even though the particles are not moving, and the velocity is zero, the output motion vectors are non-zero. This seems to only happen if using two sources of particle positions. 

Steps to Reproduce
  1. Create a Niagara system with an empty emitter
  2. Add a spawn burst instantaneous module to the emitter update script and set the spawn count to 10
  3. In the initialize particle module set the sprite size to "Uniform" and "10.0" and set the ribbon width to "Direct Set" and "5.0" 
  4. Create a new scratch module in the emitter spawn. Add two input Position parameters, name them "Start" and "Dest"
  5. In the node graph lerp between Start and Dest using the Normalized Execution Index.
  6. Transform the output of the lerp from local to world space and then set Particles.Position to that value in the module's map set
  7. Apply and compile
  8. Set Dest's value to (300.0, 0.0, 0.0)
  9. Create a new position parameter for the particles and name it "OffsetPos"
  10. In the particle update set the value of OffsetPos directly to Particles.Position plus some offset vector (e.g. (10.0, 0.0, 0.0))
  11. Directly set Particles.Velocity to (0.0, 0.0, 0.0)
  12. Add a ribbon renderer and bind its position to OffsetPos
  13. Place the system in a level and visualize motion blur

RESULT

The motion vectors are non-zero

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-191427 in the post.

0
Login to Vote

Backlogged
ComponentUE - Niagara
Affects Versions5.2
Target Fix5.5
CreatedJul 27, 2023
UpdatedFeb 14, 2024