Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
121 stars 2 forks source link

Feature Request: Get User EyeManager Data #2308

Open GearBell opened 3 weeks ago

GearBell commented 3 weeks ago

Is your feature request related to a problem? Please describe.

Theres been several cases where I make a wearable public prop that would be neat if it could act along with the eyetracking data from the eyemanager of a user. Node float values of blinking and eye wide, and perhaps eye rotations. Mostly Blinking and Eye Wide though.

Describe the solution you'd like

Perhaps a new node section for Eyetracking, with the following sets of float value nodes:

Describe alternatives you've considered

Wacky flux to search down a headbone hierarchy to search for bones with "Eye" in them and copy their movements.

Additional Context

An example of items it could be used for: Public wearable ears that droop when you close your eyes or perk up when your eyes are wide, wearable mask with animated eyes, wearable helmet with hologram light ups that react to your eyes, being able to turn invisible as long as you dont blink, etc. I know not everyone has eye tracking but theres still plenty to make that can react to even automated eyemanagers.

Requesters

GearBell

shiftyscales commented 2 weeks ago

The AvatarRawEyeData component already exists- and should cover most of the requests expressed here, @GearBell - could you test if you are able to write to the _activeUser?

image

GearBell commented 2 weeks ago

I did not know about this component until now, as you requested I tested it - writing a user to its Active User Slot does not let it recieve data unfortunatly. Unless I did it wrong and this component needs combinations with other components. I did a simple test of getting a user from username, then writing to that slot. It accepted the data, but did not transmite anything else; the component acted dead. Does it require more components or is it not built for this purpose?

shiftyscales commented 2 weeks ago

I see- it's not really meant for that purpose exactly- as the name implies- it's meant to be a component that is stored on an avatar- so something pre-made rather than as a dynamic equippable. I believe the active user is written to/initialized when the avatar is equipped.

Seeking input from @Frooxius if he has any recommendations for dynamically getting a users raw eye tracking data from external objects (or objects attached under a user).

Banane9 commented 2 weeks ago

I did a simple test of getting a user from username, then writing to that slot. It accepted the data, but did not transmite anything else; the component acted dead

Which user did you write into it? The component doesn't need any other components to work - but it will only update on the assigned user if they actually have an eye tracking device. It's also suboptimal to have many extra copies of these around, as each one will generate network traffic for all of its values.