RTHT-3D
A webcam-based interface that turns hand movements into real-time controls for Blender.
Gesture contract
- Point transition
- Select object
- Pinch
- Move selected object
- Two pinches
- Rotate and scale
- Two palms
- Create plane · 1000 ms cooldown
- Two V signs
- Duplicate selected object
- Two fists
- Delete selected object
- Fist + point
- Toggle painting mode
- Fist + palm
- Clear paint trail
- Pinch + palm
- Toggle RGB separation
Problem
Project brief
Control a 3D scene from a standard webcam without a physical controller or dedicated tracking hardware.
Contribution
Role and scope
Designed and implemented the vision pipeline, gesture model, UDP protocol and Blender integration.
Python · MediaPipe · Blender · UDP
Implementation
Key technical decisions
- Used MediaPipe hand landmarks to derive semantic gesture states instead of coupling raw coordinates to scene actions.
- Separated webcam tracking and Blender into two Python processes connected over local UDP.
- Mapped one-hand and two-hand gestures to distinct operations so complex actions remain intentional.
Constraints
Engineering constraints
- Translate noisy landmark data into gestures that remain understandable in motion.
- Keep the vision process separate from Blender without making interaction feel delayed.
- Support selection, movement, scaling and scene actions through a small gesture vocabulary.
Outcome
Result
The finished prototype supports one- and two-hand scene controls; its public demonstration reached 343K views.