Adding objects in mid-animation

I’d like to have several objects come into existence during an animation. I want them to not be there in frame 240 and then be there in frame 241, or something like that. The idea is to have them suddenly be there behind four other square objects that have just come together to make one large square, and then move forward through the one large square into visibility.

I looked at keyframe options and didn’t know if anything there would work. I also wonder if I need to do something with layers - about which I know nearly nothing.

Help?

TIA! :slight_smile:

I’ve done this before, but can’t remember all the details. This may help:
http://wiki.blender.org/index.php/Manual/Object_Layer_Animation

I haven’t read the whole thing, but that looks like exactly what I was looking for.

Thanks a bunch!!! :D:D:D

Rats!! I don’t seem to be able to follow this tutorial. I’m not able to get a keyframe inserted after moving an object to the 2nd layer. I’m stuck at the point where I need to do this part of the tutorial:

Now, here’s a slight glitch; you cannot add a Layer Key because the object is on an unselected layer. So, temporarily enable that layer by shift-selecting it from the 20 Layer buttons, Insert another Layer key, and then de-select the undesired layer.
I don’t seem able to move the object only to the 2nd layer and set the layer key. :frowning:

I’m using Blender 2.46 and 2.47.

I haven’t looked at that tutorial, but here’s the basic process… Let’s assume your “visible layer” is layer 1 and the “hidden layer” is layer 11 (directly below it). It goes something like this:

  • Enable both layers 1 and 11 (press 1 and Shift+Alt+1… not on the numpad, but the numbers at the top of your keys).
  • Move your object to layer 11 (M -> Alt+1)
  • Insert a layer key (I -> Layer)
  • Go forward one frame (RightArrow)
  • Move your object to layer 1 (M -> 1)
  • Insert a layer key (I -> Layer)
  • Disable layer 11 (Shift+Alt+1)
  • Now when you scrub along the timeline, your object should appear and disappear on cue.

If I have multiple objects to move to the ‘hidden’ layer, can I simply select all of them and follow this process?

So far, this has failed, but one or two object(s) has the layer animation working.

I have 15 objects to move to another layer this way, but they seem not to be moving all at once even though I have them all selected when I do the move. Am I missing something?

[Edit] Okay, I found the Layer buttons at the bottom of the 3D View window and got it all figured out. I noticed it reflects changes I make with the M and number commands. Sweet.

Thanks for the help Fweeb!! Got it sorted! :D:D:D

I wish to have objects being consecutively added to the timeline, not simply showing/hidding.
I am willing to script a growing organism.

this is the code i have been working on:

import bpy

bpy.ops.object.select_all(action=‘SELECT’)
bpy.ops.object.delete(use_global=False, confirm=False)

#bpy.context.scene.tool_settings.use_keyframe_insert_auto = True

#EMBRYO
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, location=(0, 0, 0))
bpy.context.object.name = “cell”

bpy.ops.transform.rotate(value=3.14159, orient_axis=‘Z’, orient_type=‘VIEW’, orient_matrix=((-1, -0, 0), (0, 1.34359e-07, -1), (-0, 1, 1.34359e-07)), orient_matrix_type=‘VIEW’, mirror=True, use_proportional_edit=False, proportional_edit_falloff=‘SMOOTH’, proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

bpy.context.scene.cursor.location = (0.0, 0.0, 0.0)

#divisao vertical
for i in range(10):
bpy.context.scene.cursor.location = (0.0, 0.0, 0.0)
x = bpy.ops.mesh.primitive_cube_add()
bpy.ops.transform.resize(value=(2, 2, 0.01))
bpy.ops.transform.translate(value=(0, 0, i))
bpy.context.view_layer.objects.active = bpy.data.objects[‘cell’]
bpy.ops.object.modifier_add(type=‘BOOLEAN’)
bpy.context.object.modifiers[“Boolean”].object = bpy.data.objects[“Cube”]
bpy.context.object.modifiers[“Boolean”].operation = ‘DIFFERENCE’
bpy.ops.object.modifier_apply(apply_as=‘DATA’, modifier=“Boolean”)
bpy.context.view_layer.objects.active = bpy.data.objects[‘cell’]
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.separate(type=‘LOOSE’)
bpy.ops.object.editmode_toggle()
bpy.context.object.name = “cell”
bpy.ops.object.select_all(action=‘DESELECT’)
bpy.data.objects[‘Cube’].select_set(True)
bpy.ops.object.delete()
bpy.data.objects[‘cell’].select_set(True)
bpy.context.scene.cursor.location = (0.0, 0.0, i)
bpy.ops.object.origin_set(type=‘ORIGIN_CURSOR’, center=‘MEDIAN’)
bpy.ops.transform.resize(value=(1, 1, 2))
bpy.context.scene.frame_current = (i+1)*10 # I wish here to have the object being added to the timeline