コード例 #1
0
ファイル: Hand.cs プロジェクト: G2DynamicMotion20/Badminton
 public void ShowSkeleton(Hands.HandsVisualMode mode)
 {
     if (IsInitialized)
     {
         HandMesh.EnableMeshRenderer(mode);
         if (SkeletonVis)
         {
             SkeletonVis.EnableVisualization = mode > Hands.HandsVisualMode.Mesh ? true : false;
         }
     }
 }
コード例 #2
0
ファイル: Hand.cs プロジェクト: G2DynamicMotion20/Badminton
 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);
     }
 }