public static void TryInstantiatingAnimatable(OvrAvatar.HandType hand, ShelfObject shelfObj) { if (RecognitionState != GestureRecognizerState.Default && RecognitionState != GestureRecognizerState.Recognizing) { return; } if (hand == OvrAvatar.HandType.Right && (rightAlmostPointOn || rightPointOn || rightGrabOn || rightPinchOn)) { var anim = shelfObj.InstantiateAnimatable(); if (anim != null) { ObjectInstantiator = shelfObj; ObjectBeingInstantiated = anim; SetRecognitionState(GestureRecognizerState.Instantiating); } } else if (hand == OvrAvatar.HandType.Left && (leftAlmostPointOn || leftPointOn || leftGrabOn || leftPinchOn)) { var anim = shelfObj.InstantiateAnimatable(); if (anim != null) { ObjectInstantiator = shelfObj; ObjectBeingInstantiated = anim; SetRecognitionState(GestureRecognizerState.Instantiating); } } }
private static void ProcessInteractionPose(OvrAvatar.HandType hand, List <Animatable> interactingList) { foreach (var intersection in PoseManager.Intersections) { if (intersection.Item1 == hand && intersection.Item2 == PoseManager.HandJoint.IndexTip) { interactingList.Add(intersection.Item3); } } }