Keyframe Animation for SketchUp

User Guide
Keyframe Animation 1.9

Toolbar Overview

Keyframe Animation has all of the features conveniently located on the toolbar to facilitate your workflow.

Toolbar Overview
Play ButtonPlay Animation
Turns the animation on so objects move when a scene is selected.
Pause ButtonPause Animation
Turns the animation off so objects don't move when a scene is selected.
Record ButtonRecord Position Data
Records the position data of objects for the current scene.
Delete ButtonErase Position Data
Deletes all of the position data for each selected object. Mainly useful if you want to make a previously animated object stationary. (Enabled only if an object is selected.)
Settings ButtonScene Settings
Toggles display of the Scene Settings dialog where you can assign the transition time and delay time for all the scenes.
Tweens ButtonMake Tweens
Opens a new model and generates SketchUp scenes, called tweens, that interpolate the animation in between the key frames. The tweens are used for exporting your animation to a movie directly from SketchUp.
Undo Tweens ButtonUndo Tweens
Undo the tweens by restoring the original key frame model. (Enabled only in the tweens model.)
User Guide ButtonHelp
Opens up the User Guide (the page you are viewing now) in your browser.

Menu Overview

The menu is at Plugins > Keyframe Animation, or Extensions > Keyframe Animation, depending on your version SketchUp. All the workflow features accessible from the toolbar are also accesible from the menu. The other items on the menu are:

Toggles the toolbar visibility. You can also access the toolbar from View > Toolbars > Keyframe Animation.
Opens a dialog that displays your version of Keyframe Animation, and other details about your computer, free trial status, and license status. The About dialog also has a convenient interface that allows you to add or remove a license.
This opens the Keyframe Animation Download page in your browser. Useful if you want to upgrade to the newest version.
This opens the Keyframe Animation Purchase page in your browser. This item is not shown if a license has been registered.
This opens the Keyframe Animation About dialog where you can register a license serial number. This item is not shown if a license has been registered already.
tip iconTip: Mac Toolbar Issues
If you are on a Mac, there is a frequent issue with the toolbar buttons not showing the state correctly. Better to use the menu items. Then it is easy to tell if the animation is turned on or off. A checkmark next to the menu item shows if Play or Pause is the active state.

Creating an Animation

Step 1 - Group Geometry

First of all, convert any geometry that you want to animate into groups or components. Ungrouped geometry can not be animated. You can check what type something is using the Entity Info dialog box (right-click > Entity Info).

Since we don't really care whether something is a group or a component, we will refer to them generically as objects.

Step 2 - Add Scenes

Add some scenes. You can use the Scenes Manager for this (Window > Scenes). Each scene is essentially a key frame.

You can add more scenes later, rename them, delete them, or even change the order. To run an animation in reverse, just reverse the order of the scenes.

If you want to animate the camera, check the Camera Location box for each scene.

Currently, the only scene properties that are supported are Camera Location and Visible Layers. The other properties are ignored when the tweens are generated. We hope to add support for these other properties in version 1.10.

It is important to use the Perspective camera, and NOT a Parallel Projection camera. The tweens do not support the Parallel Projection camera. We hope to add support for the Parallel Projection camera in version 1.10. See the tip below for a workaround.

tip iconTip: Camera Animation
If you are creating an animation where the camera does not move, leave the Camera Location box on each scene unchecked. This way, if you want to change the angle you view the animation from, you change it on-the-fly, for all the scenes at once, without having to update the Camera Location property on each scene.
tip iconTip: Parallel Projection Camera Workaround
Currently, only the Perspective camera is supported. You can approximate a Parallel Projection camera by using a Perspective camera with a very narrow Field of View. For example, if the FOV is only 1 degree, the view will be practically identical to an Orthoganol (Parallel) Projection.

Step 3 - Select a Scene

Select the first scene by clicking on the scene tab. From here on, whichever scene is selected will be referred to as the current scene.

Step 4 - Position Objects

Now use the Move Tool , the Rotation Tool , or the Scale Tool , to position and/or resize the objects on the current scene.

Step 5 - Record Position Data

Click the Record button Record Button on the toolbar to save the position data for the objects on the current scene. It doesn't make any difference whether the Play button or the Pause button is currently selected. The bell will beep to indicate that the position data was recorded.

tip iconTip: Mac Bell Sound Issue
People have complained that the "bell" on the Mac sounds like the "you just did something wrong, stupid" sound. But, if you hear anything at all, that means the position data was recorded -- no matter how bad the sound is.

If nothing is selected, then all the top-level objects will be recorded. "Top-level" means the objects in the active context, in other words, the objects that you can move, rotate, and scale -- not the subgroups and subcomponents that those objects contain. In version 1.10, we will probably discontinue this approach in favor of the alternative approach described next.

If you want to have more control over which objects are recorded, then select them first. If any objects are selected, then only those objects will be recorded. In version 1.10, this will probably be the only way to record position data.

Record overwrites the old position data. To revise an animation, just move the objects to new positions and click record.

The Erase button Delete Button on the toolbar is sort of the opposite of record. You must select the object(s) first. Click the erase button. This deletes the position data for the selected objects on all scenes (not just the current one). This is mainly useful if you want to make an object stationary.

Step 6 - Repeat for each Scene

OK, that is the basic workflow. Just repeat steps 3, 4, and 5 for each scene.

When rotating an object, keep in mind that the rotation needs to be less than 180 degrees. If it is greater, then the object will be interpolated through the smaller angle in the opposite direction. If the angle is exactly 180 degrees, the direction is ambiguous, and it could go either way.

Rotations and translations can not be combined, in general. However, if you rotate an object and translate it parallel to the axis of rotation, then Keyframe Animation will interpolate it correctly. For any other case, it is possible to combine a translation with a rotation by using Animated Subgroups and Subcomponents.

You can scale and translate an object at the same time. Keyframe Animation will always interpolate this correctly.

A rotation and a scaling can not be combined, in general. However, if the point you rotate about is the same as the point you scale about, then Keyframe Animation will interpolate it correctly. For any other case, it is possible to combine a scaling with a rotation by using Animated Subgroups and Subcomponents.

tip iconBug: Scaling Restriction
When scaling an object, you can shrink it down to almost zero. But if you go past that, the scale becomes a reflection or an inversion. Currently, this is buggy. We hope to add support for reflections and inversions in version 1.10.
tip iconBug: Reflections
SketchUp allows you to reflect an object by flipping it along the red, green, or blue axis. This option can be selected from the context menu. Currently, the script can not interpolate between the object and a reflection of the object. You must use the protractor (rotation tool) to orient the object between keyframes. We hope to add support for reflections in version 1.10.

Step 7: Watch the Animation

To turn object animation on, click the Play button Play Button on the toolbar. When a scene is selected, the objects will automatically move to their recorded positions for that scene.

To turn the animation off, click the Pause button Pause Button on the toolbar. The objects will remain stationary when you select a scene.

You can run the whole animation from start to finish by selecting View > Animation > Play.

tip iconTip: Why don't my objects move?
It is a frequent complaint that the objects don't move. The most likely reason is that the animation is turned off. Object animation is turned off by default when SketchUp opens. You have to turn it on by clicking the Play button (or by selecting Play from the Keyframe Animation menu).

Step 8: Set Scene Transition Time and Delay Times

Click the Scene Settings button Settings Button on the toolbar to display the Scene Settings dialog. This allows you to fine tune your animation by specifying a value for both the transition time and delay time of each scene.

The transition time is the time it takes for the animated objects to move to their recorded positions when the scene is selected. The time is in seconds. A negative value will use the default transition time.

The delay time is the amount of time the animation will wait before beginning the transition to the next scene. The time is in seconds. A negative value will use the default delay time.

There is also a setting for the frame rate, which determines how many tweens are generated for each second of animation time. See the section on "Export a Movie" for more details.

All settings are saved as soon as the textbox loses focus. The bell will beep to indicate the value changed.

Animated Subgroups and Subcomponents

Keyframe Animation allows you to animate subgroups (or subcomponents) to any depth. Subgroups (subcomponents) move relative to their parent. They inherit their parent's motion, and then apply their own movement relative to it. This allows you to compose translations, rotations, and scaling operations, in order to create more complex types of motion.

To record a subgroup (subcomponent), select it first, then click the record button. Usually, the easiest way to select a nested object is with Outliner. The other way is to open the objects that contain it by successively double-clicking on them, until you can select the nested object. If nothing is selected when you click record, then the position data for all the subgroups (subcomponents) in the open parent object is recorded.

Animating Object Visibility

Objects can be made visible or hidden by putting them on layers, and then turning those layers on or off for each key frame. To do this, use the SU Scenes Manager, and check the Visible Layers checkbox to store the visible layers with the scene. Then update the scene to save the current visibility status of all the layers. This allows you to make objects appear or disappear at any point in the animation. The tweens generate the objects with the same visibility that they had on the key frames, so the animation can be exported to a movie.

Export a Movie

Once you have your animation all set up, you may want to export it to a movie, or to a sequence of images. SketchUp has a built-in animation export utility. Unfortunately, it only exports the camera animation, and ignores the object animation. However, Keyframe Animation has a workaround that solves this shortcoming. It creates many scenes in between the key frames, with copies of the animated objects (and camera) interpolated between their key frame positions. The in between scenes are called tweens for short. They can be generated for any frame rate (e.g. 10, 15, 25 frames per second). These tweens can export the object animation, one movie frame per tween, directly from SketchUp.

tip iconTip: Limited Support for Scene Properties
The tweens do not support all the properties that can be saved with each scene. The scene properties that the tweens do support are: Camera Location, and Layer Visibility. We anticipate adding support for the other scene properties in version 1.10.

First, set a frame rate. It is in the Scene Settings dialog. The frame rate specifies how many tweens will be created for each second of transition time or delay time. The higher the frame rate, the smoother the interpolation.

To generate the tweens, click the Make Tweens button Tweens Button on the toolbar.

tip iconTip: Export the Animation in Parts
Before the tweens are generated, a message box will display the number of tweens that it is about to create. If the number is greater than 1200-1500 tweens, you should definitely cancel the operation. It will slowdown SketchUp to a crawl, and possibly crash it. Larger animations need to be broken up and exported in parts.

Since there are usually hundreds of tween scenes, it might take a minute or two generate all of them.

The tweens will be created in a new model. A dialog box will prompt you for a name and location to save the Tweens model. The default name is your key frame model name with ".tweens" appended to it.

Click the Undo Tweens button Undo Tweens Button on the toolbar, if you want to return to the original key frame model and make some adjustments. It doesn't really undo the tweens; they are in a separate model, which you can save before you leave. This just restores the original Keyframe model, so you can start over again where you left off.

Now run the SketchUp export utility to turn your tweens into an AVI movie on Windows, or a QuickTime movie on the Mac. Each tween will become one frame in the movie. The menu item is, File > Export > Animation. This brings up a Save As dialog box.

Notice the Export Type drop-down list. If you would rather export the animation as a sequence of images, then select .png or .jpg from the list, rather than .avi.

Be sure to click the Options button first. That will open the Options Dialog shown at the right.

Here are some things to note.

That's it. Click OK and Export and go grab a cup of coffee while SketchUp generates the video of your animation.