04-10-2025 05:28 AM
As long as I use controllers only, I can get all the tracking data I need like this:
var poseState = OVRPlugin.GetNodePoseStateAtTime(time, OVRPlugin.Node.HandRight);
This way I get non-predicted controller data for position as well as velocity.
The moment I enable hand-tracking, that same function will not return any velocity data anymore, only position.
I can do this instead, which will get me velocity data:
OVRPlugin.GetNodePoseStateRaw(OVRPlugin.Node.ControllerRight, OVRPlugin.Step.Render);
but now the data is predicted. Trying GetNodePoseStateAtTime with ControllerRight instead of HandRight for the node parameter yields a NotYetImplemented error.
Non-predicted velocity data only seems to be available if hand-tracking is disabled. Any advice? I guess I could calculate velocity from position deltas, but I'm wondering if the data quality would suffer. If the solution was this simple, why wouldn't GetNodePoseStateAtTime do the same internally to provide veloity data?