03-04-2022 12:53 AM - edited 03-04-2022 12:55 AM
Hey,
I wanted to implement locomotion for controllers and hands. While the locomotion works fine with controllers, the hands do not move correctly.
I am using the rig included in the SDK used in the samples scene:
("HandVisual" and "HandSynthetic" behave the same, I tried both)
When moving or rotating the rig the colliders and pointer pos etc. are all correct, but the visual moves faster than the rig itself. For example: if I move the rig 0.3 in the Z direction, the hands look like they are at 0.6 in Z direction.
You can see this behavior in this image:
The settings of the hand visual script are the default ones:
Changing them completely breaks the hand position (they are stuck at 0,0,0) and only the fingers are updated.
Maybe someone can help me with this.
SDK Version: v37 for Unity
Solved! Go to Solution.
03-08-2022 04:22 AM - edited 03-08-2022 04:35 AM
A small workaround for the default visuals (without synthetic) is moving them under the Left/Right Hand Anchor in the OVRCameraRig and disabling "Update Root Pose" and "Update Root Scale".
This keeps the hands at the correct position.
This does not seem to work with the Synthetic Visuals though, since disabling "Update Root Pose" breaks it.
EDIT:
Ok, moving just the OVRCameraRig inside the Rig Prefab seems to work. It seems like the InputOVR object does not like to be moved and needs to always be at the origin.
03-08-2022 04:22 AM - edited 03-08-2022 04:35 AM
A small workaround for the default visuals (without synthetic) is moving them under the Left/Right Hand Anchor in the OVRCameraRig and disabling "Update Root Pose" and "Update Root Scale".
This keeps the hands at the correct position.
This does not seem to work with the Synthetic Visuals though, since disabling "Update Root Pose" breaks it.
EDIT:
Ok, moving just the OVRCameraRig inside the Rig Prefab seems to work. It seems like the InputOVR object does not like to be moved and needs to always be at the origin.