Hair Dynamics: collision doesn't work (exploding) #67958
Labels
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
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#67958
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system:Ubuntu Studio 19.04
Blender Version
Broken: current master @
84c537e685
Worked: 2.82 alpha @
6bf0e9dbb1
, 2.81a releaseShort description of error
Open a 2.79 file with working hair dynamic in current master and the hair goes in all directions.
Exact steps for others to reproduce the error
The first 30 frames have been cached by Blender 2.79, so they show the correct dynamics. After that new dynamics are computed and are exploding.
Frame 20 (cached 2.79 dynamics):
Frame 47 (2.82 alpha dynamics):
Original example:
Added subscriber: @hjalle
#73745 was marked as duplicate of this issue
Added subscriber: @lichtwerk
Tested on linux with simple file from 2.79 [incl. interpolated children -- which are a known source of issues in 2.8] but could not reproduce...
I guess we need an example .blend file where this happens... mind sharing?
The file is a 2.79b file to be open in v2.80.
2.79b good hair day, 2.80 bad hair day.
This file is tested on 3 computers, all Ubuntu Studio 19.04
Go to frame '0' and press play.
T67958_Tommy_Hjalmarson_Hair_Dynamic_2.79_file.blend
Will have a look...
first note: getting this on file load:
add_operation: Operation already exists - 18)Particles Component : OBHair( affects_directly_visible: false) has PARTICLE_SYSTEM_EVAL(Pile_over_2)
BLI_assert failed: /blender/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc:230, add_operation_node(), at '!"Should not happen!"' Aborted (core dumped)
checking further...
Some progress:
Issue mentioned above (cannot open file in Debug builds) seems to be caused by two particle systems in the file having the same name (there are two equally named
Pile_over_2
)If I rename the second one (to e.g. to
Pile_over_2_variant
), I can open the file.T67958_Tommy_Hjalmarson_Hair_Dynamic_2.79_file_part_variant_renamed.blend
Normally equally named particle systems shouldnt be possible, I guess (e.g. renaming one to the same name that already exists, will result in a unique name).
I can only assume this happened by using
Duplicate Particle System
operator? [this seems to have a bug in that it does not ensure a unique name -- fix for it in {D5632}].Now on to the "bad hair day":
This is caused by something in the collision modifier, will need some more investigation...
v2.80 Dynamic Hair dosn't work (linux)to Dynamic Hair collision dosn't work (exploding)Dynamic Hair collision dosn't work (exploding)to Hair Dynamics: collision dosn't work (exploding)Added subscriber: @iss
I am not able to reproduce this (after clearing cache).
@hjalle Is this still an issue with latest build, even if there is workaround? https://builder.blender.org/download/
Changed status from 'Confirmed' to: 'Needs User Info'
Changed status from 'Needs User Info' to: 'Confirmed'
Oops this is wrong report :/
But thread is quite old anyway, feel free to re-check...
Sorry!
Added subscribers: @LucaRood-3, @ZedDB, @mano-wii, @dr.sybren
I tried to reproduce the issue (and provide new screenshots & update in the description), but doing a bisect it turns out that the hair explosion I witnessed is introduced by
d42a7bbd6e
(D6545). This can't be the original problem (as this report is from before that commit).CC @LucaRood-3 @ZedDB @mano-wii
@hjalle with Blender 2.81a I can't seem to reproduce your original issue, so I'm guessing that got fixed in between. I'll keep this task open, though, as there is still exploding hair.
Hair Dynamics: collision dosn't work (exploding)to Hair Dynamics: collision doesn't work (exploding)The problem seems to be related to the fact that some strands are partly inside and partly outside the mesh.
It seems to be resolved if you enable the option
Single Sided
in the collision properties.It seems to be more of a limitation of the new system than actually a bug.
If it's a situation that the old hair collision system could handle and the new one cannot, this should be documented well. However, the release notes have only one line about this:
Which means that if it's less reliable, it's a bug.
@dr.sybren Well it is not less reliable as the new collision system actually works.
The old one would simply just have hair strands fall through solid objects no matter what you did.
To me this problem seems to be that, as Germano pointed out, the hair strands gets stuck inside the mesh if
Single Sided
is off.Which is logical because the surface will try to keep the hair inside of it if it clips into it too deep.
But at the same time it will try to push the other part of the hair out.
@ZedDB In the above screenshot (2.79 dynamics) the hair is indeed penetrating the skull, so it's not perfect, but it does not explode either.
IMO this change warrants a better description in the release notes of exactly what's required for people to use the new system. Currently it is described as only having upsides and not requiring anything of users to get it to work, but this report shows that this is not accurate. If people need to change the collision settings to prevent hair from exploding with a file that previously worked well enough, this needs to be documented.
Added subscribers: @craigievar, @grosgood
Changed status from 'Confirmed' to: 'Archived'
As stated before, this is not really a bug.
The more strait forward solution here would be to disable the collision modifier on the emitter object. As it really didn't do anything is older blender versions, this should be fine.
Otherwise, just make sure that the hair strands are located outside of the mesh so that they are not stuck inside the object.
@ZedDB, just one idea (maybe it can be indicated as TODO). But all segments that by default intersect a triangle could be static and not contribute to the animation. This could solve this and possible other problems.
@mano-wii right, I think that this will come up when the new hair object type makes its way into blender.
So we can try to flesh this out more then.