21
$\begingroup$

Let's say I set up a Rigid Body simulation in Blender (not in GE), and then run the simulation for a number of frames. Is there a way to tell Blender to use the current state and position as the initial state? So that when I go back to frame 1, the rigid bodies stay in the same place they did in frame X.

For instance, if I want a pile of bricks, I first place the bricks in the air and then let them drop down on the ground, coming to rest. When they have come to rest, I want to use that position as the starting position.

$\endgroup$

3 Answers 3

15
$\begingroup$

Use the "Apply Visual Transform" operator. You can find it in the "Apply" submenu of the "Object" menu in the 3D view header or by pressing ctrl+a.
This way you don't need to bake the simulation and don't loose the rigid body settings.

$\endgroup$
0
10
$\begingroup$
  1. Select all the rigid bodies and choose 'Bake To Keyframes' from the 'Rigid Body Tools' panel.

    For v2.8 use the menu Object > Rigid Body > Bake to Keyframe enter image description here

  2. Set both the 'Start Frame' and 'End Frame' values to be the frame number that you want to be the new start position, e.g. you may want frame 20 of the simulation to be the new starting position, so 20 is the frame number to use.

  3. Via the 'Dope Sheet' delete all the keyframes that have just been created for the rigid bodies.

This will remove all the rigid body settings and will create 1 keyframe per object to store the object's position at the desired frame. You can then delete this keyframe and the object will stay at that position.

New rigid body settings will then have to be applied to the objects to start a new rigid body simulation.

$\endgroup$
8
$\begingroup$

For 2.8 use the menu

Object>Rigid Body>Apply Transformation

enter image description here

An Apply Transformation button was added to the Physics tab of the tool shelf in 2.70.

enter image description here

This will do pretty much the same thing as Apply Visual Transform as in sergof's answer, but I thought I'd mention it anyway.

$\endgroup$
0

You must log in to answer this question.

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