![]() * initial changes * Mostly clean up, refactor registering listeners to make sense, backport tests * Add initial implementation of VRCFTModuleSender * Add basic GUI for the modules settings * Fix tooltip descriptions # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * Fix type validation bugs, fix typos # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * Add checkbox to switch to ETVR Module # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * Black stuff # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * Remove coverage by default # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * Fix timeout in tests # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * HEAVY WIP: Refactor native output, NOTE: I brought back the entire old OSC implementation as a live reference, this will be removed once I'm done. This also lays ground for other modes as they're pretty similar # TODO: # - there's ghosts in the machine - vrc osc is not working properly # - min/maxing will require field combinators in the modules lmao * HEAVY WIP: Refactor v1 params output, # TODO: # - min/maxing will require field combinators in the modules lmao * HEAVY WIP: Refactor v2 params output # TODO: # - min/maxing will require field combinators in the modules lmao * Finish refactoring v2 and v1, fixup tests, refactor native # TODO: # - min/maxing will require field combinators in the modules lmao * Add tests for v1 params # TODO: # - min/maxing will require field combinators in the modules lmao * Add tests for native params # TODO: # - min/maxing will require field combinators in the modules lmao * Fix OSC not getting up after config reset. Remove reset command, config sends everything changed anyway, sunset the idea of using single client and thus simplify the code a bit # TODO: # - min/maxing will require field combinators in the modules lmao * Rename gui_PortNumber to gui_VRCFTModulePort for readability # TODO: # - min/maxing will require field combinators in the modules lmao * Cleanup EyeID usage # TODO: # - min/maxing will require field combinators in the modules lmao * Cleanup osc after rebase # TODO: # - min/maxing will require field combinators in the modules lmao * Make VRChatOSCSender a bit more readable # TODO: # - min/maxing will require field combinators in the modules lmao * Remove unsued VRChatOSCReceiver, this is taken care of by generic OSCReceiver # TODO: # - min/maxing will require field combinators in the modules lmao * Commit crimes with try_convert_to_float to make osc, pysimplegui and pydantic happy * Cleanup after merge * Disable emulation by default * Fix OSCReceiver crashing on unknown addresses * Adjust VRCFT Module settings to look better in game * Fix recalibrate and recenter for OSC only working for the right eye * Fix save and restart button not restarting the tracking * Fix broken tracking on v1 params for eye_x, clean up implementation * Fix regular value being passed to OSC listeners instead of OSCMessage * Add a TODO, probably to be ignored * Add support for custom ETVR VRCFT Module listening address |
||
---|---|---|
.devcontainer | ||
.github | ||
EyeTrackApp | ||
repo-tools | ||
scripts | ||
tests | ||
.coveragerc | ||
.dockerignore | ||
.DS_Store | ||
.gitignore | ||
.releaserc | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
conftest.py | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
LICENSE-SUMMER | ||
Makefile | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
SECURITY.md |
Picture courtesy of Wackalope#6737
Documentation
EyeTrackVR
Open source and affordable VR eye tracker platform for VRChat via OSC
and UDP
protocol.
Important
This project is in active development and is not fully finished
Documentation
Please check out our documentation site
Hardware
3d files for mounting brackets will be found here IR emitter files are also located there. For more info please reference our parts list on our documentation site
ESP-CAM Firmware
Current work has been with our official firmware by lorow
, found here.
Headset support
Any headset that can fit the camera and LEDs can likely be supported, however, mounts may not have been made for it. Please reference to our parts list for details.
About IR Emitter Safety
Please exercise extreme caution when messing around with IR emitters. Once safety testing has been completed links and files will be provided for the emitters. Please make sure you know what you are doing when assembling the IR emitters. DO NOT BYPASS (OR NOT DO) ANY SAFETY FEATURES PUT IN PLACE. This can result in irreversible bodily harm. The safety measures were put in place to REDUCE the potential failure risk. All further safety responsibilities are on the user. This includes visually checking with an IR camera that the brightness is correct and making sure you do not feel warmth.
Warning
Make sure you are using NON-focused emitters and at around 5ma total power per eye.
Effect of infrared radiation on the lens
AN002_Details on photobiological safety of LED light sources
Contact
Please join our Discord for updates and any questions.
Licenses
***Most software is licensed under GNU GPLv3, with most tracking algorithims under Summer Software Distribution License 1.0. Each file has its license noted in the beginning of the file for clarity.
All documentation, including the Wiki, is under the Creative Commons CC-BY-SA-4.0 license***.