Skip to main content

Startup panel

When Vizard opens, a startup panel lets you choose how to connect:
  • Recorded file: press Select to browse to a .bin Basilisk recording file, then press Start Visualization.
  • Live stream: enter the socket address of a running Basilisk simulation and select the DirectComm option.
  • 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.
ModeDescription
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-centricA 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.
HeliocentricA 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:
KeyAction
[ / ]Zoom in / zoom out
/ Pan left / pan right
/ Tilt up / tilt down
< / >Roll left / roll right
sStop all camera rates
LToggle camera-attached flashlight
hOpen the hot-key help panel
rToggle range-to-target display
cOpen the console log panel
vOpen the VizMessage panel
fOpen 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 the Actuator menu. The panel displays wheel speeds and motor torques for each RW device.

Thrusters

The Actuator 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. The Time menu contains additional options.

Time menu options

OptionDescription
Playback in real timeAdvances frames to match the system clock. Speed can be scaled up or down.
Playback at frameShows 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 clockToggles between 12-hour (AM/PM) and 24-hour clock display.
Show mission/sim timeToggles between simulation elapsed time and mission date/time. If no epoch is set, Basilisk defaults to January 1, 2019, 00:00:00.
Show data rateDisplays the current data frame rate.
Show FPSDisplays 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 a VizardData 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.
Message compression cannot be reversed. The source archive file is not modified, but the messages loaded into Vizard memory are permanently reduced for the current session.

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 via Set Celestial Body (Relative Inertial)
  • Spacecraft Relative — relative to a selected chief spacecraft, expressed in the Hill frame, velocity frame, or inertial frame
True trajectory lines show the actual simulated path and support the same reference frame options plus:
  • Two-Body Rotating Frame — a co-rotating frame defined by two celestial bodies
  • Body-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

The Camera 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.
Click the snapshot icon on a camera panel’s lower right to save a PNG image to your home directory.

Importing a custom shape model

By default Vizard represents spacecraft with the built-in bsk-Sat CAD model. You can replace it with a custom .obj or .glb file, or choose a built-in shape primitive.
1

Open the import dialog

Go to File > Import Model.
2

Select your file

Browse to an .obj or .glb file, or choose a primitive shape (sphere, cylinder, cube, capsule).
3

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.
4

Apply the model

Select the spacecraft or planet to update and press Apply Models to Selected Objects.
To apply a custom model automatically every time a scenario runs, use the createCustomModel() helper in vizSupport.py rather than importing through the GUI each time. See the advanced page for scripting details.

Built-in celestial body models

Vizard selects a default shape based on the gravity body label set in the Basilisk GravBodyData structure. The matching is case-insensitive.
Vizard keywordFeaturesNatural satellites
Mercury
VenusAtmospheric shader
EarthAtmospheric shaderMoon
MarsAtmospheric shaderPhobos, Deimos
Jupiter
Saturn
Uranus
Neptune
Bennu
Ryugu
Use the 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.

Build docs developers (and LLMs) love