Issue with rigid body and modifiers dependent on transform #58044

Closed
opened 4 years ago by MalDuffin · 47 comments
Collaborator

System Information
Windows 10, GTX1070

Blender Version
Broken: Blender 2.83
Working: Blender 2.79 ( <- Updated info )

Short description of error
When adding hair to a rigid body, the hair position doesn't update.

Exact steps for others to reproduce the error

  • In the Physics tab select rigid body
  • In the Particles tab create new Hair
  • Select Hair Dynamics
  • Play the animation.
    The ball will fall, but the hair doesn't follow it.

Have a look at the attached blend - beside the rigid body cube, I've animated a second cubes position to fall, and the hair follows it correctly
hair_particles_on_rigid_body.blend.

**System Information** Windows 10, GTX1070 **Blender Version** Broken: Blender 2.83 Working: Blender 2.79 ( <- Updated info ) **Short description of error** When adding hair to a rigid body, the hair position doesn't update. **Exact steps for others to reproduce the error** - In the Physics tab select rigid body - In the Particles tab create new Hair - Select Hair Dynamics - Play the animation. The ball will fall, but the hair doesn't follow it. Have a look at the attached blend - beside the rigid body cube, I've animated a second cubes position to fall, and the hair follows it correctly [hair_particles_on_rigid_body.blend](https://archive.blender.org/developer/F5712545/hair_particles_on_rigid_body.blend).
Poster
Collaborator

Added subscriber: @MalDuffin

Added subscriber: @MalDuffin
Collaborator

#68128 was marked as duplicate of this issue

#68128 was marked as duplicate of this issue
Collaborator

#71011 was marked as duplicate of this issue

#71011 was marked as duplicate of this issue
Collaborator

#69419 was marked as duplicate of this issue

#69419 was marked as duplicate of this issue
Collaborator

#69407 was marked as duplicate of this issue

#69407 was marked as duplicate of this issue
Collaborator

#66935 was marked as duplicate of this issue

#66935 was marked as duplicate of this issue
Collaborator

#66828 was marked as duplicate of this issue

#66828 was marked as duplicate of this issue
Collaborator

#60079 was marked as duplicate of this issue

#60079 was marked as duplicate of this issue
Collaborator

#65541 was marked as duplicate of this issue

#65541 was marked as duplicate of this issue
Collaborator

#63761 was marked as duplicate of this issue

#63761 was marked as duplicate of this issue
Poster
Collaborator

Note that, if you carry out the above steps and skip 7), the ( non-hair ) particle effects do follow the cube.

Note that, if you carry out the above steps and skip 7), the ( non-hair ) particle effects do follow the cube.
Collaborator

Added subscribers: @fclem, @Sergey, @lichtwerk

Added subscribers: @fclem, @Sergey, @lichtwerk
Collaborator

Can confirm this.
This could just be a drawing issue (e.g. if you go into Particle Editmode the hair is actually in the right spot).

Havent checked code. If this drawing only, I would kindly ask @fclem to have a look, but it might also be one for @Sergey to check

Can confirm this. This could just be a drawing issue (e.g. if you go into Particle Editmode the hair is actually in the right spot). Havent checked code. If this drawing only, I would kindly ask @fclem to have a look, but it might also be one for @Sergey to check
Poster
Collaborator

Another interesting related issue. If you replace step 4) Rigid Body with 4a) Soft Body and optionally 4b) Toggle off Goal, then the hair particles do follow the new physics position of the cube when you press play after step 8)
So, hair seems to work with Soft Body physics updates and not Rigid Body physics updates.

Another interesting related issue. If you replace step 4) Rigid Body with 4a) Soft Body and optionally 4b) Toggle off Goal, then the hair particles do follow the new physics position of the cube when you press play after step 8) So, hair seems to work with Soft Body physics updates and not Rigid Body physics updates.
Poster
Collaborator

When in particle mode...

  • Hair appears at the position of the rigid body
    , but ( if you enable hair dynamics )
  • Hair strands haven't moved, it's like they are showing the default non-simulated hair particle strand shape, rather than the actual simulated shape of the hairs.

In edit mode...

  • Hair doesn't move with the rigid body
    but
  • Hair strands do move as if they are simulated
When in particle mode... - Hair appears at the position of the rigid body , but ( if you enable hair dynamics ) - Hair strands haven't moved, it's like they are showing the default non-simulated hair particle strand shape, rather than the actual simulated shape of the hairs. In edit mode... - Hair doesn't move with the rigid body but - Hair strands do move as if they are simulated
gogo commented 4 years ago

Added subscriber: @gogo

Added subscriber: @gogo
Poster
Collaborator

@Sergey - I see you just fixed another issue with rigid bodies and particles, could you have a look at this one too?

@Sergey - I see you just fixed another issue with rigid bodies and particles, could you have a look at this one too?
Sergey self-assigned this 4 years ago
Sergey commented 4 years ago
Owner

Would need to have a closer look, but could be caused by the change in the evaluation order of rigid body, similar to #63028.

The issue here is that such setups are causing feedback loop in the system:

  • Hair is evaluated as a part of modifier stack
  • Modifier stack in this case needs to know object's world position
  • Rigid body defines the world position
  • Rigid body needs to know output of the modifier stack to perform proper collisions

This appeared to work in 2.7 better, but was always causing one frame offset during animation. Which isn't really helpful, since it causes self-intersections which are impossible to fix. Additionally, rendering motion blur becomes a huge issue in those configurations.

Would need to have a closer look, but could be caused by the change in the evaluation order of rigid body, similar to #63028. The issue here is that such setups are causing feedback loop in the system: - Hair is evaluated as a part of modifier stack - Modifier stack in this case needs to know object's world position - Rigid body defines the world position - Rigid body needs to know output of the modifier stack to perform proper collisions This appeared to work in 2.7 better, but was always causing one frame offset during animation. Which isn't really helpful, since it causes self-intersections which are impossible to fix. Additionally, rendering motion blur becomes a huge issue in those configurations.
Poster
Collaborator

Hi Sergey,

Thanks for having a look.

Hopefully it can be fixed, think of all the hairy domino simulations that need rendered! :P

Hi Sergey, Thanks for having a look. Hopefully it can be fixed, think of all the hairy domino simulations that need rendered! :P
Sergey commented 4 years ago
Owner

Added subscribers: @gase12, @ZedDB

Added subscribers: @gase12, @ZedDB
brecht commented 4 years ago
Owner

Added subscribers: @keinerweiss, @StephenSwaney, @grosgood

Added subscribers: @keinerweiss, @StephenSwaney, @grosgood
Sergey commented 4 years ago
Owner

Added subscribers: @dadou99, @sreich, @3di, @SmartySmart702, @brecht

Added subscribers: @dadou99, @sreich, @3di, @SmartySmart702, @brecht
Sergey changed title from Issue with adding hair to rigid body to Issue with rigid body and modifiers dependent on transform 4 years ago

Added subscriber: @badbytes

Added subscriber: @badbytes
3di commented 4 years ago

Just tested the release candidate and the bug is still here. Strangely it did appear to work once, with strange results, but after that it went back to only taking into account frame one of the rigid body simulation.

Just tested the release candidate and the bug is still here. Strangely it did appear to work once, with strange results, but after that it went back to only taking into account frame one of the rigid body simulation.
Sergey commented 4 years ago
Owner

Added subscriber: @jricardo_rr

Added subscriber: @jricardo_rr
3di commented 4 years ago

Guys, the entire physics system is broken, has this accidentally been overlooked? Really surprised 2.8 was released without this being fixed first.

check the file below which shows how this affects all interactions (not just hair).

physics broken.blend

Guys, the entire physics system is broken, has this accidentally been overlooked? Really surprised 2.8 was released without this being fixed first. check the file below which shows how this affects all interactions (not just hair). [physics broken.blend](https://archive.blender.org/developer/F7639303/physics_broken.blend)
brecht commented 4 years ago
Owner

Please leave setting priorities to developers.

Please leave setting priorities to developers.
3di commented 4 years ago

In #58044#740558, @brecht wrote:
Please leave setting priorities to developers.

OK Sorry, I just assumed the physics system no longer functioning would have been enough to warrant a 2.8 release delay, so I just wanted it to get immediate attention as I presumed this must have been lost in all of the bug reports over the past couple of months.

> In #58044#740558, @brecht wrote: > Please leave setting priorities to developers. OK Sorry, I just assumed the physics system no longer functioning would have been enough to warrant a 2.8 release delay, so I just wanted it to get immediate attention as I presumed this must have been lost in all of the bug reports over the past couple of months.

Added subscriber: @zakleap

Added subscriber: @zakleap

Constraints are also ignored by rigid body physics. Animations have been greatly restricted by the lack of physics capability.

Constraints are also ignored by rigid body physics. Animations have been greatly restricted by the lack of physics capability.
Collaborator

I will dare raising this to High.

@brecht, @Sergey: shouldnt we try tackling this for 2.81?
(just correct me if I am wrong though...)

I will dare raising this to High. @brecht, @Sergey: shouldnt we try tackling this for 2.81? (just correct me if I am wrong though...)
fclem commented 4 years ago
Collaborator

Removed subscriber: @fclem

Removed subscriber: @fclem
Sergey commented 3 years ago
Owner

Added subscriber: @EricBu

Added subscriber: @EricBu
Collaborator

Added subscriber: @Eary

Added subscriber: @Eary
Eary commented 3 years ago

I posted another similar post before being led to this one, I figured that after you do all the steps, don't play the animation yet, save the project, and close blender. Delete the .blend1 file beside the .blend file, the open it up again, and play the animation, the hair particles are now following the cube.

Base on that, I believe this has something to do with the .blend1 file. I am not a programmer, I don't know what the .blend1 file is, but I guess it is some kind of cache file. My theory is that although blender understands the hair should be following, the cache file (.blend1 file) is not updated, therefore the hair particles don't follow the cube as they should.

I posted another similar post before being led to this one, I figured that after you do all the steps, don't play the animation yet, save the project, and close blender. Delete the .blend1 file beside the .blend file, the open it up again, and play the animation, the hair particles are now following the cube. Base on that, I believe this has something to do with the .blend1 file. I am not a programmer, I don't know what the .blend1 file is, but I guess it is some kind of cache file. My theory is that although blender understands the hair should be following, the cache file (.blend1 file) is not updated, therefore the hair particles don't follow the cube as they should.

Added subscriber: @davis095381-2

Added subscriber: @davis095381-2

In #58044#768622, @Eary wrote:
I posted another similar post before being led to this one, I figured that after you do all the steps, don't play the animation yet, save the project, and close blender. Delete the .blend1 file beside the .blend file, the open it up again, and play the animation, the hair particles are now following the cube.

Try again and reopen blender without deleting .blend1 file, because .blend1 file is just a backup of the saved .blend file.

> In #58044#768622, @Eary wrote: > I posted another similar post before being led to this one, I figured that after you do all the steps, don't play the animation yet, save the project, and close blender. Delete the .blend1 file beside the .blend file, the open it up again, and play the animation, the hair particles are now following the cube. > Try again and reopen blender without deleting .blend1 file, because .blend1 file is just a backup of the saved .blend file.
Eary commented 3 years ago

In #58044#768697, @davis095381-2 wrote:

In #58044#768622, @Eary wrote:
I posted another similar post before being led to this one, I figured that after you do all the steps, don't play the animation yet, save the project, and close blender. Delete the .blend1 file beside the .blend file, the open it up again, and play the animation, the hair particles are now following the cube.

Try again and reopen blender without deleting .blend1 file, because .blend1 file is just a backup of the saved .blend file.

You are right, I tried it just now and it worked, perhaps it's not the .blend1 file, it is some kind of other problem. It is still the case though, that something is not updated, reloading Blender just refreshes it.

By the way, in order for it to work, set the shape to Mesh and set the source to Base under the "Collision" settings of the Rigid Body tab. I mentioned this in my post, which is closed now, it doesn't seem to be mentioned right here.

> In #58044#768697, @davis095381-2 wrote: >> In #58044#768622, @Eary wrote: >> I posted another similar post before being led to this one, I figured that after you do all the steps, don't play the animation yet, save the project, and close blender. Delete the .blend1 file beside the .blend file, the open it up again, and play the animation, the hair particles are now following the cube. >> > > Try again and reopen blender without deleting .blend1 file, because .blend1 file is just a backup of the saved .blend file. You are right, I tried it just now and it worked, perhaps it's not the .blend1 file, it is some kind of other problem. It is still the case though, that something is not updated, reloading Blender just refreshes it. By the way, in order for it to work, set the shape to Mesh and set the source to Base under the "Collision" settings of the Rigid Body tab. I mentioned this in my post, which is closed now, it doesn't seem to be mentioned right here.
Collaborator

@Sergey : I have added this to 2.81 milestone (since it was set to "High"), mind checking again?

@Sergey : I have added this to 2.81 milestone (since it was set to "High"), mind checking again?
fraetz commented 3 years ago

Added subscriber: @fraetz

Added subscriber: @fraetz
Sergey was unassigned by brecht 3 years ago
brecht commented 3 years ago
Owner

This needs bigger design changes to the dependency graph and physics, and while it would be good if we can, it is not a requirement to be fixed for 2.81.

This needs bigger design changes to the dependency graph and physics, and while it would be good if we can, it is not a requirement to be fixed for 2.81.

Added subscriber: @Hookflash

Added subscriber: @Hookflash

Added subscriber: @vr_sebas

Added subscriber: @vr_sebas
EAW commented 3 years ago

Added subscriber: @EAW

Added subscriber: @EAW
Collaborator

Added subscriber: @RodDavis

Added subscriber: @RodDavis
Sergey commented 3 years ago
Owner
Added subscribers: @sangwook71, @mano-wii, @LucaRood-3, @JacquesLucke
Collaborator

Closed as duplicate of #77685

Closed as duplicate of #77685
mano-wii closed this issue 3 years ago
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/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
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/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
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
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
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 & Devices
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 Information 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
17 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#58044
Loading…
There is no content yet.