Ejemplo n.º 1
0
        void CheckSerializedProperties()
        {
            var so_lightmapSettings        = SceneLightSettingExporter.GetSerializedLightmapSettingsObject();
            var sp_lightmapSettingsTxtPath = Application.dataPath + "/sp_lightmapSettings.txt";
            var sw_lightmapSettings        = new StreamWriter(sp_lightmapSettingsTxtPath, false, System.Text.Encoding.GetEncoding("shift_jis"));

            DataUtility.GetSerializedProperties(so_lightmapSettings, ref sw_lightmapSettings);
            sw_lightmapSettings.Close();

            var so_renderSettings        = SceneLightSettingExporter.GetSerializedRenderSettingsObject();
            var sp_renderSettingsTxtPath = Application.dataPath + "/sp_renderSettings.txt";
            var sw_renderSettings        = new StreamWriter(sp_renderSettingsTxtPath, false, System.Text.Encoding.GetEncoding("shift_jis"));

            DataUtility.GetSerializedProperties(so_renderSettings, ref sw_renderSettings);
            sw_renderSettings.Close();

            Debug.Log(message_ExportSerializedPropText);
            EditorUtility.DisplayDialog(
                "Scene Light Setting Export / Import",
                message_ExportSerializedPropText,
                "OK");
        }
Ejemplo n.º 2
0
        private static void ImportSceneLightSettingData()
        {
            if (EditorApplication.isPlaying == true)
            {
                Debug.LogWarning(message_Playing);
                EditorUtility.DisplayDialog(
                    "Scene Light Setting Export / Import",
                    message_Playing,
                    "OK");
                return;
            }

            if (importDataPath == "")
            {
                Debug.LogWarning(message_EmptyImportPath);
                EditorUtility.DisplayDialog(
                    "Scene Light Setting Export / Import",
                    message_EmptyImportPath,
                    "OK");
                return;
            }

            var lightingData = AssetDatabase.LoadAssetAtPath <SceneLightSettingData>(importDataPath);

            if (lightingData == null)
            {
                Debug.LogWarning(message_NoLoadLightingData + "  :  importDataPath = " + importDataPath);
                EditorUtility.DisplayDialog(
                    "Scene Light Setting Export / Import",
                    message_NoLoadLightingData + "\n\nImportDataPath\n    " + importDataPath,
                    "OK");
                return;
            }

            // doDeleteExistingLights がtrueだったら、
            // 読み込んだデータを復元する前に既存のライト関係のオブジェクトを削除しておく
            if (doDeleteExistingLights == true)
            {
                SceneLightSettingExporter.DeleteExistingLights(doImportLights, doImportLightProbeGroups, doImportReflectionProbes);
            }

            if (doImportLights == true)
            {
                SceneLightSettingExporter.SetSceneLights(lightingData);
            }

            if (doImportLightProbeGroups == true)
            {
                SceneLightSettingExporter.SetSceneLightProbeGroups(lightingData);
            }

            if (doImportReflectionProbes == true)
            {
                SceneLightSettingExporter.SetSceneReflectionProbes(lightingData);
            }

            if (doImportLightingData == true)
            {
                SceneLightSettingExporter.SetSceneLightSettingData(
                    lightingData,
                    doImportLightingData_ENV,
                    doImportLightingData_RML,
                    doImportLightingData_LMS,
                    doImportLightingData_OTS);
            }

            EditorSceneManager.MarkSceneDirty(currentScene);
            Debug.Log(message_DoneImpoted + "  :  importDataPath = " + importDataPath, lightingData);
            EditorUtility.DisplayDialog(
                "Scene Light Setting Export / Import",
                message_DoneImpoted + "\n\nImportDataPath\n    " + importDataPath,
                "OK");
        }
Ejemplo n.º 3
0
        private static void ExportSceneLightSettingData()
        {
            if (EditorApplication.isPlaying == true)
            {
                Debug.LogWarning(message_Playing);
                EditorUtility.DisplayDialog(
                    "Scene Light Setting Export / Import",
                    message_Playing,
                    "OK");
                return;
            }

            if (Directory.Exists(exportDataFolderPath) == false)
            {
                Directory.CreateDirectory(exportDataFolderPath);
                Debug.Log(message_CreateDir);
            }

            var exportDataPath = Path.Combine(exportDataFolderPath, exportDataFileName) + ".asset";
            // if (File.Exists(exportDataPath) == true)
            // {
            //     exportDataPath = exportDataPath.Replace(".asset", "_1.asset");
            // }
            // exportDataPath = AssetDatabase.GenerateUniqueAssetPath(exportDataPath);

            var wasOverwrittenTxt = "";

            if (File.Exists(exportDataPath) == true)
            {
                wasOverwrittenTxt = (Application.systemLanguage == SystemLanguage.Japanese) ?
                                    "  ( 上書き )" : "  ( Overwritten )";
            }

            var lightingData = SceneLightSettingExporter.GetSceneLightSettingData(
                doExportLightingData,
                doExportLights,
                doExportLightProbeGroups,
                doExportReflectionProbes);

            if (lightingData == null)
            {
                Debug.LogWarning(message_NoLightingData);
                EditorUtility.DisplayDialog(
                    "Scene Light Setting Export / Import",
                    message_NoLightingData,
                    "OK");
                return;
            }

            AssetDatabase.CreateAsset(lightingData, exportDataPath);

            Debug.Log(message_DoneExpoted + wasOverwrittenTxt + "  :  exportDataPath = " + exportDataPath, lightingData);
            var displayResult = message_DoneExpoted + wasOverwrittenTxt + "\n\nExportDataPath\n    " + exportDataPath;

            if (lightingData.exportWarningMessages.Length > 0)
            {
                Debug.LogWarning("Scene Light Setting Export Warnings\n" + lightingData.exportWarningMessages);
                displayResult += "\n\nExport Warnings\n    " + lightingData.exportWarningMessages;
            }


            EditorUtility.DisplayDialog("Scene Light Setting Export / Import", displayResult, "OK");
        }