Page MenuHome

Animating particle seed value don't change the particle locations.
Closed, ArchivedPublic


Blender Version
Worked: (optional)

Short description of error
When animating the particle seed value for hair system, you don't get different locations for each particle. The particles are always in the same place, but you get random particle object if you are using particle objects.

If you manually change the seed value it works as it should work.

Exact steps for others to reproduce the error
Create particle system with hair particles. Change the seed value. See the effect. Now add keyframes to the seed value. It's not working as it should.

Test file:



Event Timeline

Joel Godin (FloridaJo) triaged this task as Confirmed, Medium priority.

True. Rendered image out also does not change.
#frame in seed does change seed, but does not change hair location.
Seems to work for emitter particles.
Similar to T50331 deps graph issue? @Sergey Sharybin (sergey)

If it works for emitter particles, it can not be a dependency graph issue. Could simply be that it's a limitation of hair system. But would need to have a closer look to give any specific answer.

Bastien Montagne (mont29) closed this task as Archived.

Please always attach files here directly.

And it is indeed not a depsgraph issue, it’s that hair distribution is not recomputed at every frame, since all hair exists all the time, their position is computed once, so changing seed won't have any effect here. Even the 'regrow hair on each frame' does not actually redistribute them. So think we can consider this a known behavior of current code, not a bug at all. Hair are by design static, unlike emitted particles.

@Bastien Montagne (mont29) Then why when manually changing the seed does the hair change position?

The same way, ability to edit a basemesh at any frame differs from animating a mesh ; defining distribution of particles at any frame differs from animating this distribution.
Animation is requesting to use previous frame as reference to determine current frame and current frame to determine next one. It is uncompatible with a distribution randomly changed at each frame.

This can be achieved by using a Py driver on the seed property instead of keyframes.

Is there another task for issue described here? This is the most recent one I could find but it appears closed.

Using 2.79b release, I'm finding that during playback, particles of type: Emitter do not update their position when animating seed value or using a driver. They will update when changing the value manually as Bastien mentions.