8000 GitHub - Simulation-Intelligence/VR-Doh
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Simulation-Intelligence/VR-Doh

Repository files navigation

VR-Doh: Hands-on 3D Modeling in Virtual Reality

ACM Transactions on Graphics (SIGGRAPH), 2025

Authors

Zhaofeng Luo*1,2, Zhitong Cui*1,3, Shijian Luo3, Mengyu Chu2,4, Minchen Li1

1 Carnegie Mellon University
2 Peking University
3 Zhejiang University
4 State Key Lab of General AI

*Equal Contribution

Links

System Requirements

Currently tested only on Meta Quest 3. Support for other VR headset models requires manual adjustment of related settings.

Getting Started

The scene is pre-configured. To quickly experience VR-Doh, follow these steps:

  1. Clone the project

    git clone https://github.com/Simulation-Intelligence/VR-Doh
  2. Add project to Unity

    • In Unity Hub, select "Add" → "Add project from disk"
    • Select the cloned folder
  3. Install and configure Meta Quest Link

    • Ensure Meta Quest Link is installed on your PC
    • Connect properly with Quest 3
  4. Configure Quest Link settings

    • In Settings → Beta, enable "Developer Runtime Features" and all related options
    • In Settings → General, ensure "Set Meta Quest Link as the active OpenXR Runtime" is checked
  5. Open Unity project

    • If errors occur during the process, select "Ignore"
    • If prompted about Oculus input changes requiring restart, select "Restart"
  6. Load the scene

    • Open Assets/Scenes/MPM 88_UI2 scene
  7. Run the project

    • Ensure your PC and Quest 3 are properly connected with Quest Link mode active
    • Click "Play" at the top of the screen in Unity to enter

Code Architecture

Physics Simulation Core

The main physics simulation is implemented in: scripts/mpm3D_gaussian_part.kernel.py

This part uses Taichi to compile kernels into AOT modules (default location: Assets/Resources/TaichiModules/mpm3DGaussian_part_mat.kernel.tcm).

In Unity, the module is imported via C# with main code in: Assets/Scripts/Mpm3DMarching.cs

Parameter Configuration

While users can adjust various parameters through the UI after launching the scene, some parameters are not yet exposed. Currently, all algorithms and parameters mentioned in the paper can be adjusted through the following method:

  • Test_Example_1 and Test_Example_2 in the scene are the default startup objects.
  • You can pre-adjust parameters in their Mpm 3D Marching component in the Unity Editor.

Common Parameters

  • Render Type:

    • Select Marching Cubes for modeling from scratch
    • Select Gaussian Splats for editing 3D-GS models
  • If using Gaussian Splats:

    • Enable the Gaussian Splat Renderer component on the object
    • Select a target Asset (created via Tools → Gaussian Splats → CreateGaussianSplatAsset)
    • Ensure quality is set to very high
  • Decoupling of physical and appearance representations:

    • Enable Use_gaussian_acceleration
    • Adjust Gaussian_simulate_ratio

Troubleshooting

If you encounter any deployment or runtime issues, please:

Citation

If you use VR-Doh in your research, please cite our paper:

@article{luo2025vrdoh,
  author = {Zhaofeng Luo and Zhitong Cui and Shijian Luo and Mengyu Chu and Minchen Li},
  title = {VR-Doh: Hands-on 3D Modeling in Virtual Reality},
  year = {2025},
  issue_date = {July 2025},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  volume = {44},
  number = {4},
  issn = {0730-0301},
  url = {https://doi.org/10.1145/3731154},
  doi = {10.1145/3731154},
  journal = {ACM Trans. Graph.},
  month = jul,
  numpages = {12},
  keywords = {Virtual Reality, 3D Modeling, Elastoplasticity Simulation, Material Point Method, Human-Computer Interaction}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0