Particle type set to hair prevents altering keyed values #47080

Closed
opened 2015-12-29 08:21:56 +01:00 by Shane Ambler · 11 comments

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
**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
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @sambler

Added subscriber: @sambler

Added subscriber: @Sergey

Added subscriber: @Sergey

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?

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?
Author

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.

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.

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.

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.

Added subscriber: @zeauro

Added subscriber: @zeauro

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 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.
Author

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.

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.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Sergey Sharybin self-assigned this 2016-04-26 17:45:20 +02:00

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.

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.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#47080
No description provided.