Zero Head Tracker is a free, open-source head tracking solution that converts your head movements into controller stick inputs. Use your webcam to control games and applications hands-free with natural head movements.
- Real-time Face Tracking: Precision head orientation tracking using facial landmarks
- Live Settings Adjustment: Modify sensitivity, inversion, and smoothing in real-time without restarting
- Xbox Controller Emulation: Seamlessly maps head movements to Xbox 360 controller sticks
- User-friendly Interface: Simple GUI with visual feedback and real-time statistics
- Customizable Experience: Adjust sensitivity, smoothing, and inversion to your preference
- Recalibration On-the-fly: Reset your neutral position at any time
- Performance Optimized: Designed for low CPU usage and high framerate
- Windows 10 or later (required for virtual controller support)
- Python 3.8 or higher
- Webcam
- Git
-
Clone this repository:
git clone https://github.com/4n4c0nd4RSA/zero-head-tracker cd zero-head-tracker
-
Install required dependencies:
pip install -r requirements.txt
-
Run the application:
python zero-head-tracker.py
- Launch Zero Head Tracker
- Adjust initial settings if desired (sensitivity, axes inversion, etc.)
- Click "Start Tracking" and follow calibration instructions
- Look straight at the camera when prompted for calibration
- Move your head to control the selected analog stick
- Adjust settings in real-time as needed for optimal experience
- Yaw Sensitivity: Controls how responsive horizontal head movements are (left/right turning)
- Pitch Sensitivity: Controls how responsive vertical head movements are (looking up/down)
- Invert Yaw/Pitch: Reverses the direction of movement for the respective axis
- Control Stick: Choose whether to control the left or right analog stick
- Smoothing Frames: Higher values create smoother movement but increase latency
- Show Face Mesh: Displays facial landmark points for visual debugging
- Calibration Position: Always look straight ahead during calibration
- Lighting: Ensure consistent, front-facing lighting for best tracking
- Camera Position: Position your webcam at eye level for optimal tracking
- Adjust In-Game Sensitivity: Lower in-game sensitivity if movements feel too extreme
- Find Your Sweet Spot: Start with lower sensitivity and gradually increase
Head Movement | Controller Action (Default Settings) |
---|---|
Turn Right | Move stick right |
Turn Left | Move stick left |
Look Up | Move stick up |
Look Down | Move stick down |
- Virtual Controller Not Working: Ensure ViGEmBus driver is installed correctly
- Poor Tracking: Check lighting conditions and camera positioning
- High Latency: Reduce smoothing frames setting and ensure your CPU isn't overloaded
- Too Sensitive/Not Sensitive Enough: Adjust sensitivity settings while tracking is active
- Unexpected Direction: Toggle the inversion settings for the appropriate axis
- Racing Games: Look left/right to steer vehicles
- Flight Simulators: Control aircraft orientation naturally
- Accessibility: Hands-free input for users with limited mobility
- VR Enhancement: Combine with VR for more immersive experience
- Photography: Control camera panning in virtual photography modes
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b main/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin main/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Face tracking powered by MediaPipe
- Virtual controller functionality via vgamepad
- Video processing using OpenCV
Created by 4n4c0nd4