---
title: PhysicalWorld
canonical_url: "https://www.modelscope.cn/datasets/GelerCAT/PhysicalWorld"
md_url: "https://www.modelscope.cn/datasets/GelerCAT/PhysicalWorld.md"
repository: GelerCAT/PhysicalWorld
last_updated: 2026-09-20
license: "MIT License"
storage_size: "14 KB"
downloads: 1536108
stars: 2
---

# PhysicalWorld

> PhysicalWorld - GelerCAT 在 ModelScope 开源的数据集。PhysEditWorld is a large-scale dataset for studying physics-editable world models in interactive game environments. The dataset is built around a matched replay protocol: the same authored UE5 scene, initial…

GelerCAT/PhysicalWorld 是 ModelScope 魔搭社区上的数据集，存储大小 14 KB，采用 MIT License 许可。

- **Repository**: GelerCAT/PhysicalWorld
- **License**: MIT License
- **Storage size**: 14 KB
- **Downloads**: 1536108
- **Stars**: 2
- **Last updated**: 2026-09-20

Source: https://www.modelscope.cn/datasets/GelerCAT/PhysicalWorld

---

# PhysEditWorld

**PhysEditWorld** is a large-scale dataset for studying physics-editable world models in interactive game environments. The dataset is built around a matched replay protocol: the same authored UE5 scene, initial state, character controller, action sequence, and camera policy are replayed under different physical configurations, making the effect of a physical edit directly comparable across rollouts.

This ModelScope repository provides the camera-repaired full dataset on the `0917-camera-fix` branch. The original `0826-part2` full release and earlier `0520-lite` subset remain available for reproducibility and lightweight experiments. These releases contain synchronized multi-view RGB videos, frame-level and event-level metadata, and explicit gravity configuration files. They are intended for research on gravity-conditioned video generation, action-conditioned world models, physical consistency evaluation, and gravity-aware video-language understanding.

## Camera-occlusion notice: replacements for `0826-part2`

**Some samples in `0826-part2` have occluded camera views.** Re-rendered replacements are available on the [**`0917-camera-fix` branch**](https://modelscope.cn/datasets/GelerCAT/PhysicalWorld/files?Revision=0917-camera-fix), with camera adaptation focused on first-person (FP) and third-person (TP) views. Use this branch for new full-dataset downloads or to replace samples from `0826-part2`.

If you already use `0826-part2`, match your existing samples through the single [**old-to-new sample mapping CSV**](https://modelscope.cn/api/v1/datasets/GelerCAT/PhysicalWorld/repo?Revision=0917-camera-fix&FilePath=sample_id_mapping_0826_to_0917_fix.csv) (`sample_id_mapping_0826_to_0917_fix.csv`, about 3.3 MB). This file is at the **repository root of the repair branch**, not inside its `0917-camera-fix/` data directory; it is different from the default branch's `metadata.csv` preview.

1. Find the existing eight-digit ID in `old_sample_id`. Read IDs as strings to preserve leading zeros.
2. Use `new_sample_id`, `new_video_dir`, `new_frame_meta`, and `new_time_meta` to locate its replacement in the `0917-camera-fix` checkout. These paths are relative to the repository checkout root.
3. Replace the sample's eight-view videos **together with its new frame/time Meta**. Do not pair repaired videos with old `0826-part2` Meta.

The CSV covers **all 6,560 original samples**, not just samples known to have occlusion. Original IDs are preserved (`old_sample_id == new_sample_id`), and the repair release is a replacement, not 6,560 additional independent samples. The original branches remain available; the existence of a replacement is not a per-sample guarantee that every camera is unobstructed throughout the clip.

## News

- **2026-09-20 — Camera-repair release published.** `0917-camera-fix` provides re-rendered videos and matching new Meta for all 6,560 samples from `0826-part2`, together with one complete old-to-new mapping CSV. See the [occlusion notice and replacement guide](#camera-occlusion-notice-replacements-for-0826-part2) above.
- **2026-08-27 — Full dataset released.** The full PhysEditWorld dataset is now available on the `0826-part2` branch, with 6,560 gravity-conditioned rollouts, 52,480 synchronized multi-view RGB videos, and metadata for 656 programmatically generated interaction sequences across 8 scenes.
- **2026-05-20 — Lite subset released.** The `0520-lite` branch provides 7,300 gravity-conditioned rollouts from 730 human-recorded interaction sequences.

## Abstract

Recent game world models can synthesize visually plausible action-conditioned rollouts, but their physical dynamics are often learned as implicit correlations rather than controllable variables. PhysEditWorld targets this gap by organizing game rollouts around explicit physical interventions. In the current release, gravity is used as the first editable physical parameter. Each replay group keeps scene content, player input, controller logic, and camera policy fixed while varying only the gravity configuration. This design supports controlled analysis of jump arcs, airtime, fall speed, landing timing, camera displacement, and object motion under counterfactual physical settings.

The broader PhysEditWorld project is generated by a UE5 replay-and-rendering pipeline and is designed to support synchronized multimodal supervision. Use `0917-camera-fix` for the camera-repaired full release, `0826-part2` for the original full release, or `0520-lite` for the earlier lightweight release.

## Release Summary

The `0917-camera-fix` replacement preserves the full release's 6,560 sample IDs and provides 52,480 videos and 13,120 matching new Meta files in the same release-directory layout. The table below describes the original releases; the repair branch does not add new independent samples.

| Item | `0826-part2` full release | `0520-lite` release |
| --- | ---: | ---: |
| Interaction sequences | 656 | 730 |
| Sequence source | Programmatically generated | Human recorded |
| Scenes | 8 | 8 |
| Samples | 6,560 | 7,300 |
| RGB videos | 52,480 MP4 files | 58,400 MP4 files |
| Camera views per sample | 8 | 8 |
| Frame metadata files | 6,560 | 7,300 |
| Time/event metadata files | 6,560 | 7,300 |
| Gravity configurations | 10 | 10 |
| Git LFS payload size | about 1.66 TiB | about 1.6 TiB |

Camera views in this release:

```text
BK_Camera  FL_Camera  FP_Camera  FR_Camera
FW_Camera  LF_Camera  RT_Camera  TP_Camera
```

Gravity configuration files:

```text
G_0.05  G_0.1  G_0.25  G_0.5  G_0.75
G_1.0   G_5    G_10    G_15   G_20
```

## Repository Organization

The default `master` branch contains the dataset card and a lightweight `metadata.csv` preview manifest for ModelScope indexing. Dataset payloads are stored on release branches. Use `revision="0917-camera-fix"` for the camera-repaired full release, `revision="0826-part2"` for the original full release, or `revision="0520-lite"` for the earlier lite release.

## Dataset Layout

```text
master branch:
  README.md
  metadata.csv

0917-camera-fix, 0826-part2, or 0520-lite branch:
<release_name>/
  Details.json
  Video/
    <sample_id>/
      BK_Camera.mp4
      FL_Camera.mp4
      FP_Camera.mp4
      FR_Camera.mp4
      FW_Camera.mp4
      LF_Camera.mp4
      RT_Camera.mp4
      TP_Camera.mp4
  Meta/
    <sample_id>_meta_frame.csv
    <sample_id>_meta_time.csv
  PhysicalConfig/
    G_<gravity>.json
    ALL_Physical_Config_Used.json
  PipelinePlan/
    pipeline_plan.json
    pipeline_state.json
  UploadManifests/
    <manifest_id>.json
  upload_registry.json
```

`Details.json` is the global sample index. Video paths, metadata paths, scene names, action sequence names, camera names, and physical configuration references are stored relative to the release root. Frame metadata aligns rendered frames with simulation state. Time metadata records event-level information over replay and capture time. `PhysicalConfig/` stores the explicit simulation parameters used for each gravity condition.

The repair branch additionally has `sample_id_mapping_0826_to_0917_fix.csv` at its repository root, alongside `0917-camera-fix/`.

## Quickstart

The examples below download the `0917-camera-fix` replacement. Select `0826-part2` explicitly only when you need the original release.

### Install dependencies

```bash
pip install -U modelscope pandas
git lfs install
```

### Download with the ModelScope SDK

```python
from modelscope import dataset_snapshot_download

dataset_dir = dataset_snapshot_download(
    dataset_id="GelerCAT/PhysicalWorld",
    revision="0917-camera-fix",
    local_dir="./PhysicalWorld",
)

print(dataset_dir)
```

### Download with the ModelScope CLI

```bash
modelscope download \
  --dataset GelerCAT/PhysicalWorld \
  --revision 0917-camera-fix \
  --local_dir ./PhysicalWorld
```

### Download with Git LFS

```bash
git clone --single-branch --branch 0917-camera-fix \
  https://www.modelscope.cn/datasets/GelerCAT/PhysicalWorld.git

cd PhysicalWorld
git lfs pull
```

For metadata-first inspection without downloading the full LFS payload, clone with LFS smudge disabled and then pull selected files:

```bash
GIT_LFS_SKIP_SMUDGE=1 git clone --single-branch --branch 0917-camera-fix \
  https://www.modelscope.cn/datasets/GelerCAT/PhysicalWorld.git

cd PhysicalWorld
git lfs pull --include="sample_id_mapping_0826_to_0917_fix.csv,0917-camera-fix/Details.json,0917-camera-fix/PhysicalConfig/*"
git lfs pull --include="0917-camera-fix/Meta/00000662_*,0917-camera-fix/Video/00000662/*.mp4"
```

ModelScope also provides generated download snippets. Select `0917-camera-fix` in the branch selector when using these; the default `master` branch contains only the dataset card and preview metadata, not the full payload:

:modelscope-code[]{type="sdk"}
:modelscope-code[]{type="git"}

## Reading A Sample

```python
import json
from pathlib import Path

import pandas as pd

root = Path("PhysicalWorld/0917-camera-fix")

with open(root / "Details.json", "r") as f:
    details = json.load(f)

samples = details["samples"] if isinstance(details, dict) and "samples" in details else details
sample = samples[0]

sample_id = sample["sample_id"]
frame_meta = pd.read_csv(root / sample["frame_meta_file"])
time_meta = pd.read_csv(root / sample["time_meta_file"])

print("sample:", sample_id)
print("scene:", sample.get("scene_name"))
print("physical config:", sample.get("physical_config_name"))
print("cameras:", sample.get("camera_names"))
print(frame_meta.head())
```

## Recommended Use

- Use matched replay groups when evaluating physical consistency. Avoid random clip-level splits that separate gravity variants from the same replay group.
- Condition models on the explicit gravity label or the corresponding `PhysicalConfig` entry.
- Compare generated motion within the same scene/action/camera setup whenever possible, since the dataset is designed for counterfactual physical comparisons.
- Report the release branch (`0917-camera-fix`, `0826-part2`, or `0520-lite`) and the exact subset of samples used in experiments.

## Citation

If you use PhysEditWorld in your research, please cite the paper and dataset release.

Paper: [arXiv:2606.26694](https://arxiv.org/abs/2606.26694)

```bibtex
@misc{2026physeditworld,
  title         = {PhysEditWorld: A Large-Scale Dataset Toward Physics-Editable World Models},
  author        = {Hu, Bin and Ma, Yanwen and Huang, Jiehui and Zhang, Ziliang and Wu, Haoning and Zhang, Ruicheng and Li, Yaokun and Wang, Zijun and Zhang, Yuechen and Tseng, Chun-Mei and Li, Hanhui and Qian, Shengju and Zhou, Jun and Zhang, Kaipeng and Liang, Xiaodan and Jia, Jiaya and Li, Xiu},
  year          = {2026},
  eprint        = {2606.26694},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  doi           = {10.48550/arXiv.2606.26694},
  url           = {https://arxiv.org/abs/2606.26694},
  note          = {Dataset release, full branch: 0826-part2, \url{https://modelscope.cn/datasets/GelerCAT/PhysicalWorld}}
}
```

## License

This dataset release is provided under the MIT License. The released branch contains processed dataset files for research use. Raw third-party UE5 scene assets are not included in this release.
