private void Update() { if (UseCardboardHeadTracker && CardboardManager.isCardboardViewOn) { Pose headPose = CardboardManager.GetHeadPose(); CardboardHeadTracker.UpdatePose(); transform.localPosition = headPose.position; transform.localRotation = headPose.rotation; } }
/// <summary> /// Gets the current head tracker pose /// If withUpdate is set to false, this method will return the pose from the last update /// </summary> /// <param name="withUpdate"></param> /// <returns></returns> public static Pose GetHeadPose(bool withUpdate = true) { if (withUpdate) { CardboardHeadTracker.UpdatePose(); } headPoseTemp.position = CardboardHeadTracker.trackerUnityPosition; headPoseTemp.rotation = CardboardHeadTracker.trackerUnityRotation; return(headPoseTemp); }
/// <summary> /// Initializes the Cardboard session /// </summary> public static void InitCardboard() { if (!initiated) { #if UNITY_ANDROID CardboardAndroidInitialization.InitAndroid(); #endif CardboardHeadTracker.CreateTracker(); CardboardHeadTracker.ResumeTracker(); CardboardQrCode.RegisterObserver(); Application.quitting += () => { CardboardQrCode.DeRegisterObserver(); }; initiated = true; } RefreshParameters(); }
/// <summary> /// Recenters the camera in the head tracker /// </summary> /// <param name="horizontalOnly"></param> public static void RecenterCamera(bool horizontalOnly = true) { CardboardHeadTracker.RecenterCamera(horizontalOnly); }