Guide to Camera AnimationsBy Pulkit
One of my favourite features in BFME2 is the ability to make videos within maps. Just looking at the game's startup video, or those in the campaigns makes one want to direct little LotR movies of their own! And luckily, the Worldbuilder has just the thing you need.
The Worldbuilder possesses a feature named Camera Animations that can be used to create videos out of maps. It is very dynamic, flexible and easy to use: you can make top-notch movies in minutes!
Camera Animation feature allows you to create a movement sequence for a camera. Based on what this camera sees during this sequence you define, a video is created. This animation/video can be played within the game using scripts. The added advantage is that during the time of movement of the camera, you can define other scripts that make things perform actions, such as warriors fighting, heroes dying, gates opening, etc. So let's hop into the world of camera animations, and learn how to conquer it!
Creating a Camera Animation
To access the Camera Animation feature, click on Edit -> Edit Camera Animations. This opens the control panel. It consists of atleast two new windows: the main Camera Animations window on the left, and a timeline window at the bottom of the screen. You may see an additional small preview window.
In the main window, select Add. You can choose between Free Animation and Look-at Animation. Free Animation allows you to freely move your camera into any position you desire. You may move spatially or rotate about any axis as desired. Granted, this allows more freedom to make your videos. But whether it is better than Look-at Animations or not, entirely depends on your need in the video.
Look-at Animation restricts your ability to play with the camera. Here, you have an additional "look-at object" that is used to point your camera into a particular direction. You can, thus, only fiddle with your camera in ways which do not disturb the view, only enhance it. This can be used as a safety device, so that you may not have to realign your camera every time, especially when you want to focus over on object continuously for a part of the animation.
After selecting a type of Animation, give it a name, and enter the length as the number of frames. You can increase the length whenever desired. Note that 30 frames generally count for 1 second of time in the Worldbuilder (in-game time may vary from machine to machine). So make sure your animation isn't too short or too long.
Here we'll discuss the common features of both types of animations.
First: the camera. You'll notice that when you created the animation, a red coloured camera appeared on the screen. This is the camera you'll be controlling.
By clicking and dragging on it, you can move the camera around. You can also change its position by changing the X, Y and Z coordinates from the main Camera Animations window.
Also notice the movement arrows on the camera. By clicking and dragging on an arrow, you can move the camera along that particular direction.
On selecting the camera, a window opens on the right for camera options. In this window, you can change the coordinate system from World to Local, although that is pretty pointless. You can also change the camera motion from transition to rotation, meaning that the movement arrows will now rotate the camera about the respective axes, rather than move it.
The next option if Focal Length. This can be varied to change the field of view. A small focal length means a wider field of view, whereas a large focal length can be used to zoom in.
Making the Animation
The timeline window on the bottom of the screen shows the entire animation sequence. It shows a scale of points numbered just like a ruler. These points are the frames. Click on a frame and press thebutton on the right to create something called as keyframe.
To create a sequence, you need to define positions of the camera on keyframes separated by gaps of some empty frames. The Worldbuilder then links the positions by using an animated motion of the camera. Try it out!
First, you define a camera position in special frames called keyframes. The first keyframe is automatically created. Create another keyframe by clicking on any point on the scale (if you don't have many points/frames, increase the length from the main Camera Animations window), and then pressing thebutton on the right. A box appears over the frame. Select the box, and now position the camera to a new place. Now you can click on any frame in between these two keyframes and see that the camera automatically moves from the old position to the new position.
By adding more keyframes, you can define lots of positions for the camera. The entire animation will be the camera moving from the first position, through all the positions, to the last positions slowly and smoothly.
A line on the map shows the path travelled by the camera during the course of the animation. You can turn it on/off from the Show camera path option in the main Camera Animations window.
Keyframes can be deleted using thebutton on the right in the timeline window. They can also be moved from frame to frame. Make sure your keyframes are appropriately spaced apart: you don't want to rush up your animation and startle/confuse the viewer. The viewer, remember, is human.
The motion of the camera between keyframes can be tweaked using the Interpolation option in the main Camera Animations window. Selecting Smooth at any keyframe will make the motion of the camera from that keyframe to the next smooth, oriented according to the position of the camera in both the keyframes. Selecting Linear will make the motion of the camera rigid and straight from that keyframe to the next. It is up to your needs which to use; you may use Smooth, Linear, or a combination of both, but I recommend Smooth. Note that Smooth is the default.
Testing the Animation
The Worldbuilder allows you to view your animation. Simply turn on the Camera Preview window using the Show camera preview option in the main Camera Animations window. A small window will appear: it is not advised you change its size.
Next, in the timeline window, enable the Real time option in the far right of the window. Then click the Play button. You'll be able to see your animation in the Preview window. The Real time option allows you to view the animation as it would appear in the game.
Additional Options in Free Animation
In the main Camera Animations window, you'll also notice the Yaw, Pitch and Roll options available. These are just to rotate the camera along various axes. These options are not available in Look-at Animation.
Look-at Animations have something extra. It is, you'll notice when you create a Look-at Animation, the presence of a small purple questionable box in front of the camera. This is the look-at point.
The look-at point can be positioned just like the camera. You can use its movement arrows, or change the X, Y and Z coordinate values in the Look-at point section of the main Camera Animations window to change its position. However, the camera will always look at the look-at point (hence the name), no matter where you place it.
The advantage of look-at points is that you needn't try and test various camera positions when focussing on an object. You can simply set the look-at point on the object, and the camera will be focussed.
You can also use it as a tether: a point about which the camera can rotate perfectly, just like it rotated about the Argonath statue's head in the movies!
Since there is a look-at point in addition to the camera, there will be two boxes for each keyframe in the timeline window at the bottom. You can create separate keyframes for both the look-at point as well as the camera, using the twobuttons. There are, therefore, two animations going on: one for the camera and one for the look-at point. The obvious implication of this is that one can create very complex and beautiful animations with great ease.
Scripting the Animation
This section includes scripts that you'll need to make to:
- Start the camera animation in the game.
- Make things move around while the animation is going on.
- Return to map after the animation has ended.
Starting the Animation
You start an animation using scripts. Create the following script:
Script settings: Keep the default settings.
Condition(s): Choose the appropriate conditions as desired.
Action if True:
- To run the animation, choose:
Camera -> Move -> Move using camera animation.
Select your camera animation for this.
- Add another action to reveal the map so that areas in the animation you haven't yet explored are shown in the video. Choose:
Map -> Shroud or Reveal -> Reveal the entire map for Player.
Select Player_1 (or as desired).
- Also, if you don't want the user to interfere with the animation, you'll want to disable user input. Add this action:
Interface -> Input -> User input -- disable.
- To hide the user interface, add an action:
Interface -> UI HIde.
Making things move around during the animation
The problem with Camera Animations is that it is just the animation of the camera: that is, the motion of the camera in a video. If you want to make a movie of your own, you'll need to have the units or buildings on your map animate. For example, to simluate a fight, you need scripts to make battalions attack each other. To show Gandalf die on a bridge, you'll need to kill him using a script.
This section is not to describe such scripts, but simply to remind you that you'll need to take the effort. One important thing to know: you'll need to make sure your timing matches the timing of the animation. You don't want your unit taking the action you wanted to show, execute it after your animation is over! So, either you test out and adjust your timers appropriately so that the unit and building animations are synchronized with the camera animation. Or, you could simply setup a timer at the beginning of the camera animation and count the exact time till it lasts.
However, remember that time will vary from user to user. Depending on the computer's frame rate, your camera animation might last longer or shorter than it did for you. And also: make sure the enemy doesnot attack the player during the animation (unless intended). Either show the video at an appropriate time (not between a battle! You donot want the player to be harmed unnecessarily.) Or use scripts to freeze the AI.
Restoring the map after the animation is over
You need to reset the map: bring back the shrouded portions of the map. You'll also need to restore the user interface and allow keyboard/mouse input. Create a script to do that as follows:
Script Settings: Keep the default settings.
Condition(s): Choose Camera -> Camera movement has finished
Action if True:
- To un-reveal the entire map, choose:
Map -> Shroud or Reveal -> Shroud the entire map for Player
Select Player_1 (or as desired).
- To restore the position of the camera to player's startpoint, choose:
Camera -> Move -> Reset to the default view
Select waypoint Player_1_Start (or as desired).
- To allow user input, choose:
Interface -> Inout -> User input -- enable
- To show the user interface, choose:
Interface -> UI Show
Extra Camera Effects
To prep up your video, there is a plethora of scripts waiting for you in the Camera folder. Some simple ones are described below.
Black & White Mode
Yes! You can turn the screen black & white for the awesome effect. Use it as an action alongside the script that begins the camera animation.
Camera -> Modes -> Black & white mode -- begin.To come out of the black & white mode, use this action:
Select as many frames as desired.
Camera -> Modes -> Black & white mode -- end.
Select as many frames as desired.
A lot of the cutscenes and videos you see in the game campaigns use letterbox mode. In this mode, the screen size is shrunk, with the top and bottom of the screen layered with black strips. It looks like a movie, and allows text/instructions to appear on the black screen borders which make it easier to read. To enable letterbox mode, use the action:
Camera -> Modes -> Letterbox mode -- begin.To come out of letterbox mode, choose the action:
Note, the user interface is automatically hidden.
Camera -> Modes -> Letterbox mode -- end.
Advanced Camera Animation
Surprise! There's another way to make camera animations than using the inbuilt Camera Animations feature. It not only accomplishes what Camera Animations can do, but it also boasts of more effects such as following units, fading in and out, shaking (to simulate earthquakes, for example) and a lot more. This method involves using scripts found under the Camera folder. This method is more versatile. Here, you needn't worry about time: your scripts for unit/building animations will be automatically synchronized with the camera animation scripts as you make them.
Discussing these scripts is a topic of a whole different guide. This method, though versatile, still pales in comparison to the simplicity of the Camera Animations feature. For lengthy videos that involve a lot camera motion, Camera Animations is the way to go.
Through this incredibly lengthy guide we have studied how to create Camera Animations and perfect them. As you practice, you'll get more comfortable with moving around the camera and organizing its frame-by-frame motion. I hope this guide has been of help to those new to animations; while to the others I hope it worked as a refresher, or maybe taught a new thing or two. I shall be looking forward to some great movies or cutscenes in your maps!
Special thanks to the staff of BFME2H for the opportunity and motivation, to the players of BFME2 for their continued interest and, most importantly, to the lovers of the Worldbuilder!