From 56392bd65b88a5c58fd1fb31d9c3a3241c74a90b Mon Sep 17 00:00:00 2001 From: Prohurtz <48768484+RedHawk989@users.noreply.github.com> Date: Sun, 22 Jan 2023 19:41:33 -0600 Subject: [PATCH] EYE OPENESS --- EyeTrackApp/eyetrackapp.py | 2 +- EyeTrackApp/intensity_eye_open.py | 19 +++++++++++++++++- EyeTrackApp/osc.py | 32 +++++++++++++++---------------- 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/EyeTrackApp/eyetrackapp.py b/EyeTrackApp/eyetrackapp.py index e39d40a..8476de6 100644 --- a/EyeTrackApp/eyetrackapp.py +++ b/EyeTrackApp/eyetrackapp.py @@ -31,7 +31,7 @@ SETTINGS_RADIO_NAME = '-SETTINGSRADIO-' page_url = 'https://github.com/RedHawk989/EyeTrackVR/releases/latest' -appversion = "0.1.7.2" +appversion = "0.2.0" def open_url(): try: diff --git a/EyeTrackApp/intensity_eye_open.py b/EyeTrackApp/intensity_eye_open.py index 311b91a..ade71fc 100644 --- a/EyeTrackApp/intensity_eye_open.py +++ b/EyeTrackApp/intensity_eye_open.py @@ -1,7 +1,17 @@ import pandas as pd import numpy as np import cv2 +from pythonosc import udp_client + + + + + + +OSCip="127.0.0.1" +OSCport=9000 #VR Chat OSC port +client = udp_client.SimpleUDPClient(OSCip, OSCport) #higher intensity means more closed/ more white/less pupil # HOW THIS WORKS: @@ -44,11 +54,18 @@ def intense(x, y, frame): data.to_csv(fname, encoding='utf-8', index=False) #save file since we made a change print("create max", intensity) + try: maxp = data.at[dfb, 'intensity'] minp = data.at[0, 'intensity'] + #eyeopen = (intensity - minp) / (maxp - minp) eyeopen = (intensity - maxp) / (minp - maxp) + eyeopen = 1 - eyeopen + # eyeopen = max(0.0, min(1.0, eyeopen)) print(f"EYEOPEN: {eyeopen}") - + client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(eyeopen)) # open r + client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(eyeopen)) + except: + print('e') #e = data.at[dfb,'intensity'] #find intensity with value diff --git a/EyeTrackApp/osc.py b/EyeTrackApp/osc.py index 4ee62c0..3b403a0 100644 --- a/EyeTrackApp/osc.py +++ b/EyeTrackApp/osc.py @@ -51,14 +51,14 @@ class VRChatOSC: self.client.send_message("/avatar/parameters/RightEyeX", eye_info.x) self.client.send_message("/avatar/parameters/EyesY", eye_info.y) self.client.send_message("/avatar/parameters/RightEyeLid", float(0))# old param open right - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open r + #self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open r self.client.send_message("/avatar/parameters/LeftEyeLid", float(0))# old param open left - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye if self.config.gui_blink_sync and not rb and not lb: self.client.send_message("/avatar/parameters/RightEyeLid", float(0))# old param open right - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open r + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open r self.client.send_message("/avatar/parameters/LeftEyeLid", float(0))# old param open left - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye else: if eye_id in [EyeId.RIGHT]: @@ -69,7 +69,7 @@ class VRChatOSC: self.client.send_message("/avatar/parameters/RightEyeX", eye_info.x) if not self.config.gui_blink_sync or self.config.gui_blink_sync and not lb: self.client.send_message("/avatar/parameters/RightEyeLid", float(0))# old param open right - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open right eye + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open right eye if eye_id in [EyeId.LEFT]: yl = eye_info.y @@ -79,7 +79,7 @@ class VRChatOSC: self.client.send_message("/avatar/parameters/LeftEyeX", eye_info.x) if not self.config.gui_blink_sync or self.config.gui_blink_sync and not rb: self.client.send_message("/avatar/parameters/LeftEyeLid", float(0))# old param open left - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye if (yr != 621 and yl != 621) and (lb == False and rb == False): y = (yr + yl) / 2 @@ -95,8 +95,8 @@ class VRChatOSC: for i in range(4): self.client.send_message("/avatar/parameters/RightEyeLid", float(1)) #close eye self.client.send_message("/avatar/parameters/LeftEyeLid", float(1)) - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) last_blink = time.time() - last_blink else: @@ -105,8 +105,8 @@ class VRChatOSC: for i in range(4): self.client.send_message("/avatar/parameters/RightEyeLid", float(1)) #close eye self.client.send_message("/avatar/parameters/LeftEyeLid", float(1)) - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) last_blink = time.time() - last_blink if not self.config.gui_eye_falloff: @@ -116,7 +116,7 @@ class VRChatOSC: if last_blink > 0.7: for i in range(5): self.client.send_message("/avatar/parameters/LeftEyeLid", float(1)) - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) last_blink = time.time() - last_blink @@ -125,7 +125,7 @@ class VRChatOSC: if last_blink > 0.7: for i in range(5): self.client.send_message("/avatar/parameters/RightEyeLid", float(1)) - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye last_blink = time.time() - last_blink else: @@ -138,16 +138,16 @@ class VRChatOSC: self.client.send_message("/avatar/parameters/RightEyeX", sx) self.client.send_message("/avatar/parameters/EyesY", sy) self.client.send_message("/avatar/parameters/RightEyeLid", float(0))# old param open right - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open r + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0.8)) # open r self.client.send_message("/avatar/parameters/LeftEyeLid", float(0))# old param open left - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0.8)) # open left eye if rb and lb: # If both eyes are closed, blink if last_blink > 0.5: for i in range(4): self.client.send_message("/avatar/parameters/RightEyeLid", float(1)) #close eye self.client.send_message("/avatar/parameters/LeftEyeLid", float(1)) - self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye - self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) + # self.client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(0)) # close eye + # self.client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(0)) last_blink = time.time() - last_blink