Completed (1.20.0.4) Eye target offset

Acid Bubbles

Invaluable member
Developer
Featured Contributor
Messages
1,363
Reactions
5,469
Points
173
Website
github.com
Twitter
acidbubblesanon
Patreon
acidbubbles
I was looking at this:
This would be feasible with Timeline (nervous look, calm look, etc) as an animation preset, but we'd still need to be able to control the look direction separately since we either want to look at the player or at a specific target.

I think there's really not much missing to allow this. If you add an "eye target offset X" and an "eye target offset Y" storable float to EyesControl (which is is already a storable so adding those should be very straightforward), I'll be able to animate them so the eye movement would work separately from the look at direction.

Eyes make or break the feeling of looking at a living person, so that sounds like a good few minutes to me :D If it helps I can provide the "diff" of what would be needed.
 
Actually @meshedvr this shows what I mean:

I'd like to be able to have the model look at the character AND have eyes micromovements animations, now because I'm moving the eye target itself the model cannot look in the eye of the player.
 
Well, you can define the animation of the EyeTarget relative to the player? Check out the Anchor system in IdlePoser, I supose you want something similar for Timeline.
 
I could make another "eye look" plugin, yes, but I'd like it to work wih user-defined eye targets too. Worst case I could make an empty as the target and parent the eye target to it but then you also need to care about it's rotation. Having the ability to introduce variations to the eye target direction by using x/y offset storable floats could be a very simple way to animate (plugin or animation) eye movement compared to the alternatives. But you're right that there are tons of workarounds though. Also, using floats make it impossible to make the eye movements distance-aware, so my suggestion's not perfect either.
 
I investigated this a while back and I think a plugin can just provide a custom eye target by setting LookMode to None. See EyesControl class. Your plugin would just read the build-in eye target node and calculate the actual target based on that. Did not actually try, though :D
 
Yeah if it is set to None it turns off the drive of the eye joints and you can completely take over what eyes are doing. But I've been working on it this morning and adding a whole bunch of new stuff including adjusting the current left/right/up/down limits, smooth speed, and minimum engage distance parameter plus the params @Acid Bubbles is asking for. I'm also adding new option to the drop down which is Custom, which allows you to select specific Atom and Control to follow so you don't have to just manipulate the eye target.
 
Aaaah those will make a lot of workarounds obsolete, thanks for considering! And yeah if it wasn't _really_ simple I'd actually make the workaround :) Those new params are great, looking forward to using them :)
 
I may have gone a bit overboard on this today! I added the new params, but I also improved the eyelid response, fixed blink when looking down/up, and gave the eyes bigger range of movement (which is also controllable now). Combine these new angle params with a couple float param randomizers and they eyes suddenly become alive! I know a bunch of plugins already do this, but it is nice to have some built-in control.

EyeControl.png
 
The video looks really great BTW. Are you disabling Auto Blink and then just running your own blink system? If so, which morphs are you using? I just exposed some additional eyelid morphs that were previously hidden which can be useful for blink (beyond just the Eyes Close one).
 
Woah you got excited :p This looks great, this will definitely allow a lot of fine tuning out of the box! Thanks, looking forward to using those settings!

Thank you for the compliment! I'm just using the eye blink and squing for eye movment, I think the cheek and eyebrows micromovements help, because it's less obvious which vertices are affect by a morph when the ones around them move too. For blink, it's an animation (a list of keyframes) so it's not random. But I did look for some eyelid morphs for richer eye movements, I'll check them out in the next release!
 
Back
Top Bottom