Search Unity

Particle system emit with single frame delay

Discussion in 'General Graphics' started by olejuer, Jul 22, 2021.

  1. olejuer

    olejuer

    Joined:
    Dec 1, 2014
    Posts:
    211
    Hi everyone,

    it seems that particle systems emit their first particle one frame after activation, i.e., with a delay of one "Fixed Timestep". This makes it hard to synchronize particle systems with other timing sensitive animations. I was wondering if this is intentional and whether it is possible to make particle systems emit on the first frame instead. I would expect this to be the default, because I can setup a burst emission at time 0, which is explicitly not delayed by one frame.

    To visualize the problem, I have created a particle system that emits one particle with speed one and a sphere that is moved by an Animator at the same speed for reference. Particle and Sphere should be always perfectly aligned. However, they are offset with a distance corresponding to the configured fixed timestep. It becomes very apparent when increasing the fixed timestep.

    Thanks!

    upload_2021-7-22_10-30-13.png
     
    kana1939 likes this.
  2. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    2,285
    Are you using Rate over Time emission?
    And are you saying Burst emission works correctly with no delay?
     
  3. kana1939

    kana1939

    Joined:
    Jan 4, 2022
    Posts:
    13
    same question
     
  4. richardkettlewell

    richardkettlewell

    Unity Technologies

    Joined:
    Sep 9, 2015
    Posts:
    2,285
    Same question from me too!

     
  5. olejuer

    olejuer

    Joined:
    Dec 1, 2014
    Posts:
    211
    Ah, sorry I left this pending!`
    I actually reported a bug back then and it was claimed to be fixed in Unity 2022.1.0a10 and above.
    https://fogbugz.unity3d.com/default.asp?1352736_bto92e6pcvis0ac0

    I was talking about burst emissions. It used to be that a burst configured for t=0 was actually only emitted after one FixedTimeframe period had passed.
     
    richardkettlewell likes this.