private static void SetupWRLDARCoreManager(WRLDARCoreSetupHelper wrldARCoreSetupHelper) { GameObject wrldARCoreManagerGameObject = new GameObject("WRLDARCoreManager"); WRLDARCoreManager wrldARCoreManager = wrldARCoreManagerGameObject.AddComponent <WRLDARCoreManager> (); wrldARCoreManager.wrldMap = wrldARCoreSetupHelper.wrldMapParentTransform; wrldARCoreManager.wrldMapMask = wrldARCoreSetupHelper.wrldMapMaskTransform; }
private static void CheckSceneStatus() { WRLDARCoreSetupHelper wrldARCoreSetupHelper = GameObject.FindObjectOfType <WRLDARCoreSetupHelper>(); if (wrldARCoreSetupHelper != null) { DisplaySetupDialog(); } }
private static void OnImportPackageCompleted(string packageName) { WRLDARCoreSetupHelper wrldARCoreSetupHelper = GameObject.FindObjectOfType <WRLDARCoreSetupHelper>(); if (packageName.Equals(PackageName) && wrldARCoreSetupHelper != null) { SetupARCoreScene(); } }
private static void SetupARCoreScene() { EditorSceneManager.MarkAllScenesDirty(); WRLDARCoreSetupHelper wrldARCoreSetupHelper = GameObject.FindObjectOfType <WRLDARCoreSetupHelper>(); SetupWRLDMap(wrldARCoreSetupHelper); SetupGeographicsTransforms(wrldARCoreSetupHelper); SetupWRLDARCoreManager(wrldARCoreSetupHelper); SetupWRLDARMapPositioner(wrldARCoreSetupHelper); GameObject.DestroyImmediate(wrldARCoreSetupHelper.gameObject); }
private static void SetupWRLDARMapPositioner(WRLDARCoreSetupHelper wrldARCoreSetupHelper) { System.Type wrldARCorePositionerType = GetType("WRLDARCorePositioner"); if (wrldARCorePositionerType == null) { Debug.LogError("WRLDARCorePositioner not found in ARCoreDependency package."); return; } var wrldARCorePositionerComponent = System.Convert.ChangeType(wrldARCoreSetupHelper.WrldMapParent.gameObject.AddComponent(wrldARCorePositionerType), wrldARCorePositionerType); FieldInfo wrldMapMaskFiled = wrldARCorePositionerComponent.GetType().GetField("wrldMapMask"); wrldMapMaskFiled.SetValue(wrldARCorePositionerComponent, wrldARCoreSetupHelper.WrldMapMask); }
private static void SetupGeographicsTransforms(WRLDARCoreSetupHelper wrldARCoreSetupHelper) { WRLDARCoreSetupHelper.CubeInfo[] cubes; foreach (WRLDARCoreSetupHelper.CubeInfo cubeInfo in wrldARCoreSetupHelper.cubeInfos) { // Please import WRLD3D plugin if you are seeing a compiler error here. GeographicTransform geographicTransform = cubeInfo.cubeGameObject.AddComponent <GeographicTransform> (); SerializedObject serializedObject = new UnityEditor.SerializedObject(geographicTransform); SerializedProperty latitudeProperty = serializedObject.FindProperty("InitialLatitude"); SerializedProperty longitudeProperty = serializedObject.FindProperty("InitialLongitude"); latitudeProperty.doubleValue = cubeInfo.latitudeDegrees; longitudeProperty.doubleValue = cubeInfo.longitudeDegrees; serializedObject.ApplyModifiedProperties(); } }
private static void SetupWRLDMap(WRLDARCoreSetupHelper wrldARCoreSetupHelper) { // Please import WRLD3D plugin if you are seeing a compiler error here. WrldMap wrldMap = wrldARCoreSetupHelper.wrldMapGameObject.AddComponent <WrldMap> (); SerializedObject serializedWrldMapObject = new UnityEditor.SerializedObject(wrldMap); SerializedProperty streamingCameraProperty = serializedWrldMapObject.FindProperty("m_streamingCamera"); SerializedProperty latitudeDegreesProperty = serializedWrldMapObject.FindProperty("m_latitudeDegrees"); SerializedProperty longitudeDegreesProperty = serializedWrldMapObject.FindProperty("m_longitudeDegrees"); SerializedProperty materialDirectoryProperty = serializedWrldMapObject.FindProperty("m_materialDirectory"); streamingCameraProperty.objectReferenceValue = wrldARCoreSetupHelper.streamingCamera; latitudeDegreesProperty.doubleValue = wrldARCoreSetupHelper.wrldStartLatitudeDegrees; longitudeDegreesProperty.doubleValue = wrldARCoreSetupHelper.wrldStartLongitudeDegrees; materialDirectoryProperty.stringValue = wrldARCoreSetupHelper.wrldMaterialDirectory; serializedWrldMapObject.ApplyModifiedProperties(); }
private static void SetupARCoreSessionComponent(WRLDARCoreSetupHelper wrldARCoreSetupHelper) { System.Type sessionComponentType = GetType("SessionComponent"); System.Type sessionConfigType = GetType("SessionConfig"); if (sessionComponentType == null) { Debug.LogError("SessionComponent not found in ARCore package."); return; } if (sessionConfigType == null) { Debug.LogError("SessionConfig not found in ARCore package."); return; } var sessionComponent = System.Convert.ChangeType(wrldARCoreSetupHelper.ARCoreDevice.AddComponent(sessionComponentType), sessionComponentType); FieldInfo cameraField = sessionComponent.GetType().GetField("m_firstPersonCamera"); cameraField.SetValue(sessionComponent, wrldARCoreSetupHelper.MainCamera); FieldInfo sessionConfigField = sessionComponent.GetType().GetField("m_arSessionConfig"); string[] guids = AssetDatabase.FindAssets("WRLDARCoreSessionConfig"); if (guids != null && guids.Length > 0) { string path = AssetDatabase.GUIDToAssetPath(guids [0]); sessionConfigField.SetValue(sessionComponent, AssetDatabase.LoadAssetAtPath(path, sessionConfigType)); } else { Debug.LogError("WRLDARCoreSessionConfig.asset not found. Have you loaded ARCoreDependency package."); } }
private static void SetupWRLDARMapPositioner(WRLDARCoreSetupHelper wrldARCoreSetupHelper) { WRLDARCorePositioner wrldARCorePositioner = wrldARCoreSetupHelper.wrldMapParentTransform.gameObject.AddComponent <WRLDARCorePositioner> (); wrldARCorePositioner.wrldMapMask = wrldARCoreSetupHelper.wrldMapMaskTransform; }