Releases: Chickenbreadlp/VRCFTVarjoModule
Stabilize your Configuration
This has been in beta for waaaay too long. But it's out finally!
Now the module will create a config file you can adjust various settings in and it gives you a convenient shortcut to it on your desktop (turn that off if it annoys you 😄)
All the new options to configure the module are documented in the readme or in the default ini that the module creates (I encourage those who tried the beta to start anew, as some defaults have changed over time!)
Speaking of Beta Testers: while I haven't gotten much feedback from them, just remember to remove the beta branch build before you install the new release version. ^^
And again a thank you goes out to @jensnt for developing and testing the UntrackedEyeFollowTracked
option ❤️
Also, there's two zips, one meant for install over the module registry and the other for installing manually. Please use the "Local_Install" one for manual install.
Config Beta 2
This version includes a couple of bugfixes for the last beta as well as 3 new config options, which should help tweak the tracking output to each user individually, as they see fit/like.
These new options are:
- PickyTracking
This option restricts gaze data to only be tracked when the gaze status from the Varjo SDK reads the highest quality value "Tracked". Default is like the old behavior, which also accepts gaze data when the Varjo SDK reads the status "Compensated".
Please note that this option only looks at individual eye statuses, so it can cause a sort-of "Gecko-Eye" effect, where one eye gets stuck while the other moves on like normal. (does not have an effect on EyeLid tracking) - StabalizingCycles
When a non-0 number is given, then the module will wait for that many tracking cycles before it re-engages tracking, after it switched from a non-accepted tracking state (less then what's defined in Picky Tracking) to an acceptable tracking state (as determined by Picky Tracking)
This option does effect only the EyeLidStrat "Restricted Speed" - UntrackedEyeFollowTracked
This option does what it says on the tin: when the tracking is paused for one eye, but the other eye continues tracking, the non-tracked eye will then follow the tracked eye.
This option only acts on Gaze and not the Eye Lids
You can either add these options yourself to your config file, or delete your existing config and have the module re-create it with the defaults.
Like last time, this module has a different identifier from the Stable branch, so make sure to uninstall the stable build before installing this one. It should however automatically replace the beta build 1, if that is what you're currently using 😉
Big thanks goes out to @jensnt for testing PickyTracking and StabalizingCycles for me, as well as developing the entire UntrackedEyeFollowTracked option ❤️ ❤️ ❤️
Config Beta 1
This new beta introduces a new config.ini file with which you can configure the module.
Config options are:
- CreateLink (default: true)
When this is true, the module will create a shortcut to the config on the desktop. Turn this off if it annoys you - DoubleTime (default: false)
Overclocks the module to 200Hz. Won't make a difference on VB versions older then 4.1. Even on VB after 4.1 the difference might be minute and definetly don't network sync. - EyeLidStrat (default: RestrictedSpeed)
Allows you to switch between 5 different behavious for the eye lid calculation. Further information is described in the config file - SqueezeThreshold & WidenThreshold (defaults: 0.15 & 0.9)
Set the Threasholds for where the single Varjo Openness value should be splitted out to SRanipal like "squeeze" and "widen". Cannot reach over 0.5 and setting them to their respective extreme turns parsing for that spilt off - MaxOpenSpeed
Determines how fast the Eye lid can open in RestrictedSpeed mode
Please note that this is a beta. There might be some serious bugs still in the module, and as such this version won't be released to the registry. How to load this module manually you can find in the VRCFT docs.
UPDATE: fixed the module.zip so it can be imported directly into VRCFT
UPDATE 2: changed the module.json to indicate a different GUID (so it won't auto-downgrade to the latest stable). Please make sure to UNINSTALL the stable version first before installing this Beta
Track your eyes on any Avatar
We've done it! VRCFT 5.0 support is finally here!
This update will now show the headset you're using in VRCFT so you can confirm it's working correctly and since VRCFT 5 supports VRChat's native Eye Tracking, this means you can now use your Varjo eye tracking on any avatar!
This module is now designed to be downloaded through the module registry. So while you can download the attached zip and extract it's contents directly in the CustomLibs folder, I suggest you instead have a visit to the Module Registry in VRCFT and download the module from there. Have fun ^^
Beta release for VRCFT 5.0
I'm only putting this up here for more visibility.
I've updated the module to work with the new version of VRCFT (version 5.0).
Changes in this update include support for the new module SDK, display of the used Varjo HMD as an Icon and name, and the removal of the eye camera feed.
Since V5 currently doesn't support showing the camera feeds and the eye cam feed broke with VB3.8 anyways, I figured I might as well drop support for this legacy feature entirely.
I've also cleaned up the code within the project, but that shouldn't affect performance or quality (mostly just makes the module more maintainable).
Since there's no longer a mis-match of feature support with VRCFT versions and the module can figure out the generation of Varjo hardware on it's own now, there's only one version of the module again.
(update: reduced the file size a bit)
Close your eyes... Forever!
This version should finally fix the eyelids shooting open when you close your eyes for prolonged time; all without removing control of the lids while squinting.
It certainly isn't perfect. Like, when you just wink for very long, this fix might not engage properly, but it should do the trick for just smiles and such.
Also, this is the first time 3rd Gen Varjo users get a usable camera feed in VRCFT. There are now 4 builds of this module for the different combinations of Pupil Diameter support (PD) and 3rd Gen Varjo/older Varjo HMD:
- Builds marked with
PD
require a build of VRCFT that has support for the Pupil Diameter parameter. When used with an older build (like the latest proper VRCFT release), it will likely crash VRCFT - Builds marked with
Gen1
will work with all headsets, tho the Eye Camera feed in VRCFT will be squished and duplicated side-to-side when used with a Gen 3 HMD - Builds marked with
Gen3
will only work with Varjo Headsets of the 3rd Generation (and likely also ones to come). Right now these are the only headsets those builds should be used with:Aero, VR-3, XR-3, XR-3 Focal Edition
Renaming of the dll should not be necessary, but make sure to have only one version of the module in your CustomLibs
folder at a time!
Hotfix Blinking with Openness
This is a Hotfix release for the new Openness Float, or rather a refactoring job that accompanied the release.
Turns out the Tracking status turns "Invalid" when the user blinks, preventing the eyelids from ever closing fully facepalm
This Hotfix patches that.
Update: Also added a version compiled with the Pupil Diameter param support (for those who already use a version of VRCFT with support for that)
Support for official Openness
As of Varjo Base & Native SDK 3.7, Varjo offers an official Openness Value for the eye tracking. This build/release includes support for that.
The Value is parsed into the 3 SRanipal Parameters concerning the eye lids (Eye Openness, Eye Squeeze, Eye Widen).
Thresholds for this parsing is for the time being is hardcoded to values that seemed alright during my testing (for custom values, you'll need a custom build for the time being)