benaclejames / VRCFaceTracking

OSC App to allow VRChat avatars to interact with eye and facial tracking hardware
https://docs.vrcft.io
Apache License 2.0
628 stars 96 forks source link

[Feature Request] Add eye and face calibration option to UI #144

Open dfgHiatus opened 1 year ago

dfgHiatus commented 1 year ago

I am currently developing the VRCFT v5 Pimax Module, and as part of the module's usage users need to calibrate their eye tracking. This was historically done by either entering a character on a keyboard, or toggling a parameter on their avatar CalibrateEyeTracking and CalibrateFaceTracking.

Proposition

This is a draft, feedback is welcome.

UI Integration

I believe the calibration button(s) should go here, to the left of "Toggle Tracking"

image

Module Integration

For module developers to opt into calibration, they can define a function that can be called when said button(s) are pressed. This is similar to how to Update function already works. This (should) need(s) a place in OSCMain, ExtTrackingModule, and the respective module loaders.

OSCMain

image

Remark - OSC Integration

So this system is compatible with VRChat, I propose the "/avatar/parameters/CalibrateEyeTracking" and "/avatar/parameters/CalibrateFaceTracking" be added to OSCMain's switch function, next to the /avatar/change block.

image

benaclejames commented 1 year ago

We actually already have calibration options in latest master branch commits, though they're under a separate settings tab so that we can group the toggle for calibration altogether as well as have the calibration button and multipliers nearby to avoid segmenting features too much. We'll consider adding this to the main menu if we see usage increase for the calibration button reimplementation in the next update