aframe icon indicating copy to clipboard operation
aframe copied to clipboard

Bad orientation of hand models in hand-controls component.

Open AryehMischel opened this issue 1 year ago • 6 comments

Hand models used for the hand-controls component do not line up properly with hands on quest 2 (and presumably all devices)

  • A-Frame Version: 1.42 ++
  • Quest 2:
  • I believe the issue is because of Fixes https://github.com/aframevr/aframe/issues/4848 when the component was switched from targetRaySpace to gripSpace and the models were never updated to reflect this change.
  • I made a glitch showing this issue.
  • https://glitch.com/edit/#!/aframe-hand-models-test (for context the default hands are the ones currently used in A-Frame, and then the ones with the offset are my own models that I edited to try and correct the rotation...

AryehMischel avatar Sep 05 '24 02:09 AryehMischel

each controller has different orientation for the real hands and it's difficult to have the proper orientation for all. hand-controls is an old component I no longer recommend. Instead, I recommend switching to regular controller models like oculus-touch-controls or hand-tracking-controls if you want a hand representation. This way virtual and physical controllers will always match. Haptics and proprioception will be also accurate.

dmarcos avatar Sep 05 '24 05:09 dmarcos

I get that completely, I think there are two important points to make. 1). If we are not recommending people use the hand-controls then it really should be removed from the aframe school. As of right now, I believe hand-controls are the most popular way that people are implementing VR hands. I say this because there are youtube videos with thousands of views, and it's what people historically used with the super-hands component. I have not been able to test the hand-controls component with other devices, but I wonder if the current orientation of the model is accurate with any VR Controller. From a little experimenting, I found that the orientation of the hands are fine in Quest Two if we set the handModelOrientationX to 0. If we are saying that the hands cannot accommodate all controllers I think it makes sense to prioritize the most popular ones and simply remove this offset. 2). The problem with using either oculus-touch-controls or hand-tracking as a replacement for hand-controls is that far as I can see there is no out-of-the-box way to represent the user's controllers as animated hand models (which is a pretty standard thing in vr). Please correct me if I am wrong! I know it isn't rocket science for someone to take a hand model, create some poses, and animate between them as the user interacts with the controller. However, it does seem like a large barrier for most people who might be trying to create simple VR interactions. I hope this makes sense. Anyways, thank you for your input. I super appreciate this awesome ecosystem you and several others have built and continue to maintain/grow. image

AryehMischel avatar Sep 05 '24 15:09 AryehMischel

I'm happy to take PRs here and / or A-Frame school repos. I personally don't use hand-controls

dmarcos avatar Sep 05 '24 17:09 dmarcos

I just ran into this issue. I think the hand-controls component is really important. I'm now using it and it really does help a lot. How about aligning the model so that it fits at least the most popular controllers (right now Quest 2 and 3)? Afaik now it does not really align with any controller?

I also found this discussion #5305 which suggests some workarounds but nothing ideal.

Also found #5321 but no discussion there.

filandra avatar May 18 '25 12:05 filandra

@filandra which a-frame version are you using? Around the time I brought up this issue I created a modified version of the hand-controls which lets you add custom offsets so you can adjust it for whatever controller. https://github.com/AryehMischel/Hand-Controls. Let me know if you have any issues using it. *Edit I am not sure it is relevant to that other thread but maybe it could help someone out there as well...

AryehMischel avatar May 18 '25 14:05 AryehMischel

@AryehMischel thanks so much - exactly what I was looking for! I'm still on 1.5 though haha - there are some breaking changes in newer versions that I did not have the energy to solve yet 😁

However why is this not a part of the official implementation? @dmarcos I think this could be a nice addition - or are there some drawbacks I'm not seeing?

filandra avatar May 18 '25 17:05 filandra