private static void OnPackageImportCompleted(string packageName) { WRLDARKitSetupHelper wrldARKitSetupHelper = GameObject.FindObjectOfType <WRLDARKitSetupHelper>(); if (PackageName.Equals(packageName) && wrldARKitSetupHelper != null) { SetupARKitScene(); } }
private static void SetupUnityARCameraNearFar(WRLDARKitSetupHelper wrldARKitSetupHelper) { System.Type arCameraNearFarType = GetType("UnityARCameraNearFar"); if (arCameraNearFarType != null) { wrldARKitSetupHelper.MainCamera.gameObject.AddComponent(arCameraNearFarType); } else { Debug.LogError("UnityARCameraNearFar not found in ARKit plugin."); } }
private static void SetupARKitScene() { WRLDARKitSetupHelper wrldARKitSetupHelper = GameObject.FindObjectOfType <WRLDARKitSetupHelper>(); EditorSceneManager.MarkAllScenesDirty(); SetupUnityARCameraManager(wrldARKitSetupHelper); SetupUnityARCameraNearFar(wrldARKitSetupHelper); SetupUnityARVideo(wrldARKitSetupHelper); SetupWRLDARKitAnchorHandler(wrldARKitSetupHelper); GameObject.DestroyImmediate(wrldARKitSetupHelper.gameObject); }
private static void SetupUnityARCameraManager(WRLDARKitSetupHelper wrldARKitSetupHelper) { System.Type arCameraManagerType = GetType("UnityARCameraManager"); if (arCameraManagerType != null) { GameObject arCameraManagerObject = new GameObject("ARCameraManager"); var comp = System.Convert.ChangeType(arCameraManagerObject.AddComponent(arCameraManagerType), arCameraManagerType); FieldInfo field = comp.GetType().GetField("m_camera"); field.SetValue(comp, wrldARKitSetupHelper.MainCamera); } else { Debug.LogError("UnityARCameraManager not found in ARKit plugin."); } }
private static void SetupARKitScene() { WRLDARKitSetupHelper wrldARKitSetupHelper = GameObject.FindObjectOfType <WRLDARKitSetupHelper>(); EditorSceneManager.MarkAllScenesDirty(); SetupWrldMap(wrldARKitSetupHelper.wrldMap, wrldARKitSetupHelper.streamingCamera, wrldARKitSetupHelper.latitudeDegrees, wrldARKitSetupHelper.longitudeDegrees, wrldARKitSetupHelper.materialDirectory); SetupGeographicsTransforms(wrldARKitSetupHelper.cubes); Camera arCamera = wrldARKitSetupHelper.mainCamera; SetupUnityARCameraManager(arCamera); SetupUnityARCameraNearFar(arCamera.gameObject); SetupUnityARVideo(arCamera.gameObject); GameObject.DestroyImmediate(wrldARKitSetupHelper.gameObject); }
private static void SetupWRLDARKitAnchorHandler(WRLDARKitSetupHelper wrldARKitSetupHelper) { System.Type arAnchorHandler = GetType("WRLDARKitAnchorHandler"); if (arAnchorHandler != null) { GameObject arAnchorObject = new GameObject("WRLDARKitAnchorHandler"); var comp = System.Convert.ChangeType(arAnchorObject.AddComponent(arAnchorHandler), arAnchorHandler); FieldInfo mapParentField = comp.GetType().GetField("wrldMapParent"); mapParentField.SetValue(comp, wrldARKitSetupHelper.WrldMapParent); FieldInfo mapMaskField = comp.GetType().GetField("wrldMapMask"); mapMaskField.SetValue(comp, wrldARKitSetupHelper.WrldMapMask); } else { Debug.LogError("WRLDARKitAnchorHandler is missing."); } }