Forum Discussion
gkapellmann
6 years agoHonored Guest
Hand physics Capsules not following the fingers
Hello,
So I have a working project with the new version 13, when I tick "Enable Physics Capsules" in OVR Skeleton script, inside the OVRHandPrefab, the capsules behave wired.
So, as soon as the hands are detected, the capsules appear basically at the tip of the selected fingers (this, through the InteractableToolsSDKDriver, and the InteractableToolsCreator script), but as soon as I move my fingers, the position of the capsules remain the same, it doesnt update the position in relation to the finger, but it travels with the whole hand. I wonder if there is a bug regarding the attached parent?
Then, if I hide the hands, as soon as they appear again the capsules appear in the correct position of the finger tip, just to stay there again when the finger moves.
I am guessing this is not the desired behavior, right?
Thank you!
So I have a working project with the new version 13, when I tick "Enable Physics Capsules" in OVR Skeleton script, inside the OVRHandPrefab, the capsules behave wired.
So, as soon as the hands are detected, the capsules appear basically at the tip of the selected fingers (this, through the InteractableToolsSDKDriver, and the InteractableToolsCreator script), but as soon as I move my fingers, the position of the capsules remain the same, it doesnt update the position in relation to the finger, but it travels with the whole hand. I wonder if there is a bug regarding the attached parent?
Then, if I hide the hands, as soon as they appear again the capsules appear in the correct position of the finger tip, just to stay there again when the finger moves.
I am guessing this is not the desired behavior, right?
Thank you!
22 Replies
- AUARHonored Guest
The easiest fix for this is probably to call
Physics.autoSyncTransforms = true;anywhere in your application.- florian.buchholz.1988Expert Protege
It does work, but everywhere in the net it says, that you should not use this because of performance issues...
- Hassan_KProtege
Update: seems to be working smoothly. I'd still welcome feedback and official guidance from Meta though. I'd especially like to know what this means for when (if ever) we should use "Enable Physics Capsules" on the OVRHandPrefab.
- Hassan_KProtege
I believe I've found a built-in solution. The Interaction SDK has a new solution to render capsules. Link: https://developer.oculus.com/documentation/unity/unity-isdk-hand-physics-capsules/
The attached image shows: I attached "HandPhysicsCapsules" to a hand within OVRHands then linked the object references In-Editor based on best guesses and what I saw in the "HandVisual" component on OVR[Left/Right]HandVisual.
Not Shown: I also unchecked "Enable Physics Capsules" on the OVRHandPrefabs (it seems the Interaction SDK takes care of the solution separately).
I'm still testing, but I believe this might work, seems to be supported within the tooling itself, and does not require changes to package code.
- Hassan_KProtege
Thanks all for the thread and raytsang1120 for sharing the solution. Does anyone know if there's a built-in solution with the OVR tools though?
I think we have a new challenge now: the move to package-based SDKs. I'm excited about that change, but I think it creates a problem with the solution above that directly edits the OVRSkeleton file. For me, that's in the SDK packages and part of the Unity Package Cache so I believe any edits to the file will be overwritten. I believe the solution above could still work if we clone and overwrite the package, but has anyone found a solution within the OVR framework?
- FahruzExpert Protege
Apparently it's still not fixed in August 2023. I was trying the hands train example in the sample framework and wondered why the little blue spheres representing the fingertip capsules remained in a fixed position wrt the palms. Adding those two lines made them move with the fingers.
- cazforshortExpert Protege
Hello,
I was wondering if any knows how to add physics colliders to the Meta Avatars / Avatar2s like you could do with the “Enable Physics Capsules” checkbox on the OVR Custom Skeleton component of the OVRCustomHandsPrefab.
- drewExplorer
thx for the follow up!
- drewExplorer
Also curious what the correct solution is for this.
- cazforshortExpert Protege
Correct solution is to use both and just make the capsule hands invisible.
- mrchanteyHonored Guest
raytsang1120 said:
I fixed this issue by adding 2 lines here:
...
Yep that did it, I suspect this is waking up the rigidbodies. - raytsang1120ExplorerI fixed this issue by adding 2 lines here:
OVRSkeleton.cs
private void FixedUpdate()
...
if (capsuleGO.activeSelf)
{
capsuleGO.SetActive(false); //Added by Raymond Tsang
capsuleGO.SetActive(true); //Added by Raymond Tsang
capsule.CapsuleRigidbody.MovePosition(bone.position);
capsule.CapsuleRigidbody.MoveRotation(bone.rotation);
}- totomobileHonored Guest
Thanks so much for the fix. Could have easily wasted hours on this. And why is this not fixed in 2022 still??!
- lee.ting.ting.tinaExplorerI have the same problem and tried changing fixedupdate time but didn't work. Any solution?
- Lemfn64Honored GuestI solved it by using the trains scene OVR Camara and Hands Manger. if after modifying your time step your bone capsules don't move try just using those two prefabs.
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
- 5 months ago