2
$\begingroup$

I've been trying to make a wrecking ball smash through a figure of sorts, not really sure what exactly but I made an example.

The problem I'm having is that the figure does indeed fall apart, but I would like it to stay put together until the ball hits it. I achieved this by using Cell Fracture on the figure and just using Rigid Body. Again, I just need a way for the figure to stay still until hit by the ball, and then have all of its pieces come apart.

enter image description here

$\endgroup$
1

1 Answer 1

2
$\begingroup$

If you are running a single simulation,

Keyframe the Rigid Body World Speed.

  1. This is the simulation starting from frame 1.
    enter image description here
  2. Go to frame 1 and keyframe the Speed property of the Rigid Body World to 0.
    Keyframe it to 1 (or any other) on the desired starting frame.
    enter image description here
  3. Set the keyframe interpolation to constant.
    enter image description here

The resulting simulation won't move untill the desired starting frame. (It moves with a speed of 0.)

enter image description here

Keyframe the Animated property

If you only want some objects to start simulating on a specific frame use the Animated option on these objects (as suggested by Mr Zak) as explained in this answer.

Setting and keying the animated property for each object individually may be tedious. Use this script.

import bpy

# get the current frame
fr = bpy.context.scene.frame_current

# get the selected objects
objs = bpy.context.selected_objects

# cycle through the selected objects
for o in objs:

    # set the "Animated" property to unchecked
    # change "False" to "True" if you want to check it
    o.rigid_body.kinematic = False

    # keyframe the "Animated" property
    o.rigid_body.keyframe_insert(data_path='kinematic', frame=(fr))

Paste the code into Blenders text editor. Move to a frame where the objects should remain stationary. Select them and (hovering over the text editor) press AltP to execute the script. The selected objects will now have a keyframe on the "Animated" Property of their rigid body.

$\endgroup$
6
  • $\begingroup$ I was following your steps and ran into a new problem, and it's my fault for not specifying. When making the speed 0 it also freezes the wrecking ball because it to is using rigid body. I also attempted to make a sphere similar to what you did, and can't get the sphere to interact with my object, what physics need to be applied to the sphere to interact with the object that's going to be shattered? $\endgroup$ Commented Feb 19, 2017 at 20:24
  • $\begingroup$ @ketchupboy2002 I updated the answer with more information. Concerning the interaction between objects, you should post a new question as it differs from this topic. $\endgroup$
    – Leander
    Commented Feb 20, 2017 at 7:50
  • $\begingroup$ I'm not sure if this is worth creating a new post over but if you think so, I'll definitely make another (Referring to what I'm about to ask), but how do I insert a keyframe for the scene? Specifically for the speed of the Rigid Body World. (Through pressing 'I', I can't seem to find anything) $\endgroup$ Commented Feb 20, 2017 at 20:17
  • $\begingroup$ Hover over the checkbox where it says "Animated". Then press "I". Or use the script. You can view created keyframes in the dopesheet. $\endgroup$
    – Leander
    Commented Feb 20, 2017 at 20:23
  • 1
    $\begingroup$ @p2or Haha, thanks. $\endgroup$
    – Leander
    Commented Feb 20, 2021 at 19:20

You must log in to answer this question.

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