//============================================================================= // process //============================================================================= /// <summary> /// set importer /// </summary> private void ImportCustomAudio(CustomAudioImporter customImporter) { if (customImporter == null || !customImporter.IsEnable) { return; } AudioImporter audioImporter = assetImporter as AudioImporter; CustomAudioImporterSettingValue customSettings = customImporter.ImporterSetting; if (customSettings.ForceToMono.IsConfigurable) { audioImporter.forceToMono = customSettings.ForceToMono; } if (customSettings.LoadInBackGround.IsConfigurable) { audioImporter.loadInBackground = customSettings.LoadInBackGround; } #if UNITY_2017_1_OR_NEWER if (customSettings.Ambisonic.IsConfigurable) { audioImporter.ambisonic = customSettings.Ambisonic; } #endif if (customSettings.PreloadAudioData.IsConfigurable) { audioImporter.preloadAudioData = customSettings.PreloadAudioData; } audioImporter.defaultSampleSettings = SetCustomAudioSettings(customSettings); // override settings if (customImporter.OverrideForAndroidSetting.IsConfigurable) { audioImporter.SetOverrideSampleSettings("Android", SetCustomAudioSettings(customImporter.OverrideForAndroidSetting)); } else { audioImporter.ClearSampleSettingOverride("Android"); } if (customImporter.OverrideForiOSSetting.IsConfigurable) { audioImporter.SetOverrideSampleSettings("iOS", SetCustomAudioSettings(customImporter.OverrideForiOSSetting)); } else { audioImporter.ClearSampleSettingOverride("iOS"); } if (customImporter.IsLogger) { Debug.Log(string.Format("CustomAudioImporter : " + customImporter.Log + "\nProcessed : {0}", assetPath)); } }
private void OverwriteImportSettings(AudioImporter target, AudioImporter reference) { target.defaultSampleSettings = reference.defaultSampleSettings; target.forceToMono = reference.forceToMono; target.preloadAudioData = reference.preloadAudioData; foreach (var g in NodeGUIUtility.SupportedBuildTargetGroups) { var platformName = BuildTargetUtility.TargetToAssetBundlePlatformName(g, BuildTargetUtility.PlatformNameType.AudioImporter); if (reference.ContainsSampleSettingsOverride(platformName)) { var setting = reference.GetOverrideSampleSettings(platformName); if (!target.SetOverrideSampleSettings(platformName, setting)) { LogUtility.Logger.LogError("AudioImporter", string.Format("Failed to set override setting for {0}: {1}", platformName, target.assetPath)); } } else { target.ClearSampleSettingOverride(platformName); } } target.loadInBackground = reference.loadInBackground; target.ambisonic = reference.ambisonic; }
private void OverwriteImportSettings(AudioImporter importer) { var reference = referenceImporter as AudioImporter; UnityEngine.Assertions.Assert.IsNotNull(reference); importer.defaultSampleSettings = reference.defaultSampleSettings; importer.forceToMono = reference.forceToMono; importer.preloadAudioData = reference.preloadAudioData; foreach (var g in NodeGUIUtility.SupportedBuildTargetGroups) { var platformName = BuildTargetUtility.TargetToAssetBundlePlatformName(g, BuildTargetUtility.PlatformNameType.AudioImporter); if (reference.ContainsSampleSettingsOverride(platformName)) { var setting = reference.GetOverrideSampleSettings(platformName); if (!importer.SetOverrideSampleSettings(platformName, setting)) { LogUtility.Logger.LogError("AudioImporter", string.Format("Failed to set override setting for {0}: {1}", platformName, importer.assetPath)); } } else { importer.ClearSampleSettingOverride(platformName); } } // using "!UNITY_5_6_OR_NEWER" instead of "Unity_5_6" because loadInBackground became obsolete after Unity 5.6b3. #if !UNITY_5_6_OR_NEWER importer.loadInBackground = reference.loadInBackground; #endif #if UNITY_2017_1_OR_NEWER importer.ambisonic = reference.ambisonic; #endif }
/// <summary> /// Attempt to apply the given settings to the asset found at the path /// </summary> /// <param name="assetPath">Path to the asset</param> /// <param name="importSettings">Settings to apply</param> public static void ApplyImportSettingsToAsset(string assetPath, ImportSettings importSettings) { if (importSettings != null) { AssetImporter importer = AssetImporter.GetAtPath(assetPath); #region Apply Texture Import Settings if (importer.GetType() == typeof(TextureImporter) && importSettings.UseTextureSettings == true) { TextureImporter textureImporter = (TextureImporter)importer; //User wants to override the Android texture settings, create the appropriate settings and override them for Android if (importSettings.OverrideAndroidTextureSettings == true) { TextureImporterPlatformSettings androidTextureSettings = new TextureImporterPlatformSettings() { name = "Android", maxTextureSize = (int)importSettings.AndroidMaxTextureSize, overridden = true }; textureImporter.SetPlatformTextureSettings(androidTextureSettings); } else { //Make sure to stop overriding the Android settings, if they're disabled textureImporter.ClearPlatformTextureSettings("Android"); } textureImporter.filterMode = importSettings.TetxureFilterMode; textureImporter.maxTextureSize = (int)importSettings.MaxTextureSize; textureImporter.anisoLevel = importSettings.FilterLevel; s_validAssetCount++; } #endregion #region Apply Audio Import Settings if (importer.GetType() == typeof(AudioImporter) && importSettings.UseAudioSettings == true) { AudioImporter audioImporter = (AudioImporter)importer; AudioImporterSampleSettings audioImportSettings = new AudioImporterSampleSettings() { sampleRateSetting = importSettings.AudioSampleRate, sampleRateOverride = (uint)importSettings.SampleRateOverride, compressionFormat = importSettings.CompressionFormat, loadType = importSettings.AudioLoadType }; //User wants to override the Android audio settings, create the appropriate settings and override them for Android if (importSettings.OverrideAndroidAudioSettings == true) { AudioImporterSampleSettings androidAudioImportSettings = new AudioImporterSampleSettings() { sampleRateSetting = importSettings.AndroidAudioSampleRate, sampleRateOverride = (uint)importSettings.AndroidSampleRateOverride, compressionFormat = importSettings.AndroidCompressionFormat, loadType = importSettings.AndroidAudioClipLoadType }; audioImporter.SetOverrideSampleSettings("Android", androidAudioImportSettings); } else { //Make sure to stop overriding the Android settings, if they're disabled audioImporter.ClearSampleSettingOverride("Android"); } audioImporter.defaultSampleSettings = audioImportSettings; s_validAssetCount++; } #endregion AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); } else { Debug.Log($"No import settings found for asset { assetPath } "); } }