Forum Discussion
Jose
13 years agoHeroic Explorer
What is proper sensitivity for 1:1 hydra movement?
I'm trying to get 1:1 movement for hydra controllers in Unity. So far, I've been eyeballing it, and I've settled for 0.00066 sensitivity for XYZ.
But what is the "proper" sensitivity? How do I even find that out? Does the "proper" sensitivity value change between different gameplay sessions or different base station locations?
:?:
But what is the "proper" sensitivity? How do I even find that out? Does the "proper" sensitivity value change between different gameplay sessions or different base station locations?
:?:
3 Replies
Replies have been turned off for this discussion
- drashHeroic ExplorerI had just been using a .001 multiplier whenever dealing with the Hydra's positioning, but I really just eyeballed it too. I have no idea if it's consistent from one location to the next, or from one base station to the next. That's a really good question!
Probably the most thorough Hydra calibration sequence I've seen so far is in COZ (thread and download links here), so that's probably worth checking out if you're looking for some ideas on that. - CosbyTronHonored GuestThe sensitivity does seem to vary a little depending on your distance to the base station. I've also found the sensitivity is not the same along all 3 axes. Finally, and most importantly, players have different arm lengths and shoulder widths, so "1 to 1" is relative to the player, it's not a hard coded value.
For example, if one player's reach is 3 feet, you can set the sensitivity so the in-game character's arm is fully extended when the hydra has moved 3 feet from the shoulder. If their reach is 2 feet, but you've got the sensitivity configured for a 3 foot reach, then they will never be able to extend their arms fully in the game even when they have in real space, because they won't ever reach the full 3 foot extension. If you hard code for 2 feet, then a player with a 3 feet reach will overextend.
In Coz, I try to compensate for this by having the player place his/her hands at a few set points in space, fully extended in front, above, and each shoulder location. I derive the Z sensitivity from the distance between the shoulder and forward extension, the Y from the above extension, and the X from the distance between shoulders (I assume, in the code, that the shoulder width is half of the reach, otherwise the X values would be way off).
Also, and this is really important, whatever point in real space you use as a base reference (I use the shoulders) must also be the start location for the hand model in-game.
Hopefully that all made sense :-P. Whatever you go with, some form of calibration is definitely needed to get the most out of the hydra to compensate for different player sizes and base-station placements. - aleibyHonored GuestHydra units are reported in millimeters, so your multiplier will depend on what scale you use for building content in Unity. It's recommended to use 1 unit = 1 meter (which is what physics are tuned for) which would require you to multiply the units reported by the Hydra by 0.001 (1/1000) like drash already said.
But as COZ already mentioned, the Hydra's magnetic field is easily distorted by your environment, and starts to get noticeably off beyond 3 or so feet from the base unit - I usually leave my base off to one side, and find that with both arms extended out to my sides, the farther arm can report up to a foot longer than the other!
A fun experiment is to take a meter length of PVC pipe (don't use anything metallic) and duct tape a controller at each end, then visualize the over/under distance reported from the Hydra as you move the controllers around the space. Also note how the distance/positions changes just by changing the rotations of the controllers.
You can get a sense for how Clang's Hydra calibration works in this video:
https://docs.google.com/file/d/0Bz1TkfNuGaNjT3cxX1U1NzI3Yzg/edit?usp=sharing
The separate blue and green lines represent the values reported by Hydra vs the in-game model (which also accounts for users of different sizes / proportions / sitting vs standing / etc. than the in-game avatar).
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
- 4 years ago
- 11 months ago