== Little backstory/usage scenario:
On a couple of my avatars, I have a "fake left/right eyelook" setup attached to the AngularY parameter due to them not using/being unable to use eye bones, so they "look" toward where I'm turning my head. (a couple people have mistaken it for actual eye tracking, heh)
Recently, as I've been using SlimeVR and Standable I've noticed my eyes don't seem to move, and occasionally they are instead stuck looking to one side.
I've just now figured out the following:
== Issues:
  • In full-body, AngularY is only updated when the actual player locomotes, rather than just by the avatar's motion. This is likely a result of intended behaviour as I heard the player controller in FBT now only rotates once the user starts moving (to resolve jitter on remote), though it is now inconsistent with AngularY updating constantly for three-point tracking.
  • It does not seem to update on controller turning. Only locomotion causes the value to update. Moving in the playspace has no effect on the value.
This results in situations where AngularY is stuck around 200 while the player is perfectly still, if they happened to be rotating when they stopped walking.
Similarly, it often gets stuck at small values like 8 when coming to a stop normally due to minor motions.
I suppose some questions now are:
  • Should AngularY be following the player controller (as it seems to now), the avatar's root, or the user's head direction?
  • For my use case (and others), would it be possible to add Head/Hands AngularY/X or expose EyeLookX/Y parameters?