Page MenuHome

Particle type set to hair prevents altering keyed values
Closed, ArchivedPublic

Description

Blender Version
Broken: master
Worked: ??? at least >= 2.62 behaves this way

Description of error
When the particle type is set to hair, keyed values cannot be changed. While a keyed value can be edited, it snaps back to the keyed value when you finish editing, preventing you from entering a second value to key or replacing an existing keyed value. This is only in the particles UI as changes can be made within the graph editor.

Some values can be changed, eg within the Rendered and Display panels. Of note is that any keyed values that can be altered will all snap back if an un-alterable value is edited.

It would appear to be like a frame change or scene update is being triggered after editing values.

Exact steps for others to reproduce the error

  • add a particle system to an object and change the type to hair.
  • keyframe a value
  • try and change the value

Details

Type
Bug

Event Timeline

Shane Ambler (sambler) raised the priority of this task from to Needs Triage by Developer.
Shane Ambler (sambler) updated the task description. (Show Details)
Shane Ambler (sambler) set Type to Bug.
Sergey Sharybin (sergey) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Dec 30 2015, 10:39 AM

Please always include all steps needed to reproduce the issue. "Can not change the value" is far too vague and unclear.

What exact values are you talking about? Does it happen with Hair system added to the default cube?

I did include the steps needed, add a particle system, key a value and try and change it. Any object can be used to start.

I don't know how else to describe "cannot change a value" while you can start to edit the value, when dragging the value it changes until you release the mouse and the value will then snap back to the keyed value, if you type in a value, then after exiting the field it will revert back. This only happens when the particle type is set to hair.

As I said some values can be changed - In the Display panel only the display% is effected the other values can be changed

Values in the Render and Children panels can be changed.

Random in Hair Dynamics and stiffness in Field Weights are two lonesome values that can be changed.

The Cycles hair Particles can be changed and is a variation, it's values don't snap back when other values are edited, only when an actual frame change occurs.

In all other particle property panels I don't see another keyable value that is not effected.

Sergey Sharybin (sergey) raised the priority of this task from Needs Information from User to Normal.Dec 30 2015, 11:32 AM

Naming exact value would have saved time. Finally found the one which displays the issue -- Hair Length. But that's a bit tricky. Perhaps "get_birth_coord" enforces animation evaluaiton, not sure what would be the fix here then.

I think this value should not allow creation of a key.

Start and End Path Values can be animated in Render Panel.
So, Hair Length can be considered as a reference value for animation of length though Render Panel or Force Field.
Hair can grow by effect of force fields if Use for Growing Hair option is enabled in Field Weigths panel.

I believe that hair length is not supppose to be animated but there is a trick that linked this value to velocity of emitter particles. And Emitter particles velocity must be animateable. I think it is the reason why you can add only one key.
F-curve creation cannot be disabled for these parameters shared with emitter particles.
But their animation for hair particles conducts to problems.

I think it is too wide spread to focus on each effected property.

From a newly created particle system (after loading factory defaults) I'm just holding down 'i' and moving the mouse over the values to find what is keyable, then try and adjust values that get keyed. Any reference to values are ones that can be keyed, un-keyable values are ignored. A keyed value may have a key on any frame not just the current frame.

At a quick count there are over 100 keyable properties effected and 50 that aren't effected. I haven't looked at how many of these values are duplicated eg show as Newtonian and Boids properties. At least Size, Random Size and Mass are shared and brownian is common to Newtonian and Fluid.

As the properties within a panel mostly fall into the same effected/uneffected category it is easier to list the panels that are/aren't effected as this relationship is probably the only hint to why some properties are effected and others aren't. There must be some common code used by the 66% effected that the remaining ones don't share.

While I am mentioning a few specific properties by name I am mostly referring to all keyable properties within a panel by the displayed name in the header of the panel.

The effected properties seem to be core simulation values while the uneffected are final display/render.

For this report I am not concerned over the validity of whether a value should be keyable, just what values can currently be keyed and the ability to key variations of those values from the UI, this ability changes when the particle type is set to hair.

When grouping properties by panel (with advanced enabled) -

The Emission panel has 2
The Velocity Panel has 8
The Rotation panel has 3
Enabling Hair dynamics (which has 1 uneffected - Random) shows physics -

  • with Newtonian there are 10 values
  • with Keyed there are 3 (and 1 uneffected - Loops)
  • with Boids there are 25
  • with fluid there are 24

The Field Weights panel has 16 (and 2 that aren't effected)
The Force Field settings can have 12-15 values for each Force depending on the type selected.
In the top panel under the settings name, seed is uneffected while segments is effected.

Cache, Cycles Hair Settings and Textures don't have any keyable values.

The 4 panels that I listed (That is Display, Children, Render and Hair Dynamics) have uneffected properties - with the one exception (display %). Custom Properties can also be keyed and can be grouped with these.

The values in Cycles Hair Particles and the negate option for groups in Vertex Groups are the odd ones out, these values are keyable but they don't revert when others do. For example, key some values in display and you can change the values, but when you change display % these values will all revert back to the keyed values, also changes made in Render will revert at the same time. The Cycles Hair Rendering properties and Vertex Groups don't revert when these others do, they only revert on a real frame change.

Sergey Sharybin (sergey) closed this task as Archived.Apr 26 2016, 5:45 PM
Sergey Sharybin (sergey) claimed this task.

We are now trying to put all the forces on a new 2.8x branch, where we'll start working on complete refactor/replacement of old hairy problematic areas, such as BI, particles, physics and so on. So since it's not a regression i would consider it a TODO and solve it as a part of 2.8 development, based on a new depsgraph and new particle system.

So thanks for the report, but closing it now.