Camera Path Animation

To facilitate our marketing efforts we needed an easy but quality way of producing video content.
Since we only want to use actual in-game imagery, it was obvious to look for a in-engine tech solution.

Requirements

  • Visual editing
  • Waypoint based
  • Many transition behaviours
  • Synchronise with dynamic objects (moving vehicles)
  • Animate multiple camera properties (pos, roll, pitch, yaw, fov, etc.)
  • Easy to use

For the game, we want the gameplay interaction to take place in the environment as much as possible. Manipulate the units and environment directly, not through a 2D text or control based UI.
The same with the camera-paths. A simple and intuitive workflow; Position the camera, record it, repeat. Tweak any parameter later if you want.

Camera animation edit UI

Camera animation edit UI

The first implementation worked pretty good but the lack of overview was immediately apparent.
Placing waypoints and then have the camera play it back was not enough to create a good animation because it was hard to determine what to tweak and where. So the first thing we added was a timeline at the bottom with waypoints and transitions. The timeline would show you at which transition/waypoint the camera currently is. It is also a great way to jump between any waypoint in stead of sequential traversal from one to the next waypoint. Showing and tweaking parameters without having the camera actually jumping to a waypoint was also very helpful.
We now had a functional camera-animation tool. But, why not make it a little bit more convenient.

After introducing spline-based interpolation we needed to solve a new problem. The path the camera would follow could take on extreme shapes depending on the spline parameters. If playing back the path is the only way to get an idea of the path, it can get very confusing. So we needed the path to be visualised and immediately reflect any changes in parameters for both waypoints and transitions. Also, having placeholders for waypoints in the 3D environments is a big help.
We now have in-engine tools to record, edit, and play-back camera animations with a good set of interpolation options that allows us to shoot video in basically any way we would like to, without the obvious jerkiness of a manual controlled camera. Even without post processing in video editing software, we can create useful results for a quick video.

Features

  • Time or speed based transitions
  • Switch interpolation style at every waypoint
  • Support for linear, spherical and spline interpolation
  • Interpolate projection parameters
  • Attach the camera to moving objects (moving waypoint targets)
  • Make the camera-path visible for easy tweaking

Camera_path_animation_00

In the end the camera path functionality turned out quite good with some nice features and a intuitive UI.
We might decide to expose the functionality to users if there is any demand. Maybe a good topic for a poll on the website?

Comments and reactions to this blog entry can be made on our forum.

Share: