Face Tracking para Jogos - Similar ao OpenTrack/FreeTrack
Sistema de rastreamento facial em tempo real que converte movimentos da cabeça em dados de controle de câmera para jogos e simuladores.
- 🎯 Rastreamento facial preciso com MediaPipe
- 🎮 Múltiplos protocolos de saída: FreeTrack, UDP, Mouse, Joystick
- 🔧 Configuração em tempo real sem necessidade de reiniciar
- 🎨 Visualização 3D elegante com cubo rotativo
- 🐧 Multiplataforma: Windows, Linux, macOS
- ⚡ Alto desempenho: 60+ FPS
- 🔄 Filtros avançados para suavização e redução de ruído
- Python 3.8+
- Câmera webcam
- Dependências do sistema (ver INSTALL.md)
git clone https://github.com/seu-usuario/PenguinTrack.git
cd PenguinTrack
pip install -r requirements.txt
python main.py
pip install penguintrack
penguintrack
- UDP + OpenTrack: Euro Truck Simulator 2, DCS World, X-Plane
- Mouse Virtual: War Thunder, World of Tanks
- Veja LINUX_GAME_COMPATIBILITY.md
- FreeTrack: Todos os jogos compatíveis
- TrackIR: Jogos compatíveis via emulação
- UDP: Simuladores modernos
Protocolo | Linux | Windows | Descrição |
---|---|---|---|
UDP | ✅ | ✅ | Universal, recomendado |
FreeTrack | ❌ | ✅ | Padrão para jogos Windows |
Mouse | ✅ | Para testes, limitado | |
Joystick | ✅ | Dispositivo virtual |
PenguinTrack/
├── src/ # Código fonte principal
│ ├── core/ # Módulos principais
│ │ ├── face_tracker.py # Rastreamento facial MediaPipe
│ │ ├── filters.py # Filtros e suavização
│ │ └── config_manager.py # Gerenciamento de configuração
│ ├── ui/ # Interface de usuário
│ │ ├── cube3d.py # Visualização 3D
│ │ └── avatar3d.py # Avatar alternativo
│ ├── output/ # Protocolos de saída
│ │ └── output_manager.py # Gerenciador de protocolos
│ └── utils/ # Utilitários
│ └── udp_receiver.py # Receptor UDP para testes
├── tests/ # Testes e validação
├── demos/ # Demonstrações
├── docs/ # Documentação
├── assets/ # Recursos (imagens, etc.)
├── scripts/ # Scripts de inicialização
└── main.py # Aplicação principal
- Execute
python main.py
- Configure protocolos na aba "Saída"
- Ajuste filtros na aba "Filtros"
- Calibre na aba "Calibração"
# Teste dos protocolos
python tests/test_outputs.py
# Teste do sistema completo
python tests/test_system.py
# Demo dos controles
python demos/demo_axis_controls.py
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# ou .venv\Scripts\activate # Windows
pip install -r requirements.txt
python -m pytest tests/
python tests/test_basic.py
python tests/test_system.py
- Fork o projeto
- Crie uma branch:
git checkout -b feature/nova-funcionalidade
- Commit:
git commit -m 'Adiciona nova funcionalidade'
- Push:
git push origin feature/nova-funcionalidade
- Abra um Pull Request
- Latência: < 10ms (câmera 60fps)
- CPU: 10-15% (Intel i5 moderna)
- RAM: ~100MB
- Precisão: ±0.5° em condições ideais
- Câmera não detectada: Verifique permissões e drivers
- Lag/Tremor: Ajuste filtros na aba "Filtros"
- Protocolo não funciona: Veja logs na aba "Saída"
python main.py --debug
python tests/test_outputs.py # Testa protocolos
Veja docs/TROUBLESHOOTING.md para mais detalhes.
- 📦 Instalação Detalhada
- 🎮 Compatibilidade Linux
- 🔧 Melhorias de Interface
- 🎨 Melhorias Visuais
- 🎯 Controles dos Eixos
- Desenvolvimento Principal: PenguinTrack Team
- Inspiração: OpenTrack, FreeTrack projects
- Tecnologias: MediaPipe (Google), OpenCV
Este projeto está licenciado sob a MIT License - veja LICENSE para detalhes.
- MediaPipe pela tecnologia de rastreamento facial
- OpenTrack pela inspiração
- Comunidade de simuladores por feedback e testes
🐧 PenguinTrack - Rastreamento facial livre e open source para todos!