Skip to content

Repository files navigation

VR Pottery Simulation System

An interactive pottery simulation system built with Unity 2021, featuring real-time mesh deformation and Ultraleap hand tracking integration.

🎯 Features

  • Procedural Mesh Generation: Dynamically generates pottery geometry with configurable layers and subdivisions
  • Real-time Deformation: Interactive shaping through mouse/touch or hand gesture input
  • Hand Tracking Integration: Ultraleap hand tracking support for intuitive gesture-based control
  • Multiple Operation Modes: Camera control, shaping, and smoothing modes
  • Data Persistence: Save and load pottery designs in JSON format
  • Material System: Support for different pottery stages (wet clay, baked, etc.)

🛠️ Technology Stack

  • Unity: 2021.3.45f1 (LTS)
  • Ultraleap Tracking: 7.2.0
  • Hand Gesture Detection: Custom LeapMotion integration
  • Serialization: Newtonsoft.Json
  • Rendering: Unity Standard Pipeline

📋 Requirements

  • Unity 2021.3 LTS or later
  • Ultraleap Hand Tracking device (optional, for gesture control)
  • Windows/macOS/Linux

🚀 Getting Started

Installation

  1. Clone the repository:

    git clone https://github.com/YOUR_USERNAME/Leap_2_TaoChi.git
    cd Leap_2_TaoChi
  2. Open the project in Unity 2021.3 LTS or later

  3. Unity will automatically:

    • Import required packages (Ultraleap Tracking, TextMesh Pro, etc.)
    • Resolve dependencies through Packages/manifest.json
  4. Open the main scene:

    • Navigate to Assets/TaoChi/Scenes/Main.unity
    • Or use the scene at Assets/max.unity

Configuration

  1. Ultraleap Setup (Optional):

    • Connect your Ultraleap device
    • The project should automatically detect and configure tracking
  2. Input Method:

    • Mouse/Touch: Default input for pottery shaping
    • Hand Tracking: Requires Ultraleap device and KongZhiMoNi component

🎮 Usage

Basic Controls

  • Camera Mode: Rotate camera around pottery, zoom with scroll wheel
  • Shaping Mode: Click and drag to deform pottery horizontally
  • Smoothing Mode: Hold and move to smooth pottery surface
  • Hand Gestures:
    • Use both hands' index fingers to control shaping intensity
    • Distance between fingers controls deformation force

Material Modes

  • Wet Clay Mode: Fast rotation, shaping enabled
  • Baked Mode: Slow rotation, viewing mode

📁 Project Structure

Assets/
├── TaoChi/                      # Core project code
│   ├── Pottery/
│   │   ├── Scripts/
│   │   │   ├── Pottery.cs      # Main pottery system
│   │   │   ├── PotteryTest.cs  # UI controller
│   │   │   └── SelfRoute.cs    # Auto-rotation
│   │   ├── KongZhiMoNi.cs      # Hand tracking bridge
│   │   └── Materials/          # Pottery materials
│   ├── MessageBox/             # UI message system
│   └── Scenes/                 # Unity scenes
├── LeapMotionGestureDetection/ # Hand tracking system
└── Samples/                    # Ultraleap examples

🔧 Core Systems

Mesh Generation Algorithm

  • Generates pottery in 5 sections: bottom, outer wall, top, inner wall, inner bottom
  • Parameterized by layer count, subdivision level, and per-layer radius array
  • Cosine-weighted influence for smooth deformation

Deformation System

  • Real-time vertex manipulation based on input delta
  • Layer-based radius modification with smooth interpolation
  • Normal recalculation and smoothing for visual quality

Data Model

  • JSON-serializable PotteryData structure
  • Supports saving/loading pottery designs
  • State management for unsaved changes

📝 Key Components

  • Pottery.cs: Core mesh generation and deformation logic
  • KongZhiMoNi.cs: Translates hand tracking data to pottery controls
  • DetectionManager: Manages Ultraleap hand tracking input
  • MessageBox: UI system for user prompts and notifications

🎨 Features in Detail

Procedural Generation

  • Configurable detail level (default: 60 subdivisions)
  • Adjustable layer count (default: 30 layers)
  • Customizable thickness and radius constraints

Interactive Deformation

  • Mouse/touch input support
  • Hand gesture input support
  • Smooth influence zones with cosine falloff
  • Real-time mesh updates at 60 FPS

Material System

  • Multiple pottery stage materials
  • Dynamic material switching
  • Material-linked rotation speeds

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

[Add your license here - check all third-party assets first]

🙏 Acknowledgments

  • Ultraleap for hand tracking technology
  • Unity Technologies for the Unity Engine
  • Third-party asset creators (check licenses for specific assets)

📧 Contact

[Add your contact information]


Note: Some assets (like AVProVideo, SCI-FI UI Pack) may require separate licenses from Unity Asset Store. Check individual asset licenses before commercial use.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages