XR Player Controller [04] | Dencho

XR Player Controller [04]

Version 4 of my FUll body XR Player Controller

Refining one of the first Prototypes to exist (in 2020) to contain a full body avatar and finger tracking.

Devices tested:

  • Oculus CV1
  • Oculus Quest 1

Technologies used:

  • VRoid SDK (Avatars)
  • OculusVR SDK
  • UnityXR SDK

I was one of the first developers in the industry to achieve fullbody avatars working with finger tracking. Once you get past the hurdle of different bone orientations the rest is pretty simple, I was just a dev with just enough free time to actually do it.

Skeletal Mesh Orientation Mismatch (S.M.O.M.)

S.M.O.M. happens when one mesh skeletal bone structure has incompatible orientations with another set of bones, leading to misalignment when trying to animate or manipulate them consistently. I am no longer afraid of SMOM and I am going to use one of the most common Avatars available to developers, Unity-Chan

Using this formula here I was able to avoid this issue, however the custom tool I made requires a basic understanding of how Quaternions work.

Testing UI Ray Pointers with Finger Tracking.

I wrote an algorithm that tracks and predicts the tracked hands position and velocity. My goal was to Handle the case of when Hands overlap causing hand tracking to be lost due to occlusion. This algorithm understands when the Hands become occluded and attempts to predict and move the hands relative to their original trajectory at the time of occlusion.

You can see that since I am simply lerping the predicted target IK position of each hand, there is no teleporting going on when hand tracking resumes from being occluded.

When Hand tracking quality becomes low, mapping of the fingers halt and then blend to the target orientations once tracking quality is high again.

Testing relations with Physics based Grabbables when a Button magically resets an objects transform.

When this Physics button is pressed the Cubes Reset.

Nothing much to take from this other than knowing the rigidbody wont explode the Players rigidbody in some way.

There were a few setup issues with the relative Rig height. Nothing I can't handle.

Related