public void ShowSkeleton(Hands.HandsVisualMode mode) { if (IsInitialized) { HandMesh.EnableMeshRenderer(mode); if (SkeletonVis) { SkeletonVis.EnableVisualization = mode > Hands.HandsVisualMode.Mesh ? true : false; } } }
private void UpdatePose(OVRPlugin.Step renderStep) { if (!OVRPlugin.GetHandState(renderStep, HandType, ref _currentState)) { IsTracked = false; HandConfidence = Hand.HandTrackingConfidence.None; ScaledAlpha = _confidenceFader.NextAlphaValue(HandConfidence); } else { IsTracked = (_currentState.Status & OVRPlugin.HandStatus.HandTracked) == OVRPlugin.HandStatus.HandTracked; if (IsTracked) { HandConfidence = OVRPluginConfidenceToHand(_currentState.HandConfidence); } else { HandConfidence = Hand.HandTrackingConfidence.None; } // Fade hand according to confidence. ScaledAlpha = _confidenceFader.NextAlphaValue(HandConfidence); // Update Pointer _pointer.PointerPosition = _currentState.PointerPose.Position.FromFlippedZVector3f(); _pointer.PointerOrientation = _currentState.PointerPose.Orientation.FromFlippedZQuatf(); _pointer.PointerStatusValid = (_currentState.Status & OVRPlugin.HandStatus.InputStateValid) == OVRPlugin.HandStatus.InputStateValid; } if (HandMesh) { HandMesh.UpdatePose(); } if (Skeleton) { Skeleton.UpdatePose(_currentState); } }