Page MenuHome

Setting RigidBodyCollection to a new Collection sets all children to Dynamic/Active
Closed, InvalidPublic

Description

System Information
Operating system: MacOS 10.13.6
Graphics card: NVIDIA GeForce GT 750M 2048 MB

Blender Version
Broken: (example: 2.80, edbf15d3c044, master, 2018-11-28, as found on the splash screen)
Worked: (optional)

Short description of error
Setting RigidBodyCollection to a new Collection sets all children to Dynamic/Active

Exact steps for others to reproduce the error

  1. Add a floor and several cubes
  2. Check that they collide as usual
  3. Create a Collection that has an assortment of objects with RigidBodies and No RigidBodies. set some of the rigidBodies to Passive.
  4. Under Scene tab, select Remove Rigid Body World
  5. Add it again and select the a Collection you made with Physics objects.
  6. All the RigidBodies are now set to Dynamic Active.

Details

Type
Bug

Event Timeline

Philipp Oeser (lichtwerk) closed this task as Invalid.
Philipp Oeser (lichtwerk) claimed this task.

As stated in T64877, this is true for all (EDIT: not all, some) Physics types and these are not just disabled, but removed.

They are then added a default type again (in the situation you described: adding the previous collection to the Rigid Body World again).

Pretty sure this is not a bug, closing [unless @Brecht Van Lommel (brecht) or @Sergey Sharybin (sergey) have objections...]

The big issue here though is that it sets EVERYTHING to default Dynamic/Active and resets mass. Even if it already had a rigidbody. So you lose everything you set up already.

Problem is Removing the Ridgid Body World in the first place [which in turn removes the ridgid bodies from the objects].
If you want to keep the ridgid body settings (but for some reason wont those object not to participate in the simulation), why not move the objects to a different collection [not the RidgidBodyWorld one]?

This is what collections are for. I cant think of a situation where this would fail, if you have one, feel free to present it here.

Have a decent play with the removing and adding, cause it produces different results all the time.

From a fresh scene, just now, if I add 3 objects with Passive, their rigidBodies are NOT removed when removing the RigidBodyWorld with the collection set.
But after adding a few more objects with no rigidBody set, now removing the RigidBodyWorld would delete the rigidBodies.

This may be related to the general corruption that removing the RigidBodyWorld has on the scene. https://developer.blender.org/T64877

Still not sure if I understand correctly:

  • I never push the button Remove Rigid Body World (if I want no simulation at all, I disable the checkbox on the Rigid Body World tab)
  • I dont touch the collection in the Rigid Body World tab [it stays RigidBodyWorld]
  • If I want to keep the ridgid body settings on objects but dont want them to participate in the simulation I move them out of the RigidBodyWorld collection (to a new one e.g. named "RidgidBodyWorld_no_sim") and unlink the objects from the RigidBodyWorld collection [this can be seen best if you put your Outliner in Blender File mode and inspect collections there]
  • then, to put them back in the simulation, I link them again to the RigidBodyWorld collection

Does this fail for you?

That should work fine, yes.

But the corruption that occurs is the core issue really. But that is covered in the other ticket.

The issue I had began because I was getting corrupt scenes with weird physics behaviour in the physics cache. And there isn't a button to clear the physics cache. You can clear the bake, but not the cache. Forum posts suggested to press Remove RigidBodyWorld and add it again to clean up the scene.
But then that turns out to be even more corrupting!

I get that it works in the exact prescribed way you mentioned, but it needs to be more stable than, "use it in the exact way only the devs know". I will use like that in future.
I'm just trying to note where I was able to break the app. And the physics in general in the beta seems like it needs some stress testing.