void Update() { // If world center is target then tracking pose should be set to main camera's transform if (worldCenterMode == WorldCenterMode.TARGET) { TrackingState trackingState = TrackerManager.GetInstance().GetTrackingState(); TrackingResult trackingResult = trackingState.GetTrackingResult(); if (trackingResult.GetCount() > 0) { Trackable trackable = trackingResult.GetTrackable(0); Matrix4x4 targetPose = trackable.GetTargetPose().inverse; if (targetPose == Matrix4x4.zero) { return; } Quaternion rotation = Quaternion.Euler(90, 0, 0); Matrix4x4 m = Matrix4x4.TRS(new Vector3(0, 0, 0), rotation, new Vector3(1, 1, 1)); targetPose = m * targetPose; Camera.main.transform.position = MatrixUtils.PositionFromMatrix(targetPose); Camera.main.transform.rotation = MatrixUtils.QuaternionFromMatrix(targetPose); Camera.main.transform.localScale = MatrixUtils.ScaleFromMatrix(targetPose); } } }
//public Text test2; public override void OnTrackSuccess(string id, string name, Matrix4x4 poseMatrix) { Renderer[] rendererComponents = GetComponentsInChildren <Renderer>(true); Collider[] colliderComponents = GetComponentsInChildren <Collider>(true); // canvas set by me to augment UI elements Canvas test1 = GetComponentInChildren <Canvas>(true); //Enable canvas test1.enabled = true; // Enable renderers foreach (Renderer component in rendererComponents) { component.enabled = true; } // Enable colliders foreach (Collider component in colliderComponents) { component.enabled = true; } transform.position = MatrixUtils.PositionFromMatrix(poseMatrix); transform.rotation = MatrixUtils.QuaternionFromMatrix(poseMatrix); transform.localScale = MatrixUtils.ScaleFromMatrix(poseMatrix); }