public void HandleInteractiveHitTest(HitTestResult result) { //Debug.Log("WE ARE INSIDE HandleInteractiveHitTest"); if (result == null) { Debug.LogError("Invalid hit test result!"); return; } if (!m_GroundPlaneUI.IsCanvasButtonPressed()) { Debug.Log("HandleInteractiveHitTest() called."); // If the PlaneFinderBehaviour's Mode is Automatic, then the Interactive HitTestResult will be centered. m_ContentPositioningBehaviour = m_PlaneFinder.GetComponent <ContentPositioningBehaviour>(); m_ContentPositioningBehaviour.DuplicateStage = false; // Place object based on Ground Plane mode switch (planeMode) { case PlaneMode.TGO: if (!m_TGOProductPlacement.IsPlaced || TGOTouchHandlerTest.DoubleTap) { m_ContentPositioningBehaviour.AnchorStage = m_TGOAnchor; m_ContentPositioningBehaviour.PositionContentAtPlaneAnchor(result); UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, true); } if (!m_TGOProductPlacement.IsPlaced) { m_TGOProductPlacement.SetProductAnchor(m_TGOAnchor.transform); m_TGOTouchHandler.enableRotation = true; m_BEPITouchHandler.enableRotation = false; } break; case PlaneMode.BEPI: if (!m_BEPIProductPlacement.IsPlaced || BEPITouchHandlerTest.DoubleTap) { m_ContentPositioningBehaviour.AnchorStage = m_BEPIAnchor; m_ContentPositioningBehaviour.PositionContentAtPlaneAnchor(result); UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, true); } if (!m_BEPIProductPlacement.IsPlaced) { m_BEPIProductPlacement.SetProductAnchor(m_BEPIAnchor.transform); m_BEPITouchHandler.enableRotation = true; m_TGOTouchHandler.enableRotation = false; } break; } } }
public void SetProductAnchor(Transform transform) { if (transform) { Debug.Log("BEPI is placed"); IsPlaced = true; gameObject.transform.SetParent(transform); gameObject.transform.localPosition = Vector3.zero; UtilityHelperTest.RotateTowardCamera(gameObject); } else { IsPlaced = false; gameObject.transform.SetParent(null); } }
public void ResetScene() { Debug.Log("ResetScene() called."); m_TGOProductPlacement.Reset(); UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, false); m_BEPIProductPlacement.Reset(); UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, false); DeleteAnchors(); m_TGOProductPlacement.SetProductAnchor(null); m_BEPIProductPlacement.SetProductAnchor(null); m_GroundPlaneUI.Reset(); m_TGOTouchHandler.enableRotation = false; m_BEPITouchHandler.enableRotation = false; }
static bool anchorExists; // backs public AnchorExists property #endregion // PRIVATE_MEMBERS #region MONOBEHAVIOUR_METHODS void Start() { VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted); VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused); DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted); DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged); m_PlaneFinder.HitTestMode = HitTestMode.AUTOMATIC; m_TGOProductPlacement = FindObjectOfType <TGOProductPlacement>(); m_BEPIProductPlacement = FindObjectOfType <BEPIProductPlacement>(); m_TGOTouchHandler = FindObjectOfType <TGOTouchHandlerTest>(); m_BEPITouchHandler = FindObjectOfType <BEPITouchHandlerTest>(); m_GroundPlaneUI = FindObjectOfType <GroundPlaneTestUI>(); m_TGOAnchor = m_TGOAugmentation.GetComponentInParent <AnchorBehaviour>(); m_BEPIAnchor = m_BEPIAugmentation.GetComponentInParent <AnchorBehaviour>(); UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, false); UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, false); }