Skip to content

TypeThe0ry/GroWin-RowVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GroWin-RowVision — VR Rowing Training Simulator

A virtual-reality-based rowing motion training application. Players wear a VR headset and hold virtual oars with both hands. Through realistic rowing movements, they drive the boat forward on the water while using a motion calibration and evaluation system to measure the accuracy of their rowing posture.


Project Overview

GroWin-RowVision combines traditional rowing training with virtual reality technology to provide an immersive rowing posture training experience. The system supports:

  • Real-time motion capture: Captures the position and rotation data of both hand controllers through OpenXR
  • Motion calibration recording: Allows a coach or standard rowing movement to be recorded as a reference template
  • Posture evaluation scoring: Compares the user’s rowing movement with the reference movement frame by frame and outputs an error score
  • Physics-driven boat movement: Maps rowing frequency and force directly to the physical propulsion of the boat

Features

Feature Description
🚣 Physics-based rowing Uses Rigidbody physics. Higher rowing frequency generates greater propulsion, with a capped maximum force
📍 Trigger zone detection Automatically generates start and end trigger zones in VR space to detect the beginning and end of a rowing stroke
🎯 Motion calibration system Hold the A button for 3 seconds to record a standard movement sequence with multiple frames
📊 Motion evaluation Resamples the user’s movement and compares it with the reference frame sequence to calculate average error in meters
🖐️ Two-hand oar rotation Supports two-handed oar rotation interaction, allowing both hands to control the oar around a central pivot
🎮 Single-axis draggable objects VR drag component with movement limits and automatic return after release
🌊 Real-time ocean rendering Integrates Crest Ocean System with boat wake and underwater effects
🗺️ Island terrain scene Uses Free Island Collection terrain with vegetation, cliffs, and beach textures
📱 UI system Displays real-time boat speed and supports menu scene switching

Tech Stack

Category Version
Unity 2021.3.45f2 LTS
Render Pipeline Universal Render Pipeline (URP) 12.1.15
XR Framework XR Interaction Toolkit 2.6.5 + OpenXR 1.13.2
Target Platform PICO 4 / PICO 4 Enterprise (Android)
Ocean System Crest Ocean System
Animation / UI TextMeshPro 3.0.6 · DOTween (Demigiant)
Version Control Git + Git LFS 3.5

Project Structure

Assets/
├── Animator/           # Animation controllers for boat animation
├── Crest/              # Crest Ocean System assets and examples
├── Model/              # Boat FBX models
├── Plugins/            # Third-party plugins such as DOTween / PICO SDK
├── Prefabs/            # Scene prefabs
│   ├── BoatWakesScene.prefab   # Boat scene prefab with wake effects
│   ├── OarPivot.prefab         # Oar pivot point
│   └── Terrain.prefab          # Terrain prefab
├── Resources/          # Runtime dynamically loaded resources
├── Samples/            # XR Interaction Toolkit sample assets
├── Scenes/
│   ├── MenuScene.unity         # Main menu scene
│   └── SampleScene.unity       # Main gameplay scene
├── Scripts/
│   ├── Boat/
│   │   ├── BoatMover.cs            # Boat physics propulsion control
│   │   └── RowingStrokeDetector.cs # Rowing stroke trigger zone detection
│   ├── Manager/
│   │   └── GameManager.cs          # Scene management / quit game
│   ├── PaddleHandle/
│   │   ├── CreateTriggerOarSystem.cs  # Main rowing calibration system controller
│   │   ├── OneAxisDragAndReturn.cs    # Single-axis drag + automatic return
│   │   ├── RowingTrainerRawXR.cs      # Raw XR data motion recording and evaluation
│   │   └── TriggerOarObject.cs        # Oar blade trigger event handling
│   ├── Tools/
│   │   ├── JackXRUse.cs               # XR utility functions
│   │   └── OarTwoHandRotator.cs       # Two-hand oar rotation controller
│   └── UI/
│       └── UITools.cs                 # UI utility class, such as speed display
├── Sharder/            # Custom shaders
├── UI/                 # UI atlases and Free Island terrain textures
├── WaterWorks/         # Additional water effect assets
├── XR/                 # XR device configuration
└── XRI/                # XR Interaction Toolkit configuration presets

About

A virtual-reality-based rowing motion training application. Players wear a VR headset and hold virtual oars with both hands. Through realistic rowing movements, they drive the boat forward on the water while using a motion calibration and evaluation system to measure the accuracy of their rowing posture.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors