VR眼球追踪
Go to file
Lorow 7e41a65aac
Feature/etvr module support (#106)
* 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
2024-07-04 20:51:19 +02:00
.devcontainer feat: add dev container 2023-03-30 12:22:29 +01:00
.github build: fixed github action to early exit 2023-09-23 23:02:45 +02:00
EyeTrackApp Feature/etvr module support (#106) 2024-07-04 20:51:19 +02:00
repo-tools added proper requirements.txt file 2022-07-04 00:49:00 +01:00
scripts feat: new LEAP model beta 2024-05-30 09:52:47 -05:00
tests Feature/etvr module support (#106) 2024-07-04 20:51:19 +02:00
.coveragerc Add pytest cov, improve tests, Fix FT in params 2024-02-09 23:39:29 +01:00
.dockerignore feat: add dev container 2023-03-30 12:22:29 +01:00
.DS_Store fix final typos. ready to merge 2024-04-13 21:13:51 -05:00
.gitignore fix: standalone exe 2023-08-24 12:48:18 +01:00
.releaserc fix: rate limit error 2023-08-24 12:59:48 +01:00
CHANGELOG.md chore(minor): 1.0.0-HSF-and-new-algos-feature-branch.11 [skip ci] 2023-10-08 13:32:19 +00:00
CODE_OF_CONDUCT.md update - add files to prepare for professional looking github 2022-05-18 18:19:17 +02:00
conftest.py Feature/etvr module support (#106) 2024-07-04 20:51:19 +02:00
docker-compose.yml feat: add dev container 2023-03-30 12:22:29 +01:00
Dockerfile feat: add dev container 2023-03-30 12:22:29 +01:00
LICENSE Update Licenses 2024-03-10 11:21:23 -05:00
LICENSE-SUMMER fix final typos. ready to merge 2024-04-13 21:13:51 -05:00
Makefile fix: standalone exe 2023-08-24 12:48:18 +01:00
poetry.lock fix: update to pysimplegui 4 foss as pysimple gui <= 4 has been deleted. 2024-06-12 12:47:08 -05:00
pyproject.toml Feature/etvr module support (#106) 2024-07-04 20:51:19 +02:00
README.md Update README.md 2024-04-13 21:15:45 -05:00
SECURITY.md Update SECURITY.md 2022-11-10 12:26:56 -08:00

GitHub Logo Picture courtesy of Wackalope#6737

GitHub issues GitHub forks GitHub stars

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

Training-library Nir Stds

AN002_Details on photobiological safety of LED light sources

Contact

Please join our Discord for updates and any questions.

Discord

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***.

Top