Guides
Using scenes in simulators
Load the 3D scenes reconstructed from your recordings into Isaac Sim, Isaac Lab or MuJoCo.
Rayform is in private preview. APIs, formats and the SDK described here may change before general availability.
Every segment carries the scene it was recorded in: Gaussian splats for appearance and meshes for collision, in the site's world frame at metric scale. Export them to evaluate policies in the places your robots actually work.
Isaac Sim and Isaac Lab
scene = client.segments.get("seg_4f0a").scene_at(t=0.0)
scene.to_usd("kitchen_lab2.usdz")Or export a whole slice:
rayform export slc_7c1e04aa --format usd --out ./scenes/The USD file contains:
| Prim | Contents |
|---|---|
/World/Background | Gaussian splats of the static scene |
/World/Collision | Collision meshes, with convex decomposition for physics |
/World/Objects/* | Moved objects as separate prims, posed at time t |
/World/Cameras/* | The recording's cameras with their intrinsics |
MuJoCo
scene.to_mjcf("kitchen_lab2/") # writes scene.xml plus meshes/import mujoco
model = mujoco.MjModel.from_xml_path("kitchen_lab2/scene.xml")
data = mujoco.MjData(model)MJCF holds the collision geometry only; MuJoCo does not render Gaussian splats.
Posing objects at any moment
Objects that moved during the recording are separate entities with trajectories. scene_at(t) places them where they were at time t, so you can start a simulation from any moment of a real episode:
seg = client.segments.get("seg_4f0a")
before = seg.scene_at(t=seg.events()[0].t_ns - 500_000_000) # half a second before the first graspLast updated October 18, 2026