78 lines
3.7 KiB
C#
78 lines
3.7 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
public class TextureProcess : AssetPostprocessor
|
|
{
|
|
private void OnPreprocessTexture()
|
|
{
|
|
TextureImporter textureImporter = assetImporter as TextureImporter;
|
|
if (textureImporter == null)
|
|
return;
|
|
|
|
//缩略图处理
|
|
if (textureImporter.assetPath.StartsWith("Assets/AssetRaw/UIRaw/Raw/Thum"))
|
|
{
|
|
textureImporter.maxTextureSize = 512;
|
|
textureImporter.textureType = TextureImporterType.Sprite;
|
|
textureImporter.textureShape = TextureImporterShape.Texture2D;
|
|
textureImporter.alphaIsTransparency = false;
|
|
textureImporter.isReadable = false;
|
|
textureImporter.mipmapEnabled = false;
|
|
textureImporter.wrapMode = TextureWrapMode.Clamp;
|
|
textureImporter.filterMode = FilterMode.Bilinear;
|
|
textureImporter.SetPlatformTextureSettings(GetAndroidTextureSettings(TextureImporterFormat.ASTC_6x6, 512));
|
|
textureImporter.SetPlatformTextureSettings(GetiOSTextureSettings(TextureImporterFormat.ASTC_6x6, 512));
|
|
}
|
|
//关卡图处理
|
|
else if (textureImporter.assetPath.StartsWith("Assets/AssetRaw/UIRaw/Raw/Level"))
|
|
{
|
|
if (textureImporter.name.Contains("_base"))
|
|
{
|
|
textureImporter.textureType = TextureImporterType.Sprite;
|
|
textureImporter.textureShape = TextureImporterShape.Texture2D;
|
|
textureImporter.alphaIsTransparency = false;
|
|
textureImporter.isReadable = false;
|
|
textureImporter.mipmapEnabled = false;
|
|
textureImporter.wrapMode = TextureWrapMode.Clamp;
|
|
textureImporter.filterMode = FilterMode.Bilinear;
|
|
textureImporter.SetPlatformTextureSettings(GetAndroidTextureSettings(TextureImporterFormat.ASTC_6x6));
|
|
textureImporter.SetPlatformTextureSettings(GetiOSTextureSettings(TextureImporterFormat.ASTC_6x6));
|
|
}
|
|
else
|
|
{
|
|
textureImporter.textureType = TextureImporterType.Sprite;
|
|
textureImporter.textureShape = TextureImporterShape.Texture2D;
|
|
textureImporter.alphaIsTransparency = true;
|
|
textureImporter.isReadable = false;
|
|
textureImporter.mipmapEnabled = false;
|
|
textureImporter.wrapMode = TextureWrapMode.Clamp;
|
|
textureImporter.filterMode = FilterMode.Bilinear;
|
|
textureImporter.SetPlatformTextureSettings(GetAndroidTextureSettings(TextureImporterFormat.ASTC_6x6));
|
|
textureImporter.SetPlatformTextureSettings(GetiOSTextureSettings(TextureImporterFormat.ASTC_6x6));
|
|
}
|
|
}
|
|
}
|
|
|
|
private TextureImporterPlatformSettings GetAndroidTextureSettings(TextureImporterFormat format, int size = 2048)
|
|
{
|
|
TextureImporterPlatformSettings textureImporter = new TextureImporterPlatformSettings();
|
|
textureImporter.name = "Android";
|
|
textureImporter.maxTextureSize = size;
|
|
textureImporter.format = format;
|
|
textureImporter.overridden = true;
|
|
textureImporter.textureCompression = TextureImporterCompression.Compressed;
|
|
return textureImporter;
|
|
}
|
|
|
|
private TextureImporterPlatformSettings GetiOSTextureSettings(TextureImporterFormat format, int size = 2048)
|
|
{
|
|
TextureImporterPlatformSettings textureImporter = new TextureImporterPlatformSettings();
|
|
textureImporter.name = "iPhone";
|
|
textureImporter.maxTextureSize = size;
|
|
textureImporter.format = format;
|
|
textureImporter.overridden = true;
|
|
textureImporter.textureCompression = TextureImporterCompression.Compressed;
|
|
return textureImporter;
|
|
}
|
|
}
|