ghostiam / BrokenEye

Gain access to advanced eye tracking data and camera images for the Pimax Crystal or HP Reverb G2 Omnicept Eye Tracker.
11 stars 0 forks source link

Passthough eye openness data when not using EyeTrackVR #7

Closed porchthecoder closed 4 months ago

porchthecoder commented 4 months ago

Without using BrokenEye and just VRCFaceTracking, the eye openness goes from 0 - 0.5 - 1. Aka, half closed. When adding BrokenEye to the mix, eye openness is just 0 an 1. Open and closed.

EyeTrackVR does not like my eyes and the current beta crashes often, so I can't really use it. Anyway to pass on the "half closed" 0.5 value?

ghostiam commented 4 months ago

Tobii eye tracker only transmits 0 and 1, there is no half-closed data there. Tell me what module and headset you use?

porchthecoder commented 4 months ago

Pimax Crystal. There is half-closed there. You have to squint just right, but it exist and I can see it in the OSC data.

ghostiam commented 4 months ago

You still haven't specified the module you are using. In my module, only 0 or 1 are transmitted, since this headset does not transmit others.

porchthecoder commented 4 months ago

This module. https://github.com/ghostiam/PimaxCrystalAdvanced

ghostiam commented 4 months ago

You can make sure that the module only transmits 0 or 1. https://github.com/ghostiam/PimaxCrystalAdvanced/blob/main/Tobii/WearableConsumer.cs#L73

Openness = data.left.blink == tobii_state_bool_t.TOBII_STATE_BOOL_TRUE ? 0f : 1f,

Why you see 0.5, I can't know, but it's not possible since headset returns a "bool" value, which has no third state.

I would really like to be able to do this, but unfortunately Tobii doesn't provide it.

porchthecoder commented 4 months ago

Interesting. You are right. It can't generate 0.5 I just jumped into VRC and did some testing. If I close one eye, /tracking/eye/EyesClosedAmount shows 0.5. On an base avatar with no extra face tracking, this causes a half closed squint of both eyes.
So "squinting" IRL was just causing Tobii to track one eye closed closed, and causing the avatar to squint. This is what I was seeing and assuming that the module was outputting 0.5.

That explains it. Thanks for your hard work.