A Scalable Synthetic Video Data Engine for World Exploration with Rich Annotations
Xiaojie Xu1,2,* Zhengyuan Lin1,2,* Runyi Li1,2 Yihao Liu1 Kaipeng Zhang1,† Yongtao Ge1,†
1 Alaya Lab · 2 The University of Tokyo · * Equal contribution · † Corresponding author
Paper · Project page · Dataset (preview) · Tools
WorldRover is a data engine that walks a camera — and optionally a character — through artist-built 3D environments and records the traversal as video together with the annotations that a renderer can produce exactly, rather than estimate afterwards: metric depth, per-frame camera pose, optical flow, and the action stream that produced the motion.
Five axes of variation come out of the same engine:
| Multi-view | Three observations of a route with matched timing and geometry — first person, third person, 360 panorama |
| Multi-modal | Colour, depth and motion from one rasterization of the same instant |
| Multi-style | Geometry and motion held fixed while illumination or texture changes |
| Multi-scene | 30+ artist-built Unreal Engine scenes, interior to city scale |
| Multi-character | 70+ animated humanoids, animals and creatures |
Because the camera path is a first-class input, the same trajectory can be re-rendered in a different projection, a different lighting state, or with a different character, and the frames still line up frame for frame.
This is a preview release — the paired panoramic / first-person slice: four scenes, about 30 min of each view per scene, ~4.1 h of video at 30 fps. It is a slice of the corpus the paper reports, not the whole of it.
| Scene | Clips per view | Per view | With depth |
|---|---|---|---|
| med_village | 13 | 32.1 min | 286 GB |
| paris | 23 | 30.7 min | 167 GB |
| venice | 46 | 30.5 min | 169 GB |
| art_nouveau | 47 | 30.2 min | 179 GB |
Start from the lite subset — RGB, camera pose, actions and metadata, ~103 GB — and pull the per-scene repositories only for the scenes whose lossless depth you need (depth is 87% of the bytes).
Every clip, both views, ships:
<scene>/{pano,fp}/<clip_id>/
rgb.mp4 H.264 30 fps, sRGB; pano 4096x2048 equirect, fp 1280x720 pinhole
depth/depth.mkv FFV1 lossless 16-bit, log-quantized radial distance
depth/depth.meta.json near/far, frame count, decode formula
camera_trajectory.csv per-frame pose (cm, deg) + intrinsics
description.json scene identity, asset pack + license, trajectory summary
gamepad_format/ action labels (axes normalized to [-1, 1])
trajectory.png top-down path preview
The two views of a clip id share the same camera path frame for frame: the first-person clip was rendered from the panoramic clip's per-frame trajectory, so the two pose files match exactly. To check a scene:
python tools/scripts/check_pairing.py /data/WorldRover/veniceClips are 35 s to 3.5 min of continuous motion — no cuts, no teleports.
tools/ holds the dataset-side Python package and scripts: reading clips, decoding depth,
camera geometry, verifying a download, and visualising trajectories and point clouds.
pip install -r tools/requirements.txt
python tools/scripts/verify_dataset.py /data/WorldRover --check-actionsfrom worldrover import Clip # with tools/ on PYTHONPATH
clip = Clip("venice/fp/venice_000003")
rgb = clip.rgb_frame(100) # uint8 (720, 1280, 3), sRGB
depth_m = clip.depth_frame(100) # planar depth in metres
points = clip.points_world(100) # world points in centimetresThree conventions are easy to get wrong by hand, and the tools handle all three: depth codes
are log-quantized and store radial distance (convert before unprojecting);
camera_trajectory.csv has n_frames + 1 rows, the last being the closing keyframe; poses
are Unreal-style — left-handed, centimetres, X-forward / Y-right / Z-up, camera looking down
its own +X. See tools/README.md and tools/docs/ for the full format,
camera model and pairing notes.
The renderer and trajectory planner are not part of this release.
- Preview release — first-person and 360-panoramic RGB-D, 4 scenes
- Dataset tools
- Style and white-model video (first person)
- Third-person video with motion labels
- More scenes
- WorldRover-Engine — scene pre-processing, trajectory planning, rendering pipeline
@article{worldrover2026,
title = {WorldRover: A Scalable Synthetic Video Data Engine
for World Exploration with Rich Annotations},
author = {Xu, Xiaojie and Lin, Zhengyuan and Li, Runyi and
Liu, Yihao and Zhang, Kaipeng and Ge, Yongtao},
journal = {arXiv preprint arXiv:2608.15659},
year = {2026},
eprint = {2608.15659},
archivePrefix = {arXiv},
url = {https://arxiv.org/abs/2608.15659}
}The dataset's rendered video, depth, camera pose and action labels are released for research
use; the underlying 3D environments are third-party commercial assets, are not
redistributed, and each clip's description.json records its asset pack and license. The
tools in tools/ are MIT licensed (tools/LICENSE).
