PhysCtrl: Generative Physics for Controllable and Physics-Grounded Video Generation

Chen Wang, Chuhao Chen, Yiming Huang, Zhiyang Dou, Yuan Liu +2 more
9/24/2025
cs.CV

No official code found. Best implementation: cwchenwang/physctrl (133 stars, last commit 2026-02-22).

Abstract

Existing video generation models excel at producing photo-realistic videos from text or images, but often lack physical plausibility and 3D controllability. To overcome these limitations, we introduce PhysCtrl, a novel framework for physics-grounded image-to-video generation with physical parameters and force control. At its core is a generative physics network that learns the distribution of physical dynamics across four materials (elastic, sand, plasticine, and rigid) via a diffusion model conditioned on physics parameters and applied forces. We represent physical dynamics as 3D point trajectories and train on a large-scale synthetic dataset of 550K animations generated by physics simulators. We enhance the diffusion model with a novel spatiotemporal attention block that emulates particle interactions and incorporates physics-based constraints during training to enforce physical plausibility. Experiments show that PhysCtrl generates realistic, physics-grounded motion trajectories which, when used to drive image-to-video models, yield high-fidelity, controllable videos that outperform existing methods in both visual quality and physical plausibility. Project Page: https://cwchenwang.github.io/physctrl

View on arXivView PDF

Code Implementations(1)

[NeurIPS 2025] PhysCtrl: Generative Physics for Controllable and Physics-Grounded Video Generation

1338Cuda, ShellJun 14, 20258 months ago

Similar Papers

Cite this paper

@article{wang2025physctrl,
  title  = {PhysCtrl: Generative Physics for Controllable and Physics-Grounded Video Generation},
  author = {Chen Wang and Chuhao Chen and Yiming Huang and Zhiyang Dou and Yuan Liu and Jiatao Gu and Lingjie Liu},
  year   = {2025},
  eprint = {2509.20358},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.20358v2},
  journal = {NEURIPS 2025 2025}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2509.20358.svg)](https://codeofpaper.com/paper/2509.20358)

Discussion