Any update on FaceControls access/api?

I just finished migrating a portion of a project I’ve been working on to Roblox, which utilizes face-controls to animate a 2D character’s face. Once I finally had all my assets converted, imported, and positioned correctly, I started scripting and found out the hard way that “The current thread cannot read” from the FaceControls object because it’s locked to plugin security level. Serious bummer! I also tried directly reading the bone transforms (from the client) and somehow that didn’t work either.

After a quick search I found this thread that gave me some hope (Not much, it was from 2 years ago) and I was wondering if there’s been any progress on giving devs a way to read (or even write) these face controls:

In my opinion (and others’ if you read the release post), it seems like basic functionality to be able to read these values. That’s why I was happy when I read this from a Roblox staff member:

Once again, however, this was about two years ago and I haven’t been able to find any additional information about whatever API this might become. I was hoping to continue the conversation and hopefully get a vague timeframe of release, or if it is still even on the roadmap at all.

I just hope a feature like this isn’t so hard to develop, there are plenty of other people like me who are still interested in this!

2 Likes

Bumping so that this may be seen and replied to for longer. This is still an issue that has completely halted my project.

I agree, the potential is quite high with the ability to read the FaceControl Data so that we can do cool stuff like detecting when the character is blinking for a weeping angel game-like inspiration.

1 Like

made a rough version of that in the command bar

it would be so amazing if we could read the data at least.
removing plugin security would be so easy for them but they just dont do it.

1 Like

how did u make it?! cuz i tried so much variants

i dont fully remember, i think i just got the average from the Left/RightEyeClosed (0-1, 1 means the respective eye is fully closed) and just set that as the frame’s transparency.

so i didnt do any lerping, or smoothing thats why it looks so choppy.

(it only works in command bar btw, not in scripts… YET)

I guess we wait till roblox finally allow us to read the FaceControl Data.

It would be better to just make the blinking Boolean to a certain point than being relative to the value of the eyes.

Say if the value exceeds 0.8 or 0.9, we perform a full blink.

But we should also consider that because some players may have terrible webcam, the facial recognition code may extrapolate the eye movement too much and may lead to false blinking.

So unless we can adjust it via sensitivity (Which is a whole different can of worms to calculate), its better to just reduce our tolerance to like 0.7 or even 0.65.

yeah thats true, that was a just a very rough implementation i threw together in the command bar as a poc.
if we could access the data from scripts id experiment a LOT more.

I also wanna try making eye tracking with it if they ever remove the limitations.

1 Like