protected override void Update() { base.Update(); if (State != EARCursorState.NOT_INITIALIZED) { List <ARRaycastHit> hits = new List <ARRaycastHit>(); raycastManager.Raycast(new Vector2(Screen.width / 2.0f, Screen.height / 2.0f), hits, TrackableType.Planes); if (hits.Count > 0) { transform.position = hits[0].pose.position; transform.rotation = hits[0].pose.rotation; if (State == EARCursorState.NOT_TRACKING) { myMeshRenderer.enabled = true; State = EARCursorState.TRACKING; } } else { if (State == EARCursorState.NOT_TRACKING) { myMeshRenderer.enabled = false; State = EARCursorState.NOT_TRACKING; } } } }
protected override void Awake() { base.Awake(); raycastManager = FindObjectOfType <ARRaycastManager>(); myMeshRenderer = GetComponentInChildren <MeshRenderer>(); if (IS_NOT_NULL(myMeshRenderer)) { myMeshRenderer.enabled = false; } if (IS_NOT_NULL(raycastManager) && IS_NOT_NULL(myMeshRenderer)) { State = EARCursorState.NOT_TRACKING; } }