Camera Control - Keyframes

A camera path is made up of a sequence of keyframes. A keyframe stores the viewer position, orientation, and time.

The following figure shows a camera path, in red, that contains keyframes. Each keyframe contains a keyframe point (in white) and either one (for an end keyframe) or two yellow control points.

A keyframe contains:

  • A keyframe point. Use to create the camera path. The virtual camera travels from keyframe point to keyframe point as the scenario is animated. Keyframe points are displayed by default as white points. When a keyframe point is selected, it is displayed in green.
  • Control points. Use to control the shape of a curve on the camera path. The virtual camera does not travel through the control points. Control points are displayed by default as yellow points.
  • Orientation vectors. Use to control where the camera is pointing and the tilt of the camera for a particular position keyframe. There are three vectors:
    • Red vector (view vector). Controls where the camera is pointing.
    • Blue vector (up vector). Controls which way the camera is tilted.
    • Green vector (left vector). The green vector is the cross product of the blue and red vectors; that is, it is derived by the right-hand rule.

By default, the orientation vectors are not displayed for a keyframe. To display the orientation vectors, enable Show Orientation Vectors on the Render Properties page.

Camera Path

Name. To change the name of a camera path, double-click it. Camera path names must be unique.

Color. Color of the camera path. To change the color, double-click it.

Shown. Displays the camera path in a 3D Graphics window.

You can add, delete, or copy camera paths using the New, Duplicate, and Delete buttons. Duplicating a camera path creates a second identical path which overlaps the original path and may not be visible until one of the paths is modified.

Optimize button. Attempts to reposition the control points to make the camera path as smooth as possible. This button has the same effect as the Optimize Path While Editing option on the 3D Window Properties page.

Central Body. Each camera path is associated with a specific central body. A camera path cannot have keyframes from two different central bodies.

Coordinate System

View. Interpolates the camera path position using the same coordinate system as the view that was used to add keyframes to the camera path. The current view is (by default) displayed at the bottom left corner of the 3D window and is set on the View From/To dialog.

CBI/CBF. Interpolates the camera position in the central body inertial or fixed coordinate system in the 3D Graphics window instead of using the current view's coordinate system. Since using the view's coordinate system tends to produce smoother camera paths, it is recommended that the CBI or CBF options not be used unless the To object changes in the middle of the camera path (for example, from a satellite to a ship).

Orientation Interpolation Method

Tethered. Closely follows the To object in the 3D Graphics window. If the camera is always looking at the same object, tethered mode is a good choice. Default.

B-Spline. Somewhat follows the To object in between keyframes. If the camera is looking at many different objects at once this may be a good choice.

Bezier. Does not follow the To object at all, and usually produces a smoother camera motion than the Tethered or B-Spline options. If the scenario contains multiple objects, this option may be a good choice. Do not select this option if the camera is only looking at one object.

Field of View Interpolation Method

Select Smooth for a smoother interpolation or Linear for a more jagged interpolation.

Keyframes

3D Window. Specifies the active window.

Ripple Time Changes. If enabled, modifying the time of a keyframe moves the time of all the following keyframes forward or backward by the same amount. For example, a camera path has three keyframes, with times of 7, 8, and 10 epoch seconds. If the time at keyframe 2 is changed to 9, the time at keyframe 3 is automatically changed to 11. If Ripple Time Changes is disabled, modifying the time of one keyframe will not impact subsequent keyframes.

Compute Times Automatically. If enabled, the keyframe times are automatically generated using the times of the first two keyframes and the keyframe locations. The camera path editor attempts to generate times that will produce a smooth motion when following the camera path. (You must set the first two keyframe times because the camera path editor needs that information to compute optimal times for the remaining keyframes.) Enabling this option is recommended for the smoothest possible camera motion.

When Compute Times Automatically is enabled, the original keyframe times are saved. You can retrieve them by disabling Compute Times Automatically.

Overwrite Original Times. Click this button and disable Compute Times Automatically to edit the automatically computed times.

#. Sequential index for each keyframe in the current camera path. A keyframe stores the viewer position and orientation at a given time. Each frame is stored as an X, Y, Z position in a coordinate frame (for example, CBF) that is based on the To object and the reference frame specified in the View From/To dialog.

The keyframe can be viewed in the selected 3D window at any time by double-clicking a Frame #. The viewer position, viewer orientation, and time are then changed to that of the selected keyframe. In addition, the current animation time and time step are changed to the values used when the keyframe was saved.

Time. Sequential time for each keyframe in the current camera path.

Field of View. Defines how much you can see, in degrees, in the 3D Graphics window. The larger the value, the more you can see. The maximum angle is 160 degrees. A large field of view is similar to a wide-angle lens in photography, where size differences are exaggerated due to proximity to the camera. A small field of view is similar to a telescopic lens.

You can use the field of view to zoom into an object from a fixed camera location. To use the zoom feature, create multiple keypoints at the same location. Set a different field of view value for each keypoint, starting with a large field of view value for the first keypoint and making it progressively smaller for each subsequent keypoint.

For example, create three keypoints at the same location. Set the field of view value for the first keypoint to 60 degrees, the second to 35 degrees, and the third to 15 degrees. Click to view how the camera zooms in.

Add button. Adds a keyframe using the animation time and view set in the 3D Graphics window for the selected camera path. Use the mouse and Animation controls to set the view and animation time in the 3D window before selecting Add to create the new keyframe. If the animation time is set to a time for which a keyframe already exists, the existing keyframe is overwritten with the current view's data.

When you add or insert a keyframe, the current view, including viewer position, orientation and current animation time, is added or inserted based on the time of the keyframe.

STK incrementally increases the current scenario animation time according to the animation time step set, so that another keyframe can be added without having to increment the current time.

You can use the button to quickly add keyframes without opening the Camera Control Editor.

Delete button. Deletes the selected keyframe from the Keyframes table.

Clear button. Clears all keyframes from the selected camera path.

Reference Axes. Click Select to change the reference frame for the selected keyframe. The way the orientations are interpolated is dependent on the selected reference axes. For example, if the To object is a fast-spinning sensor, the camera path will also spin. To remove the spinning from the camera path, change the reference axes to Earth Fixed axes.

Location

Using the coordinate system set for the camera path, specifies the location coordinates of the selected keyframe.

Orientation

Specifies the orientation values (Euler angles) for the selected keyframe.

Yaw. Rotates around the Z axis. The Z axis is represented by the blue vector in a keyframe.

Pitch. Rotates around the Y axis. The Y axis is represented by the green vector in a keyframe.

Roll. Rotates around the X axis. The X axis is represented by the red vector in a keyframe. To keep the camera upright, specify a roll value of 0. To spin or roll the camera, use a nonzero roll value. The higher the value, the more the camera spins. You can click and drag the red vector to change a roll value.

Rotations are applied in the following order: yaw, pitch, and roll.

How To. . .