mirror of
https://github.com/EyeTrackVR/EyeTrackVR.git
synced 2025-09-26 23:09:28 +08:00
feat: Merge pull request #94 from DeltaNeverUsed/HSF-and-new-algos-feature-branch
basic vrcft v2 support
This commit is contained in:
commit
e1203aa9a7
@ -143,6 +143,117 @@ def output_osc(eye_x, eye_y, eye_blink, last_blink, pupil_dilation, self):
|
||||
y = (self.right_y + self.left_y) / 2
|
||||
self.client.send_message(self.config.osc_eyes_y_address, y)
|
||||
|
||||
if self.config.gui_osc_vrcft_v2:
|
||||
|
||||
if self.main_config.eye_display_id in [
|
||||
EyeId.RIGHT,
|
||||
EyeId.LEFT,
|
||||
]: # we are in single eye mode
|
||||
se = True
|
||||
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeX", eye_x)
|
||||
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeLeftX", eye_x)
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeRightX", eye_x)
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeLeftY", eye_y)
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeRightY", eye_y)
|
||||
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLid",
|
||||
eyelid_transformer(self, eye_blink),
|
||||
)
|
||||
else:
|
||||
se = False
|
||||
|
||||
if self.eye_id in [EyeId.LEFT] and not se: # left eye, send data to left
|
||||
self.l_eye_x = eye_x
|
||||
self.l_eye_blink = eye_blink
|
||||
|
||||
if self.l_eye_blink == 0.0:
|
||||
if (
|
||||
last_blink > 0.15
|
||||
): # when binary blink is on, blinks may be too fast for OSC so we repeat them.
|
||||
for i in range(4):
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidLeft",
|
||||
eyelid_transformer(self, self.l_eye_blink),
|
||||
)
|
||||
last_blink = time.time() - last_blink
|
||||
if self.config.gui_eye_falloff:
|
||||
if (
|
||||
self.r_eye_blink == 0.0
|
||||
): # if both eyes closed and DEF is enables, blink
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidLeft",
|
||||
eyelid_transformer(self, self.l_eye_blink),
|
||||
)
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidRight",
|
||||
eyelid_transformer(self, self.l_eye_blink),
|
||||
)
|
||||
self.l_eye_x = self.r_eye_x
|
||||
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeLeftX", self.l_eye_x)
|
||||
self.left_y = eye_y
|
||||
|
||||
if self.left_y != 621:
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeLeftY", self.left_y)
|
||||
|
||||
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidLeft",
|
||||
eyelid_transformer(self, self.l_eye_blink),
|
||||
)
|
||||
|
||||
elif self.eye_id in [EyeId.RIGHT] and not se: # Right eye, send data to right
|
||||
self.r_eye_x = eye_x
|
||||
self.r_eye_blink = eye_blink
|
||||
|
||||
if self.r_eye_blink == 0.0:
|
||||
if (
|
||||
last_blink > 0.15
|
||||
): # when binary blink is on, blinks may be too fast for OSC so we repeat them.
|
||||
print("REPEATING R BLINK")
|
||||
for i in range(4):
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidRight",
|
||||
eyelid_transformer(self, self.r_eye_blink),
|
||||
)
|
||||
last_blink = time.time() - last_blink
|
||||
if self.config.gui_eye_falloff:
|
||||
if (
|
||||
self.l_eye_blink == 0.0
|
||||
): # if both eyes closed and DEF is enables, blink
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidLeft",
|
||||
eyelid_transformer(self, self.r_eye_blink),
|
||||
)
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidRight",
|
||||
eyelid_transformer(self, self.r_eye_blink),
|
||||
)
|
||||
|
||||
self.r_eye_x = self.l_eye_x
|
||||
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeRightX", self.r_eye_x)
|
||||
self.right_y = eye_y
|
||||
|
||||
if self.right_y != 621:
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeRightY", self.right_y)
|
||||
|
||||
self.client.send_message(
|
||||
"/avatar/parameters/FT/v2/EyeLidRight",
|
||||
eyelid_transformer(self, self.r_eye_blink),
|
||||
)
|
||||
|
||||
if (
|
||||
self.main_config.eye_display_id in [EyeId.BOTH]
|
||||
and self.right_y != 621
|
||||
and self.left_y != 621
|
||||
):
|
||||
y = (self.right_y + self.left_y) / 2
|
||||
self.client.send_message("/avatar/parameters/FT/v2/EyeY", y)
|
||||
|
||||
if self.config.gui_vrc_native: # VRC NATIVE
|
||||
|
||||
if self.main_config.eye_display_id in [
|
||||
|
Loading…
Reference in New Issue
Block a user