unisim.backend.genesis.playback¶
Genesis-owned playback execution helpers (in-process native rendering).
Mirrors isaacgym/playback.py: the interactive path drives a post-build
Genesis viewer at ~60 Hz; the record path captures offscreen camera frames
headlessly and writes them through the shared write_playback_video.
Genesis attaches viewers/cameras lazily after scene.build (verified on
genesis-world 1.3.3), so rendering never touches the training hot path.
Functions
|
Map the repo-wide MuJoCo-style camera configuration onto (pos, lookat). |
|
Build the 4x4 camera-to-world matrix for a Z-up world. |
Return whether a display is reachable for the interactive viewer. |
|
|
- unisim.backend.genesis.playback.display_available()[source]¶
Return whether a display is reachable for the interactive viewer.
- Return type:
- unisim.backend.genesis.playback.camera_pose_from_kwargs(camera_kwargs, lookat)[source]¶
Map the repo-wide MuJoCo-style camera configuration onto (pos, lookat).
MuJoCo’s negative-elevation convention is kept:
cam_elevation=-20places the camera above the horizon looking down.cam_lookatpins the lookat point when set.
- unisim.backend.genesis.playback.camera_pose_matrix_z_up(pos, lookat)[source]¶
Build the 4x4 camera-to-world matrix for a Z-up world.
The interactive viewer’s
set_camera_pose(pos, lookat)reuses the viewer’s current_camera_up, which genesis initializes from its own default camera pose — a tilted vector, not world Z-up (#1396). Passing the fullpose=matrix bypasses that polluted state entirely.