PETRA is an open-source, gesture-controlled system for exploring 3D rocks and minerals. Developed in TouchDesigner, it uses a standard webcam and the MediaPipe framework to translate natural hand movements into real-time manipulation of digital specimens.
This project was developed as part of the scientific article:
Apopei, A. I. (2025). Accessible Interface for Museum Geological Exhibitions: PETRAβA Gesture-Controlled Experience of Three-Dimensional Rocks and Minerals. Minerals, 15(8), 775. https://doi.org/10.3390/min15080775
Click the image above to watch the demo video and see PETRA in action.
- To create a low-cost, accessible interface for museum and educational settings.
- To provide an intuitive, touchless, and hygienic way to interact with digital 3D models.
- To serve as a practical case study for the Mineralogy 4.0 framework.
- A Windows or macOS computer.
- TouchDesigner Build 2023.12230 or newer (https://derivative.ca/). This project was developed and tested on this version. The free non-commercial version is sufficient.
- A standard HD or FullHD webcam.
- Go to the Releases Page of this repository.
- Under the latest release (e.g.,
v2025.6), download thePETRA-vYYYY.X.zipfile from the "Assets" section. - Unzip the folder, and you're ready to go.
- Open the
PETRA.1.toefile in TouchDesigner. - The system should start automatically. If your webcam is not detected, go to the Camera Input section (Gray nodes), select the MediaPipe container, and then inside it, go to the
Webcamoperator and select the correct camera source from its parameters. - To launch in full screen, go to the Start Performance Mode section (Green nodes) and click the "START" button for either Landscape or Portrait mode.
This project is designed to be easily understood and modified. The network is organized with a color-coded legend to guide you.
- π¨ Green: Performance Controls
- Interactive buttons used to start the application in its final, full-screen performance mode.
- βοΈ Gray: User Settings & Content
- General settings intended for easy user modification. This is where you can change the webcam source, update UI text, or add your own 3D models.
β οΈ Yellow: UI Layout- Nodes that control the user interface layout. Modify these with caution, primarily for adjusting the UI for different screen orientations.
- β Red: Core Logic
- Critical nodes that handle the project's core functionality. Modification is not recommended.
If you find a bug or have a suggestion for improvement, please open an issue on this repository.
This entire project, including all code, 3D models, textures, and audio assets, is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).
You are free to:
- Share β copy and redistribute the material in any medium or format.
- Adapt β remix, transform, and build upon the material.
Under the following terms:
- Attribution β You must give appropriate credit, provide a link to the license, and indicate if changes were made.
- NonCommercial β You may not use the material for commercial purposes.
- ShareAlike β If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
You can find the full license text in the LICENSE file.
If you use this project or its assets in your own research, please cite the paper:
Apopei, A. I. (2025). Accessible Interface for Museum Geological Exhibitions: PETRAβA Gesture-Controlled Experience of Three-Dimensional Rocks and Minerals. Minerals, 15(8), 775. https://doi.org/10.3390/min15080775
- This project utilizes the MediaPipe TouchDesigner Plugin created by Torin Blankensmith.
- 3D models were sourced from the Atlas of 3D Rocks and Minerals project (Apopei, 2024).