# How to start imported Alembic animation at a specific frame

How to? Imported .abc file starts at frame 1. I want it to start later.

• Almost a duplicate. Related: blender.stackexchange.com/a/78701/30849 – Leander May 8 '17 at 11:02
• I'm having a hard time getting it to work. After inserting the line in the Frame property the animation doesn't animate at all. Could you please explain that expression to me? My programming language skills are nonexistent. – mikez May 8 '17 at 21:32
• EDIT: OK, I get it now, it is literally about setting the frames. No expressions needed. Thanks! – mikez May 8 '17 at 21:38
• Added an answer for future reference. Also included some information about a possible alternate expression. – Leander May 9 '17 at 8:38

Once you imported an Alembic Cache, the object in Blender will have an Alembic Cache Constraint.

1. Check Override Frame.
2. Go to your desired starting frame. Type 1 in the Frame property. Hover over the property and press I to set a key. Set a key on the next frame with the value of 2. In the Graph Editor, press ShiftE and select Linear Extrapolation. Then select the first keyframe, press T and make it a constant key.

# Using a python expression

Type the following expression in the frame property:

#(1 - round((frame - frame_offset)%0.99999)) * (frame - frame_offset) + frame_hold


Replace frame_offset with the desired starting frame. Replace frame_hold with the frame which is held before the starting frame. frame doesn't change, it is a python variable holding the current frame number.

Example. To achieve the following:

Frame     Calculated
11        2   |
12        2   |  The frame held before is no 2.
13        2   |
14        2   |
15        2   < This is the starting frame (15).
16        3
17        4
18        5
19        6
20        7


The expression would be:

#(1 - round((frame - 15)%0.99999)) * (frame - 15) + 2