10
$\begingroup$

I have a big scene that I partly created using rigid body physics. I am happy with the objects now and I applied the visual transform, but I don't know a way to remove all the physics from this system now.

Joining the meshes sounds kind of a wrong "hacky" way to do it. In some situations joining meshes would be quite bad idea, because it would destroy your parentings and all that plausible other stuff that could be messed up with that method.

I can also make all the meshes passive simultaneously by holding ALT while doing it, but it doesn't remove the rigid body setting completely. If I try that same ALT clicking for the "rigid body" button, it doesn't do it for all the selected objects, only from the active.

So what is the correct way to remove rigid body physics from all the objects after you have applied the visual transform from them?

$\endgroup$
1
  • $\begingroup$ I found out that there is in scene properties the "rigid body world" checkbox which I can disable. It doesn't remove the rigid body settings from the objects, but I think it disables the rigid body functionality from the scene. $\endgroup$
    – Artturi
    Commented May 31, 2020 at 2:48

3 Answers 3

7
$\begingroup$

If you used rigid bodies and simulated to a point where you are happy with the positions, you can do the following:

  1. Select all corresponding objects that are part of the rigid body simulation.
  2. Press Ctrl+A Visual Transform
    enter image description here
    This will apply the objects visual transformation to it's data
  3. Now you can essentially go to frame 1 and the objects will still be at the place you applied the Visual Transform.
  4. With all related objects still selected, go in the Object Menu and under Rigid Body select the Remove, to remove the rigid body setting from all the selected objects.

After this is done, you have a still scene of the frame at which you applied the Visual Transform and the objects are no longer part of the simulation/Rigid Body World.

UPDATE:
A little demonstration using Blender 2.9, tested with 2.83 as well:
enter image description here

I'm aware that the question based on the visual transform already applied, but i included it, to have a complete solution for eventually others with similar situation.

$\endgroup$
2
  • $\begingroup$ Hi, this doesn't seem to work. Applying Visual Transform in step 1 doesn't seem to do anything at all regardless of what objects are selected. Scrubbing the frame slider back to frame 1 reverses the simulation. Removing the rigid body simulation at this point leaves you in the same state as before the simulation was run. $\endgroup$ Commented Aug 4, 2020 at 22:10
  • $\begingroup$ Updated the answer with a visual demonstration showing the steps and proof of it working. I made sure it worked in Blender 2.83 as well, since i used Blender 2.9 first. $\endgroup$
    – Xylvier
    Commented Aug 6, 2020 at 13:24
4
$\begingroup$

Select rigid body objects run remove operator.

An object is a rigid body if it has a rigid_body property that is not None

is_rigid_body = ob.rigid_body is not None

See Select Active Rigid Body Parts

Script that selects objects if they are a rigid body of a certain type. Once selected running

bpy.ops.rigidbody.objects_remove()

Will remove the rigid body settings of selected rigid bodies.

Disable the rigid body world

As commented can disable rigid body world. Cam temporarily disable via

scene.rigidbody_world.enabled = False
$\endgroup$
0
$\begingroup$

The following worked for me and I did it 5 minutes ago (apologies to everyone if I am just too thick to understand you):

  1. Run your simulation (hit the "play" button) and pause it when you are happy with how it looks.

  2. Select AT LEAST the objects whose state you want to save. Other rigid bodies don't matter. Go to Object --> Rigid Body --> Apply Transformation.

DO NOT MOVE THE PLAY HEAD!

  1. Go into the Scene tab (on the right) and first UNHECK the box that says Rigid Body World. THEN hit the button directly below it that says Remove Rigid Body World. This removes the rigid body constraint from everything in the scene. You might be fine only removing the rigid body constraints from the selected objects. That is supposed to be done via Object --> Rigid Body --> Remove but I messed up so many times before this while trying that, I was just happy to be done this way.
$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .