Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
paperli's avatar
paperli
Honored Guest
5 years ago
Solved

Skeleton physical colliders pose not updated during hand tracking

I run the HandsInteractionTrainScene in Quest with Unity, and find that the skeleton physical colliders are not updated with hand tracking pose. I only turn on the Render Physics Capsules and allow Ha...
  • paperli's avatar
    5 years ago
    I found a fix. Change below lines in OVRSkeleton.cs,
    if (capsuleGO.activeSelf)
    {
    capsule.CapsuleRigidbody.MovePosition(bone.position);
    capsule.CapsuleRigidbody.MovePosition(bone.rotation);
    }
    else
    {
    capsuleGO.SetActive(true);
    capsule.CapsuleRigidbody.position = bone.position;
    capsule.CapsuleRigidbody.rotation = bone.rotation;
    }
    to this:
    if (capsuleGO.activeSelf)
    {
    capsule.CapsuleRigidbody.gameObject.transform.position = bone.position;
    capsule.CapsuleRigidbody.gameObject.transform.rotation = bone.rotation;
    }
    else
    {
    capsuleGO.SetActive(true);
    capsule.CapsuleRigidbody.gameObject.transform.position = bone.position;
    capsule.CapsuleRigidbody.gameObject.transform.rotation = bone.rotation;
    }
    Looks like assigning position and rotation to the rigid body doesn’t work at all.
    Since the OVRSkeleton is the part of sdk, it will be better if Oculus fixes it in its Oculus Integration package.