Startup panel
When Vizard opens, a startup panel lets you choose how to connect:- Recorded file: press
Selectto browse to a.binBasilisk recording file, then pressStart Visualization. - Live stream: enter the socket address of a running Basilisk simulation and select the
DirectCommoption. - Receive Only: subscribe to a broadcast stream from a Basilisk simulation without sending input back.
View modes
Vizard provides three hierarchical view modes that switch automatically as you zoom in and out.| Mode | Description |
|---|---|
| Spacecraft-centric (default) | The spacecraft is rendered at true 1:1 scale. Rotating pivots about the spacecraft center. The spacecraft trajectory is not shown. Zooming out far enough transitions to planet-centric view. |
| Planet-centric | A planet-wide view. The spacecraft is enlarged so its orientation is visible. The spacecraft trajectory is shown. Double-click the spacecraft to return to spacecraft-centric view. Zooming out far enough transitions to heliocentric view. |
| Heliocentric | A solar-system-wide view. Planets are enlarged and their trajectories are shown. Spacecraft on planetary orbits are not shown; spacecraft on heliocentric trajectories are shown enlarged. Double-click a planet to return to planet-centric view. |
Camera controls
Use the mouse to rotate the view and scroll to zoom. Additional keyboard controls are available:| Key | Action |
|---|---|
[ / ] | Zoom in / zoom out |
← / → | Pan left / pan right |
↑ / ↓ | Tilt up / tilt down |
< / > | Roll left / roll right |
s | Stop all camera rates |
L | Toggle camera-attached flashlight |
h | Open the hot-key help panel |
r | Toggle range-to-target display |
c | Open the console log panel |
v | Open the VizMessage panel |
f | Open the file browser (playback mode only) |
Space vehicle states
Position and orientation
Vizard shows the spacecraft position and orientation at every simulation time step. If one or more planets are modeled, the spacecraft position is shown relative to the nearest planet.Reaction wheels
If reaction wheels (RWs) are modeled, open the RW panel from theActuator menu. The panel displays wheel speeds and motor torques for each RW device.
Thrusters
TheActuator menu provides several thruster visualization options:
- Thruster Panel: bar charts of thruster firing states
- Thruster HUD: particle-engine plumes whose length and density correspond to thrust magnitude and duty cycle
- Thruster geometry: small cones at each modeled thruster location, useful for verifying configuration
- Thruster normals: lines showing the modeled thrust axes
Playback controls
The playback bar at the bottom of the window provides a time slider and speed controls. TheTime menu contains additional options.
Time menu options
| Option | Description |
|---|---|
| Playback in real time | Advances frames to match the system clock. Speed can be scaled up or down. |
| Playback at frame | Shows every data frame as fast as possible. Pressing + skips every other frame (2x, 4x, etc.); pressing - holds each frame for multiple rendering cycles to slow playback. |
| Use 24 hour clock | Toggles between 12-hour (AM/PM) and 24-hour clock display. |
| Show mission/sim time | Toggles between simulation elapsed time and mission date/time. If no epoch is set, Basilisk defaults to January 1, 2019, 00:00:00. |
| Show data rate | Displays the current data frame rate. |
| Show FPS | Displays frames per second in the lower right. |
File menu
Settings panel
The settings panel (File > Settings) controls system defaults:
- Ambient brightness
- Keyboard-controlled camera angular rate
- Keyboard-controlled camera zoom rate
Save messages to file
Saves the current run’s protobuffer messages (all or a selected subset) to a file inside aVizardData subdirectory in your home directory. Available in both file playback and live streaming modes.
Compress messages
File > Compress Messages reduces the number of stored vizMessages from the current run. You specify a retention fraction (for example, 1/2 keeps every other message). This is useful during long live-streaming runs where memory usage grows over time.
View menu
Coordinate frames
Toggle any of the following frames on or off:- Camera target coordinate system
- All spacecraft coordinate systems
- All effector coordinate systems
- All planet/moon coordinate systems
- Hill frame
- Velocity frame
Orbit lines
Osculating orbit lines show the instantaneous Keplerian orbit and can be displayed in:Celestial Body Relative Inertial(default) — relative to the parent body, or a body you select viaSet Celestial Body (Relative Inertial)Spacecraft Relative— relative to a selected chief spacecraft, expressed in the Hill frame, velocity frame, or inertial frame
Two-Body Rotating Frame— a co-rotating frame defined by two celestial bodiesBody-Fixed Frame— trajectory projected onto a rotating planet or spacecraft
Edit pointing vector
Draws a line from the spacecraft toward another body (sun, Earth, Mars, etc.) so you can quickly see which direction a target lies. Default colors are provided for common bodies (yellow for sun, red for Mars), and each line color is customizable.Edit keep out/in cone
Adds a cone relative to a spacecraft body-fixed axis and a target celestial body. The cone is transparent when the constraint is satisfied and turns solid when it is violated. Use keep-out cones to verify a sensor does not look too close to the sun, or keep-in cones to verify a solar panel stays within a required angle.Edit location
Controls ground and satellite locations: toggle boresight vector display, coverage cones, and communication lines to spacecraft. Locations can also be added and edited on the fly from this panel, or scripted from Python.Sprite settings
In planet-centric or heliocentric views with two or more spacecraft, Vizard defaults to 2D sprite representations to avoid computational overhead.View > Sprite Settings lets you customize each spacecraft’s sprite shape (circle, square, star, triangle, or a 2D bsk-Sat shape) and color, and override the default sprite-switching behavior.
Labels
Toggle labels for spacecraft, planets, actuators (thrusters, etc.), and other scene objects.Model inventory
Opens a panel listing the 3D CAD models currently in use and lets you swap models for spacecraft or celestial bodies.Adjust GUI scale
Sets a global GUI scale factor. Vizard selects a default scale automatically based on screen resolution; use this panel to override it.Display VizMessage log
Shows raw protobuffer message states updated in real time. Toggle-filters on the left side let you narrow the display to specific message types. Useful when debugging protobuffer communication.Camera menu
TheCamera menu lets you change the main camera target and create additional camera views:
- Change main camera target: select any spacecraft or celestial body as the camera focus.
- Camera 1 / Camera 2: open stand-alone camera panel windows. Each camera can point in a body-fixed direction or track a celestial target (nadir, along-track, or orbit-normal).
- Add camera: create additional camera views beyond the two defaults.
Importing a custom shape model
By default Vizard represents spacecraft with the built-inbsk-Sat CAD model. You can replace it with a custom .obj or .glb file, or choose a built-in shape primitive.
Select your file
Browse to an
.obj or .glb file, or choose a primitive shape (sphere, cylinder, cube, capsule).Adjust import settings
Set the origin offset, orientation, and scale. Use the bounding box overlay to verify the result. The scale field is useful for converting the model’s native units to meters.
Built-in celestial body models
Vizard selects a default shape based on the gravity body label set in the BasiliskGravBodyData structure. The matching is case-insensitive.
| Vizard keyword | Features | Natural satellites |
|---|---|---|
| Mercury | — | — |
| Venus | Atmospheric shader | — |
| Earth | Atmospheric shader | Moon |
| Mars | Atmospheric shader | Phobos, Deimos |
| Jupiter | — | — |
| Saturn | — | — |
| Uranus | — | — |
| Neptune | — | — |
| Bennu | — | — |
| Ryugu | — | — |
displayName field in GravBodyData to override the label used for model matching. Use modelDictionaryKey to specify a particular CAD asset regardless of the body label.