Use Built-in CraftBench Scenes#
CraftBench is a curated benchmark of high-quality, artist-designed 3D urban scenes created by professional environment artists. These scenes complement UrbanVerse-160 by providing clean, controllable, visually refined simulation environmentsβideal for benchmarking, policy evaluation, and qualitative inspection.
Each CraftBench scene includes:
a fully assembled USD environment (scene.usd)
a flythrough video (preview.mp4) for quick browsing
high-quality PBR materials, HDRI lighting, and consistent native scale
This page explains how to:
load CraftBench scenes,
inspect scene metadata,
open scenes in Isaac Sim UI for interactive exploration.
Prerequisite#
Before using CraftBench, ensure you have set:
export URBANVERSE_CRAFTBENCH_ROOT="/path/to/UrbanVerse-CraftBench"
The directory structure is:
UrbanVerse-CraftBench/
βββ CraftBench_0001/
β βββ scene.usd
β βββ preview.mp4
βββ CraftBench_0002/
β βββ scene.usd
β βββ preview.mp4
βββ ...
Loading CraftBench Scenes#
UrbanVerse provides a simple, unified API for loading all CraftBench scene paths.
API#
uv.scenes.load_craftbench_scenes(
scene_root: str | None = None,
) -> list[str]
If scene_root is not given, the value of
$URBANVERSE_CRAFTBENCH_ROOT is used.
Example#
import urbanverse as uv
craft_scenes = uv.scenes.load_craftbench_scenes()
print("Total CraftBench scenes:", len(craft_scenes))
print("Example:", craft_scenes[0])
Typical console output:
Total CraftBench scenes: 10
Example: /data/UrbanVerse-CraftBench/CraftBench_0001/scene.usd
Previewing Scenes (Optional)#
Each CraftBench scene includes a short 10β20 second flythrough video, allowing you to quickly browse the artistic environment.
API#
uv.scenes.get_preview_video(scene_path: str) -> str
Example#
preview = uv.scenes.get_preview_video(craft_scenes[0])
print(preview)
Outputs something like:
/data/UrbanVerse-CraftBench/CraftBench_0001/preview.mp4
Spawning CraftBench Scenes in IsaacSim UI#
CraftBench scenes are ready-to-run USD environments compatible with Isaac Sim. UrbanVerse provides a direct helper to open these scenes in the Isaac Sim UI.
API#
uv.scenes.launch_in_isaacsim(
scene_usd_path: str,
headless: bool = False,
)
Example#
To inspect CraftBench_0001 in Isaac Sim:
import urbanverse as uv
craft_scenes = uv.scenes.load_craftbench_scenes()
uv.scenes.launch_in_isaacsim(
scene_usd_path=craft_scenes[0],
headless=False
)
This opens Isaac Sim UI and loads the selected CraftBench environment, allowing you to:
orbit the camera around the environment,
inspect object geometry, materials, and lighting,
place robots manually,
debug navigation behavior,
test simulation stability.
CraftBench scenes offer consistent, high-quality lighting and geometry, making them ideal for evaluation, ablation studies, or policy demonstrations.
Filtering CraftBench Scenes by Attributes (Optional)#
CraftBench metadata includes fields such as:
scene type (CBD, bar street, residential block, etc.)
number of objects
complexity level
lighting type (sunny, overcast, sunset)
material richness
API#
uv.scenes.filter_craftbench(
scenes: list[str],
type: str | None = None,
min_objects: int | None = None,
complexity: str | None = None,
) -> list[str]
Example#
Select all high-complexity street scenes:
filtered = uv.scenes.filter_craftbench(
scenes=craft_scenes,
type="bar street",
complexity="high",
)
print("Filtered:", len(filtered))
Summary#
This quickstart page shows how to:
load the artist-designed CraftBench scenes,
preview them using included videos,
and launch them in Isaac Sim UI for inspection and debugging.
CraftBench provides high-quality, aesthetically consistent environments that are perfect for testing your trained UrbanVerse RL policies, running benchmarks, or creating demonstration videos.