Bei Huang1, Yixin Chen1, Ruijie Lu1, Gang Zeng1, Hongbin Zha1, Yuru Pei1, Siyuan Huang2
1Peking University, 2Beijing Institute for General Artificial Intelligence

Abstract: 3D Gaussian Splatting (3DGS) has emerged as a prominent 3D representation for high-fidelity and real-time rendering. Prior work has coupled physics simulation with Gaussians, but predominantly targets soft, deformable materials, leaving brittle fracture largely unresolved. This stems from two key obstacles: the lack of volumetric interiors with coherent textures in GS representation, and the absence of fracture-aware simulation methods for Gaussians. To address these challenges, we introduce GaussianFluent, a unified framework for realistic simulation and rendering of dynamic object states. First, it synthesizes photorealistic interiors by densifying internal Gaussians guided by generative models. Second, it integrates an optimized Continuum Damage Material Point Method (CD-MPM) to enable brittle fracture simulation at remarkably high speed. Our approach handles complex scenarios including mixed-material objects and multi-stage fracture propagation, achieving results infeasible with previous methods. Experiments clearly demonstrate GaussianFluent’s capability for photo-realistic, real-time rendering with structurally consistent interiors, highlighting its potential for downstream application, such as VR and Robotics.
This repository uses a modified gaussian-splatting as a submodule. Use the following command to clone:
git clone --recurse-submodules git@github.com:HB-pencil-zero/GaussianFluent.git
To prepare the Python environment needed to run GaussianFluent, execute the following commands:
conda create -n GaussianFluent python=3.9
conda activate GaussianFluent
pip install -r requirements.txt
pip install -e gaussian-splatting/submodules/diff-gaussian-rasterization/
pip install -e gaussian-splatting/submodules/simple-knn/
By default, We use pytorch=2.0.1+cu117.
model/ folder into the root directory of this project:
# The structure should look like:
# ./model/watermelon/...
# ./model/jelly/...
# ./model/garden/...
.json config files in the config directory. Run the following commands to simulate:
# For watermelon simulation
python gs_simulation/watermelon/gs_simulation_watermelon.py --model_path model/watermelon --output_path output/watermelon --config config/watermelon_config.json --render_img --compile_video
# For jelly simulation
python gs_simulation/jelly/gs_simulation_jellynacc.py --model_path model/jelly --output_path output/jelly --config config/jelly_config_nacc.json --render_img --compile_video
The images and video results will be saved to the specified output path.
@article{huang2026gaussianfluent,
title={GaussianFluent: Gaussian Simulation for Dynamic Scenes with Mixed Materials},
author={Huang, Bei and Chen, Yixin and Lu, Ruijie and Zeng, Gang and Zha, Hongbin and Pei, Yuru and Huang, Siyuan},
journal={arXiv preprint arXiv:2601.09265},
year={2026},
}
@article{wolper2019cd,
title={CD-MPM: Continuum damage material point methods for dynamic fracture animation},
author={Wolper, Joshuah and Fang, Yu and Li, Minchen and Lu, Jiecong and Gao, Ming and Jiang, Chenfanfu},
journal={ACM Transactions on Graphics (TOG)},
volume={38},
number={4},
pages={119},
year={2019},
publisher={ACM}
}
This codebase is built upon PhysGaussian. The CD-MPM implementation is inspired by the reference code of ziran2019. We thank the authors for their excellent work.