public Dictionary <string, string> GetDefaultFields() { var defaultSetting = spriteAtlas.GetTextureSettings(); var packingSetting = spriteAtlas.GetPackingSettings(); var platformSetting = spriteAtlas.GetPlatformSettings("Default"); var fieldMap = new Dictionary <string, string> { // Basic ["Path/Name"] = Importer.assetPath, ["Atlas Type"] = spriteAtlas.isVariant ? "Variant" : "Master", // Packing ["Allow Rotation"] = packingSetting.enableRotation.ToString(), ["Tight Packing"] = packingSetting.enableTightPacking.ToString(), ["Padding"] = packingSetting.padding.ToString(), // Texture ["Read/Write Enabled"] = defaultSetting.readable.ToString(), ["Generate Mip Maps"] = defaultSetting.generateMipMaps.ToString(), ["sRGB (Color Texture)"] = defaultSetting.sRGB.ToString(), ["Max size"] = platformSetting.maxTextureSize.ToString(), }; if (Editor.EnableLog) { UnityEngine.Debug.Log(fieldMap.ToJson()); } return(fieldMap); }
protected virtual void OnFirstImport(SpriteAtlas spriteAtlas) { spriteAtlas.SetIncludeInBuild(false); //------- PackingSettings ------- var packingSettings = spriteAtlas.GetPackingSettings(); SetPackingSettings(ref packingSettings); spriteAtlas.SetPackingSettings(packingSettings); //------- TextureSettings ------- var textureSettings = spriteAtlas.GetTextureSettings(); SetTextureSettings(ref textureSettings); spriteAtlas.SetTextureSettings(textureSettings); //------ PlatformSettings ------ foreach (var platformName in DefaultTargetPlatforms) { var platformSetting = spriteAtlas.GetPlatformSettings(platformName.ToString()); SetTexturePlatformSettings(ref platformSetting); spriteAtlas.SetPlatformSettings(platformSetting); } }
public static void SetTextureSettings(SpriteAtlas spriteAtlas) { var textureSettings = spriteAtlas.GetTextureSettings(); textureSettings.readable = false; textureSettings.generateMipMaps = false; textureSettings.filterMode = FilterMode.Bilinear; spriteAtlas.SetTextureSettings(textureSettings); }
public static void CopySpriteAtlasSetting(SpriteAtlas target, SpriteAtlas template) { // 注意:默认设置为False target.SetIncludeInBuild(false); // 通用属性 target.SetPackingSettings(template.GetPackingSettings()); target.SetTextureSettings(template.GetTextureSettings()); // 平台设置 target.SetPlatformSettings(template.GetPlatformSettings("Standalone")); target.SetPlatformSettings(template.GetPlatformSettings("iPhone")); target.SetPlatformSettings(template.GetPlatformSettings("Android")); }
/// <summary> /// 复制图集设置 /// </summary> public static void CopySpriteAtlasSetting(SpriteAtlas target, SpriteAtlas template) { #if UNITY_2018_4_OR_NEWER // 注意:默认设置为False target.SetIncludeInBuild(false); // 通用属性 target.SetPackingSettings(template.GetPackingSettings()); target.SetTextureSettings(template.GetTextureSettings()); // 平台设置 target.SetPlatformSettings(template.GetPlatformSettings("Standalone")); target.SetPlatformSettings(template.GetPlatformSettings("iPhone")); target.SetPlatformSettings(template.GetPlatformSettings("Android")); #else Debug.LogWarning($"{Application.unityVersion} is not support copy sprite atlas setting. Please upgrade to unity2018.4 or newer."); #endif }
public static bool CheckSettings(this SpriteAtlas atlas, SpriteAtlasSettings settings) { var atlasTextureSettings = atlas.GetTextureSettings(); var packingSettings = atlas.GetPackingSettings(); var isVariant = atlas.isVariant; var textureSettings = settings.ImportSettings.GetTextureImporterSettings(); var sameSettings = atlasTextureSettings.generateMipMaps == textureSettings.mipmapEnabled && atlasTextureSettings.filterMode == textureSettings.filterMode && atlasTextureSettings.readable == textureSettings.readable && atlasTextureSettings.sRGB == textureSettings.sRGBTexture && packingSettings.padding == settings.Padding && packingSettings.enableRotation == settings.AllowRotation && packingSettings.enableTightPacking == settings.TightPacking && isVariant == (settings.Type == SpriteAtlasType.Variant); return(sameSettings && CheckPlatformSettings(atlas, settings, BuildTargetGroup.Unknown) && CheckPlatformSettings(atlas, settings, BuildTargetGroup.Standalone) && CheckPlatformSettings(atlas, settings, BuildTargetGroup.Android)); }
protected virtual void OnFirstImport(SpriteAtlas spriteAtlas) { spriteAtlas.SetIncludeInBuild(false); //------- PackingSettings ------- var packingSettings = spriteAtlas.GetPackingSettings(); packingSettings.padding = 2; spriteAtlas.SetPackingSettings(packingSettings); //------- TextureSettings ------- var textureSettings = spriteAtlas.GetTextureSettings(); textureSettings.readable = false; textureSettings.generateMipMaps = false; spriteAtlas.SetTextureSettings(textureSettings); }
protected virtual void OnFirstImport(SpriteAtlas spriteAtlas) { spriteAtlas.SetIncludeInBuild(false); //------- PackingSettings ------- var packingSettings = spriteAtlas.GetPackingSettings(); packingSettings.padding = 2; packingSettings.enableTightPacking = false; packingSettings.enableRotation = false; spriteAtlas.SetPackingSettings(packingSettings); //------- TextureSettings ------- var textureSettings = spriteAtlas.GetTextureSettings(); textureSettings.readable = false; textureSettings.generateMipMaps = false; spriteAtlas.SetTextureSettings(textureSettings); //------ PlatformSettings ------ foreach (var platformName in DefaultTargetPlatforms) { var platformSetting = spriteAtlas.GetPlatformSettings(platformName.ToString()); platformSetting.overridden = true; platformSetting.format = TextureImporterFormat.ASTC_RGBA_4x4; platformSetting.maxTextureSize = 1024; spriteAtlas.SetPlatformSettings(platformSetting); } }
//================================================================================ // 関数 //================================================================================ /// <summary> /// 指定された TextureImporter に設定を適用します /// </summary> public void Apply(SpriteAtlas spriteAtlas) { var packingSettings = spriteAtlas.GetPackingSettings(); if (m_enableRotation.IsOverride) { packingSettings.enableRotation = m_enableRotation.Value; } if (m_enableTightPacking.IsOverride) { packingSettings.enableTightPacking = m_enableTightPacking.Value; } if (m_padding.IsOverride) { packingSettings.padding = m_padding.Value; } spriteAtlas.SetPackingSettings(packingSettings); var textureSettings = spriteAtlas.GetTextureSettings(); if (m_readable.IsOverride) { textureSettings.readable = m_readable.Value; } if (m_generateMipMaps.IsOverride) { textureSettings.generateMipMaps = m_generateMipMaps.Value; } if (m_sRGB.IsOverride) { textureSettings.sRGB = m_sRGB.Value; } if (m_filterMode.IsOverride) { textureSettings.filterMode = m_filterMode.Value; } if (m_anisoLevel.IsOverride) { textureSettings.anisoLevel = m_anisoLevel.Value; } spriteAtlas.SetTextureSettings(textureSettings); if (m_defaultSettings != null) { var platformSettings = spriteAtlas.GetPlatformSettings("DefaultTexturePlatform"); m_defaultSettings.Apply(platformSettings); spriteAtlas.SetPlatformSettings(platformSettings); } if (m_standaloneSettings != null) { var platformSettings = spriteAtlas.GetPlatformSettings("Standalone"); m_standaloneSettings.Apply(platformSettings); spriteAtlas.SetPlatformSettings(platformSettings); } if (m_iPhoneSettings != null) { var platformSettings = spriteAtlas.GetPlatformSettings("iPhone"); platformSettings.overridden = true; m_iPhoneSettings.Apply(platformSettings); spriteAtlas.SetPlatformSettings(platformSettings); } if (m_androidSettings != null) { var platformSettings = spriteAtlas.GetPlatformSettings("Android"); m_androidSettings.Apply(platformSettings); spriteAtlas.SetPlatformSettings(platformSettings); } if (m_webGLSettings != null) { var platformSettings = spriteAtlas.GetPlatformSettings("WebGL"); m_webGLSettings.Apply(platformSettings); spriteAtlas.SetPlatformSettings(platformSettings); } }