/// <inheritdoc /> protected internal override void OnStart() { GestureTouchesUtility.LockFingerId(fingerId1); GestureTouchesUtility.LockFingerId(fingerId2); if (GestureTouchesUtility.RaycastFromCamera(startPosition1, recognizer.arSessionOrigin, out var hit1)) { var gameObject = hit1.transform.gameObject; var interactableObject = gameObject.GetComponentInParent <ARBaseGestureInteractable>(); if (interactableObject != null) { targetObject = interactableObject.gameObject; } } else if (GestureTouchesUtility.RaycastFromCamera(startPosition2, recognizer.arSessionOrigin, out var hit2)) { var gameObject = hit2.transform.gameObject; var interactableObject = gameObject.GetComponentInParent <ARBaseGestureInteractable>(); if (interactableObject != null) { targetObject = interactableObject.gameObject; } } GestureTouchesUtility.TryFindTouch(fingerId1, out var touch1); GestureTouchesUtility.TryFindTouch(fingerId2, out var touch2); position = (touch1.position + touch2.position) / 2; }
/// <summary> /// Action to be performed when this gesture is started. /// </summary> protected internal override void OnStart() { GestureTouchesUtility.LockFingerId(FingerId1); GestureTouchesUtility.LockFingerId(FingerId2); RaycastHit hit1; RaycastHit hit2; if (GestureTouchesUtility.RaycastFromCamera(StartPosition1, out hit1)) { var gameObject = hit1.transform.gameObject; if (gameObject != null && gameObject.GetComponentInParent <ARGestureInteractor>() != null) { TargetObject = gameObject.GetComponentInParent <ARGestureInteractor>().gameObject; } } else if (GestureTouchesUtility.RaycastFromCamera(StartPosition2, out hit2)) { var gameObject = hit2.transform.gameObject; if (gameObject != null && gameObject.GetComponentInParent <ARGestureInteractor>() != null) { TargetObject = gameObject.GetComponentInParent <ARGestureInteractor>().gameObject; } } Touch touch1; GestureTouchesUtility.TryFindTouch(FingerId1, out touch1); Touch touch2; GestureTouchesUtility.TryFindTouch(FingerId2, out touch2); Position = (touch1.position + touch2.position) / 2; }
/// <inheritdoc /> protected internal override void OnStart() { GestureTouchesUtility.LockFingerId(fingerId1); GestureTouchesUtility.LockFingerId(fingerId2); GestureTouchesUtility.TryFindTouch(fingerId1, out var touch1); GestureTouchesUtility.TryFindTouch(fingerId2, out var touch2); m_PreviousPosition1 = touch1.position; m_PreviousPosition2 = touch2.position; }
/// <inheritdoc /> protected internal override void OnStart() { GestureTouchesUtility.LockFingerId(fingerId); if (GestureTouchesUtility.RaycastFromCamera(startPosition, out var hit)) { var gameObject = hit.transform.gameObject; if (gameObject != null) { var interactableObject = gameObject.GetComponentInParent <ARBaseGestureInteractable>(); if (interactableObject != null) { TargetObject = interactableObject.gameObject; } } } GestureTouchesUtility.TryFindTouch(fingerId, out var touch); position = touch.position; }
/// <summary> /// Action to be performed when this gesture is started. /// </summary> protected internal override void OnStart() { GestureTouchesUtility.LockFingerId(FingerId1); GestureTouchesUtility.LockFingerId(FingerId2); }