Physics3D 项目使用教程
1. 项目目录结构及介绍
Physics3D/
├── assets/
├── config/
├── mpm_solver_warp/
├── particle_filling/
├── utils/
├── video_distillation/
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── simulation.py
目录结构介绍
- assets/: 存放项目所需的静态资源文件。
- config/: 存放项目的配置文件,如
ball_config.json
。 - mpm_solver_warp/: 包含与 Material Point Method (MPM) 相关的代码,用于物理模拟。
- particle_filling/: 包含与粒子填充相关的代码。
- utils/: 包含项目中使用的各种工具函数和辅助代码。
- video_distillation/: 包含与视频蒸馏相关的代码。
- .gitignore: Git 忽略文件,指定哪些文件和目录不需要被版本控制。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的说明文档。
- requirements.txt: 项目依赖的 Python 包列表。
- simulation.py: 项目的启动文件,用于执行物理模拟和渲染。
2. 项目启动文件介绍
simulation.py
simulation.py
是 Physics3D 项目的启动文件,负责执行物理模拟和渲染。以下是该文件的主要功能:
- 模型加载: 从指定路径加载 3D Gaussian 模型。
- 物理模拟: 使用 Material Point Method (MPM) 进行物理模拟。
- 视频生成: 根据模拟结果生成视频帧。
- 参数优化: 使用预训练的视频扩散模型(如 ModelScope)优化物理参数。
使用示例
python simulation.py --model_path /model/ball/ --prompt "a basketball falling down" --output_path /output --physics_config /config/ball_config.json
3. 项目的配置文件介绍
config/ball_config.json
ball_config.json
是 Physics3D 项目中的一个典型配置文件,用于定义物理模拟的参数。以下是该文件的主要内容:
{
"model_path": "/model/ball/",
"prompt": "a basketball falling down",
"output_path": "/output",
"physics_config": {
"elastic_modulus": 1000,
"viscosity": 0.1,
"density": 1.2
}
}
配置文件参数介绍
- model_path: 指定 3D Gaussian 模型的路径。
- prompt: 用于生成视频的文本提示。
- output_path: 指定输出视频的路径。
- physics_config: 包含物理模拟的参数,如弹性模量、粘度和密度。
通过调整这些参数,可以控制物理模拟的行为和结果。