Editor: Observer Controls
Observer
The observer, or player pawn, is the actor that exists within the visualization that enables movement and viewing of a simulation. All levels in Unreal require a pawn to exist for the viewport to be rendered. The main game view is the view that can be seen from the camera following the player's pawn. In Nominal Editor, a default pawn, Pawn_Observer
, has been created to move around the simulation and have some additional functionality that may be useful when navigating a level. This document highlights the features of the observer and the keyboard buttons that are available for use.
Note
The observer is set in the game mode settings. It is possible to override the default pawn used in the levels to a custom one if required. Users can develop their pawns, but it is recommended that they inherit from UniversePawn
or Observer
to ensure that they have the correct simulation coordinates.
Observer Controls
The following table outlines the controls available for the pawn. These exist when a simulation is played and the user has selected the viewport.
Control | Input | Description |
---|---|---|
Camera Look | Mouse + Middle/Right-Click | Changes the view of the camera in horizontal and vertical directions based on the mouse's movement. |
Forward Movement | W / Up Arrow | Moves the pawn forward direction by some amount. |
Backwards Movement | S / Down Arrow | Moves the pawn in the backward direction by some amount. |
Left Movement | A / Left Arrow | Moves the pawn left by some amount. |
Right Movement | D / Right Arrow | Moves the pawn right by some amount. |
Up Movement | E / Page Up | Moves the pawn up by some amount. |
Down Movement | Q / Page Down | Moves the pawn down by some amount |
Zoom | Mouse Scroll | Zooms into the current targeted location |
Free Movement | 0 | Switches from target following to free movement around the simulation. |
Target Tracking | 1, 2, …, 8 | Targets ground stations and spacecraft were added to the simulation, in the order they were added. |
Target Looking | Control + 1, 2, …, 8 | Looks at ground stations and spacecraft added to the simulation, in the order they were added while still tracking a target. |
Free Looking | Control + 0 | Stops looking at a particular object and allows for changing the camera view again. |
Planet Targeting | 9 | Looks at the central body (Earth) and follows the Earth instead. |
Sun Targeting | Shift + 9 | Looks at the sun and follows the object in the simulation. |
User Interface Hiding | Tab | Assuming that NomUI is added to a simulation, this keypress will toggle the interface to be on and off the screen. |
Ambient Light | L | This toggle disables and enables ambient light on the spacecraft and simulation. This is useful when spacecraft are in darkness and can’t be seen. |
Heatmap Views | H | This will toggle through the various heatmap views that have been added to the observer. |
Pause Simulating | Space Bar | This will pause ticking the simulation within the Tick Simulation function by toggling the Pause Tick Boolean on the Observer. The Get Observer Blueprint Function can be used to access Pause Tick to enable or pause other functionality. |
Stop Simulating | Escape | Stops the level simulating. This is a standard Unreal button key and will end the level from playing. |
Heatmap
The observer has been equipped with a camera filter that allows for a ‘heatmap’ styled overlay of property values. This will show a colour change; from blue (low) to red (high) representing the data distribution of a specific property in the simulation. The observer can shuffle between the following properties:
- None: No heatmap data is present
- Temperature: A heatmap showing the distribution of temperature on a spacecraft, assuming temperature nodes have been added.
- Mass: A colour distribution of the mass spread on a spacecraft is shown, with red being the more massive object.
- Power: A distribution of the power levels from solar panels and power components based on how much power they are drawing or producing.
Note
As of the current version, the only way to add additional heatmap views is by manipulating the Pawn_Observer
blueprint and adding properties to the array. This feature is in beta testing and should be used with caution when adding other views to the observer.
Getting an Observer Object
Within the level blueprint, the observer can be requested from the player controller. This can be done by using the Get Observer
function. This returns a reference to the pawn that is being used in the correct type.
Custom Targeting
By default, the pawn will follow the first simulation object (spacecraft or ground station) that has been added to the scene. The keyboard number buttons (1 - 8) will switch between the targets that are tracked in the viewport. However, custom tracking can be done using the blueprint functions. On the Observer
object, which can be requested using the blueprint cast code called above, the functions Start Following
and Start Looking At
can be called to track any Universe Actor
objects that have been added to the simulation.
Warning
These functions work with any actor that is of type Universe Actor
. Standard Unreal actors cannot be used, as they will have an incorrect coordinate system.