Basketball Tactic Training System

VR-BTB — Immersive Basketball Tactic Training

The Basketball Tactic Training System offers an immersive VR training experience, accelerating players' familiarity with basketball tactics. The system is designed to generate real-time 3D simulations by seamlessly converting 2D tactical data from a digital tablet into a dynamic 3D environment.This tactical information is sent to the VR system via socket, creating an immersive experience in virtual reality.

Team

1 Programmer

My Role

Programmer

Timeline

June 2015 - July 2017

Stack
  • Unreal Engine 4 · HTC Vive · Android · DTW

Trailer

Features

Normal Mode Standard tactic simulation viewable in first-person or third-person perspective

Learning Mode Head pose-guided training that pauses progression until the player looks at the correct target

Defender Mode Auto-generates virtual defenders using positional formula based on offensive player, ball, and hoop locations

Technical Implementation

2D-to-3D Tactic Pipeline

  • Developed an Android tablet app (E-BTB) for coaches to draw and record offensive player trajectories and orientations
  • Transmitted tactic data to a 3D rendering server via TCP socket communication
  • Converted 2D player trajectories into real-time 3D animations using Unreal Engine 4, displayed via HTC Vive

Tactic Recommendation System

  • Implemented Dynamic Time Warping (DTW) algorithm for trajectory similarity matching
  • Compared DTW against EDR and selected DTW for its direction-sensitive accuracy

Player & Defender Animation

  • Designed state machine for player animation (No Ball → Catch Ball → Hold Ball → Pass Ball)
  • Implemented defender positioning using the formula 0.62Otk + 0.11Bt + 0.27H
  • Resolved defender animation jitter via a 4-state animation state machine (Idle → Start → Running → Stop)

Learning Mode System

  • Built head pose detection using dot product and inverse cosine to determine if target is within 40° field of view
  • Used Unreal Engine 4’s Inverse Transform Location to determine left/right directional hints