Page MenuHome

Issue with rigid body and modifiers dependent on transform
Open, Confirmed, MediumPublic

Description

System Information
Windows 10, GTX1070

Blender Version
Broken: Blender 2.80 Alpha 2 0c8b0771f26
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

  1. Create a new scene
  2. Select the default cube
  3. Open the Physics tab
  4. Select rigid body
  5. Open the Particles tab
  6. Select New
  7. Select Hair
  8. 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{F5712545}.

Details

Type
Bug

Event Timeline

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

Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

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 @Clément Foucault (fclem) to have a look, but it might also be one for @Sergey Sharybin (sergey) to check

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.

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

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

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

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.

Hi Sergey,

Thanks for having a look.

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

Sergey Sharybin (sergey) renamed this task from Issue with adding hair to rigid body to Issue with rigid body and modifiers dependent on transform.

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.

michael campbell (3di) raised the priority of this task from Confirmed, Medium to Unbreak Now!.EditedJul 31 2019, 11:44 AM

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

Brecht Van Lommel (brecht) lowered the priority of this task from Unbreak Now! to Confirmed, Medium.Jul 31 2019, 11:46 AM

Please leave setting priorities to developers.

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.

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

Philipp Oeser (lichtwerk) raised the priority of this task from Confirmed, Medium to Confirmed, High.

I will dare raising this to High.

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

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.

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

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.

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

Brecht Van Lommel (brecht) removed Sergey Sharybin (sergey) as the assignee of this task.
Brecht Van Lommel (brecht) lowered the priority of this task from Confirmed, High to Confirmed, Medium.

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.