Forum Discussion
paperli
5 years agoHonored Guest
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...
- 5 years agoI found a fix. Change below lines in OVRSkeleton.cs,
to this: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;}
Looks like assigning position and rotation to the rigid body doesn’t work at all.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;
}
Since the OVRSkeleton is the part of sdk, it will be better if Oculus fixes it in its Oculus Integration package.
raytsang1120
5 years agoExplorer
I have a better solution, please feel free to try it
if (capsuleGO.activeSelf)
{
capsuleGO.SetActive(false); //Raymond Tsang debug @ 2020-02-14
capsuleGO.SetActive(true); //Raymond Tsang debug @ 2020-02-14
capsule.CapsuleRigidbody.MovePosition(bone.position);
capsule.CapsuleRigidbody.MovePosition(bone.rotation);
}
else
{
capsuleGO.SetActive(true);
capsule.CapsuleRigidbody.gameObject.transform.position = bone.position;
capsule.CapsuleRigidbody.gameObject.transform.rotation = bone.rotation;
}Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 year ago
- 1 year ago
- 4 years ago