Hair Dynamics does not work for all strands when hair has been cut #56818

Open
opened 2018-09-16 12:07:12 +02:00 by Part Ago · 18 comments

System Information
System 1:
Operating system: Linux Mint 18.3 Cinnamon 64-bit
Cinnamon version: 3.6.7
Linux Kernel: 4.13.0-39-generic
Processor: Intel Core i5-4430 CPU @ 3.00GHz (4 cores)
Memory: 23.2GiB
Graphics card: NVIDIA GTX 1070 + NVIDIA GTX 760

Tested and verified on secondary PC with Linux Mint 18 Cinnamon + Intel Core M-5Y10c CPU (duo core) as well.

Blender Version
Broken:

  • 2.79 (official),
  • 2.79.6 (build hash: e50a3dd4c4),
  • 2.79.6 (build hash: 5c10c92b23),
  • 2.76b (official),
  • 2.80 Alpha 2 (build hash: ee7236859d),
  • possibly more.

Short description of error
Simulating hair dynamics using the hair dynamics option (standard settings) does not work for all hair particles when the hair has been cut in particle edit mode. In particular, hair simulation only works for some strands, the others remain stationary throughout the simulation. The affected particles are seemingly random depending on the cut shape, although shorter strands seem to have a larger likelihood of remaining stationary. The affected strands do not change over time, they only change depending on the cut.

Exact steps for others to reproduce the error
See attached .blend file for the finished result.
hair_dynamics_bug.blend

Simplest way to reproduce:

  1. Add a particle system to the default cube. (Rotate the cube 45 degrees to prevent vertical hairs - this is to allow gravity to work on all hairs.)
  2. Change particle system type to 'Hair'. Do not change any of the other settings.
  3. Go to particle edit mode with the cube selected. Using either the 'cut' tool, shrink tool or shape cut, cut the hair to some arbitrary shape (preferably with both long and short strands).
  4. Enable 'Hair Dynamics' in the particle settings tab. Do not change the settings there (although changing any does not resolve the error to my knowledge).
  5. Perform the simulation by pressing the 'play' button in the timeline. If the bug has been reproduced, you should see some of the hair particles fall down normally, whereas some of them will remain stationary. If not, try a different cut.

When performing all steps above, except for the particle edit, the bug does not occur. Therefore, the culprit seems to be in the length of individual guide hairs.

The bug seems to occur using more complex geometry as well.

Another note: using a hair length texture does not produce the bug - because the guide hairs still have uniform length.

**System Information** System 1: Operating system: Linux Mint 18.3 Cinnamon 64-bit Cinnamon version: 3.6.7 Linux Kernel: 4.13.0-39-generic Processor: Intel Core i5-4430 CPU @ 3.00GHz (4 cores) Memory: 23.2GiB Graphics card: NVIDIA GTX 1070 + NVIDIA GTX 760 Tested and verified on secondary PC with Linux Mint 18 Cinnamon + Intel Core M-5Y10c CPU (duo core) as well. **Blender Version** Broken: - 2.79 (official), - 2.79.6 (build hash: e50a3dd4c4e), - 2.79.6 (build hash: 5c10c92b23c), - 2.76b (official), - 2.80 Alpha 2 (build hash: ee7236859df), - possibly more. **Short description of error** Simulating hair dynamics using the hair dynamics option (standard settings) does not work for all hair particles when the hair has been cut in particle edit mode. In particular, hair simulation only works for some strands, the others remain stationary throughout the simulation. The affected particles are seemingly random depending on the cut shape, although shorter strands seem to have a larger likelihood of remaining stationary. The affected strands do not change over time, they only change depending on the cut. **Exact steps for others to reproduce the error** See attached .blend file for the finished result. [hair_dynamics_bug.blend](https://archive.blender.org/developer/F4718189/hair_dynamics_bug.blend) Simplest way to reproduce: 1. Add a particle system to the default cube. (Rotate the cube 45 degrees to prevent vertical hairs - this is to allow gravity to work on all hairs.) 2. Change particle system type to 'Hair'. Do not change any of the other settings. 3. Go to particle edit mode with the cube selected. Using either the 'cut' tool, shrink tool or shape cut, cut the hair to some arbitrary shape (preferably with both long and short strands). 4. Enable 'Hair Dynamics' in the particle settings tab. Do not change the settings there (although changing any does not resolve the error to my knowledge). 5. Perform the simulation by pressing the 'play' button in the timeline. If the bug has been reproduced, you should see some of the hair particles fall down normally, whereas some of them will remain stationary. If not, try a different cut. When performing all steps above, except for the particle edit, the bug does not occur. Therefore, the culprit seems to be in the length of individual guide hairs. The bug seems to occur using more complex geometry as well. Another note: using a hair length texture does not produce the bug - because the guide hairs still have uniform length.
Author

Added subscriber: @Partago

Added subscriber: @Partago

#98657 was marked as duplicate of this issue

#98657 was marked as duplicate of this issue

Added subscriber: @mont29

Added subscriber: @mont29

Does this still happen within 2.8? Otherwise there is very little chance this get fixed in 2.7x series now… ;)

Does this still happen within 2.8? Otherwise there is very little chance this get fixed in 2.7x series now… ;)
Author

Thanks for your response.

I quickly tested it for the latest 2.8 build on my secondary PC, and the old file (that I uploaded) seems to explode the hair when simulating again after a couple frames. Probably a cache issue though. The few frames in which it doesn't explode, the problem still seems to be there.

To rule out regressions, I created a new file in 2.8 using the same method, and after the second try, the bug occurred - the shortest strands no longer moved and were stuck, despite the other hairs moving. Therefore, the problem still seems to be present in 2.8.

Thanks for your response. I quickly tested it for the latest 2.8 build on my secondary PC, and the old file (that I uploaded) seems to explode the hair when simulating again after a couple frames. Probably a cache issue though. The few frames in which it doesn't explode, the problem still seems to be there. To rule out regressions, I created a *new* file in 2.8 using the same method, and after the second try, the bug occurred - the shortest strands no longer moved and were stuck, despite the other hairs moving. Therefore, the problem still seems to be present in 2.8.
Sergey Sharybin was assigned by Bastien Montagne 2018-09-17 15:33:14 +02:00

Added subscriber: @Sergey

Added subscriber: @Sergey

@Sergey you worked on hair recently, maybe you can check on that one? Thanks.

@Sergey you worked on hair recently, maybe you can check on that one? Thanks.

Added subscribers: @JacquesLucke, @brecht

Added subscribers: @JacquesLucke, @brecht

I am not really willing to look into particle issues which never worked, i can only look into making particles to work within new dependency graph.

This is something to a TODO, related on nodifying particles/physics. Will leave this up to @brecht and @JacquesLucke to handle.

I am not really willing to look into particle issues which never worked, i can only look into making particles to work within new dependency graph. This is something to a TODO, related on nodifying particles/physics. Will leave this up to @brecht and @JacquesLucke to handle.
Sergey Sharybin removed their assignment 2019-01-03 16:10:46 +01:00

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren

I can confirm this still happens in current master (efe119cd39). However, given that the particle system is marked as End of Life, I'll mark this as a Known Issue.

I can confirm this still happens in current master (efe119cd39). However, given that the particle system is marked as End of Life, I'll mark this as a Known Issue.
Member

Added subscribers: @Zhixiong.Zhang, @OmarEmaraDev

Added subscribers: @Zhixiong.Zhang, @OmarEmaraDev

Will the new hair system in blender3.2 replace the current hair, and after that, will the hair dynamics problem be solved?

Will the new hair system in blender3.2 replace the current hair, and after that, will the hair dynamics problem be solved?
Member

@Zhixiong.Zhang Those issues will likely be solved in the new system, yes.

@Zhixiong.Zhang Those issues will likely be solved in the new system, yes.

"given that the particle system is marked as End of Life" What does this sentence mean?

"given that the particle system is marked as End of Life" What does this sentence mean?
Member

@Zhixiong.Zhang It means it is no longer in active development and will not receive future updates.

@Zhixiong.Zhang It means it is no longer in active development and will not receive future updates.

New hair system Will it break away from the particle system.

blender 3.2 New hair system ,Dynamic solution,Still in a particle system.

New hair system Will it break away from the particle system. blender 3.2 New hair system ,Dynamic solution,Still in a particle system.

The problem has not been improved

The problem has not been improved
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
7 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#56818
No description provided.