mirror of
https://github.com/EyeTrackVR/EyeTrackVR.git
synced 2025-11-04 14:39:42 +08:00
basic vrcft v2 support
This commit is contained in:
parent
75f4bddb6d
commit
355068c0be
@ -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
|
y = (self.right_y + self.left_y) / 2
|
||||||
self.client.send_message(self.config.osc_eyes_y_address, y)
|
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.config.gui_vrc_native: # VRC NATIVE
|
||||||
|
|
||||||
if self.main_config.eye_display_id in [
|
if self.main_config.eye_display_id in [
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user