Ejemplo n.º 1
0
        private static void SetupWRLDARCoreManager(WRLDARCoreSetupHelper wrldARCoreSetupHelper)
        {
            GameObject        wrldARCoreManagerGameObject = new GameObject("WRLDARCoreManager");
            WRLDARCoreManager wrldARCoreManager           = wrldARCoreManagerGameObject.AddComponent <WRLDARCoreManager> ();

            wrldARCoreManager.wrldMap     = wrldARCoreSetupHelper.wrldMapParentTransform;
            wrldARCoreManager.wrldMapMask = wrldARCoreSetupHelper.wrldMapMaskTransform;
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
        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();
            }
        }
Ejemplo n.º 7
0
        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.");
            }
        }
Ejemplo n.º 9
0
        private static void SetupWRLDARMapPositioner(WRLDARCoreSetupHelper wrldARCoreSetupHelper)
        {
            WRLDARCorePositioner wrldARCorePositioner = wrldARCoreSetupHelper.wrldMapParentTransform.gameObject.AddComponent <WRLDARCorePositioner> ();

            wrldARCorePositioner.wrldMapMask = wrldARCoreSetupHelper.wrldMapMaskTransform;
        }