Camera Paths:
Scenarios created with the ScriptAI Editor allow for a special (optional) trajectory used for the scene camera. As the scenario is executed, this allows space-time control over the pose of the camera. Space-time smoothing in the algorithm provides the user with non-jerky panning transitions. With some simple editing, the user can seamlessly manouver the camera into place for each cue point in their scenarios and further tweak these for clarity if required.
The camera path trajectory differs from the standard vehicle trajectories in several ways:
i) There is only one camera path trajectory per ScriptAI Editor session. ii) The camera path trajectory contains rotational information along its path, which can differ from the direction of travel. iii) The camera path trajectory waypoints are edited in a different way (using the World Editor’s translational and rotational gimbals). iv) The camera’s progress along the camera path trajectory is smoothed in space-time, in a very particular way.
Scene Camera Window:
The marked-up illustration below highlights the Scene Camera Window.
Waypoints:
The Scene Camera Window contains a list of ordered, time-stamped waypoints, with various associated parameters. The listbox allows selection of one of these waypoints.
Time-Stamp:
The time-stamp of each waypoint can be manually altered through the inputbox. Time is in seconds.
Smoothness Parameter:
The smoothness parameter for each waypoint, in range [0, 1] describes how much smoothing is applied in the algorithm, as the camera moves from the previous waypoint towards this waypoint [0 = minimum smoothing, 1 = maximum smoothing].
Smoothness parameter values are defaulted to 0.5.
Start/End Movement Flags:
These two checkboxes selects whether or not to allow non-zero starting/ending velocities at the selected waypoint. If these are unchecked, the camera will come to a stop for a short time before accelerating again.
These flags are default to be always checked.
Add Node:
This button creates a new waypoint at the current camera position and selected time (as shown on the Tool Window). The user should first select a cue time, then move the camera to where it should be at that cue time, then select ‘Add’ here. The finer details can be edited later.
This button is only available if the current time position (eg, on the Tool Window) is beyond the time of the last-selected camera path waypoint. If it not visible, this means the camera path trajectory already has a position for the current time. For this reason, it is recommended to move sequentially through time when drawing-in the camera path trajectory.
Remove Node:
The currently selected waypoint/node is removed from the list.
This button is only available if the camera path trajectory is non-zero and a waypoint is highlighted.
Reveal Trajectory:
This button will move the simulation camera to a top-down position above the camera path trajectory, such that it is all in view. This can be used as a way to focus on the camera path as a whole, or to quickly move to it if the user is currently far away.
Note: for very long camera paths, the vertical distance could be significantly large when moving the simulation camera. This is required so as to fit the full camera path trajectory on screen.
Lock Node:
Clicking on this button will lock the selected waypoint, so that it will not move (in space or time) when edits are performed on the camera path trajectory. A small ‘Lock’ icon will appear to the right of the waypoint to highlight this.
Clicking on this lock will unlock the node. Also, the ‘Lock’ button will change to an ‘Unlock’ button for the selected node, if it is locked, so the waypoint can also be unlocked by clicking on this.
Locking nodes is a useful feature if, for example, a user has put some careful detail into a small section of the trajectory, and wants to ensure that it is safe. By using locking on waypoints on either side of this region, this provides a ‘barrier’ of sorts, which ensures no future changes outside the region will affect inside the region. A suggested workflow when using the ScriptAI Editor, is to first focus in on the areas of detail, lock them off with barriers, then move on to other parts in the knowledge that the detailed areas are secure. Without locking, it is possible that edits which are made far away (in space or in time) can affect the behaviour at previously-worked-on regions.
Note that locking is also available for vehicle trajectories, and can be used in the same way.
Display On/Off:
This checkbox indicates if the camera path trajectory should be visible during execution. If unchecked, this will not appear (most-likely the desired behavior).
On Execute Flag:
This checkbox indicates if the camera path trajectory should be used when executing the scenario. If unchecked, then the camera will remain fixed as the scenario is executed.
Force Field:
This slider sets a force field range, in metres, which describes how far the effect of a waypoint position edit will travel.
Example #1: If the force field is set to 50m and we move a waypoint in space, then all nodes within 50m of that node will also move. The amount they will move by depends on how far away from the waypoint being moved.
Example #2: If the force field is set very small, eg 0.01m and we move a waypoint in space, this will be the only waypoint which will move because there are no other waypoints within the range of the force field (assuming the waypoints are all greater than 0.01m away from eachother).
Using this force field approach when editing positions can provide a much more natural trajectory edit. The nature of such editing could be described as being ’elastic’, in the sense that the stretching is reminiscent of moving points on an elastic band.
Note: Spatial force fields are also available for vehicle trajectory editing, and work in a similar way.
Color Selection:
The user can choose the camera path trajectory color here. Clicking on the colored square will open a selection pallette.