[Unity基础]导入贴图、模型等资源文件时自动设置参数
程序员文章站
2022-06-11 10:46:02
...
本文代码参自:https://www.cnblogs.com/shanksyi/p/5632750.html。
代码设置Unity资源导入参数
脚本继承至AssetPostprocessor, 存放在Editor目录下!该类官方文档:https://docs.unity3d.com/ScriptReference/AssetPostprocessor.html
该类下有很多种资源导入完成消息通知:
OnPostprocessAudio音效导入完成
OnPostprocessMaterial材质导入完成
OnPostprocessModel模型导入完成
OnPostprocessTexture贴图导入完成
OnPostprocessAllAssets所有资源导入完成 。。。等等
还有资源导入前:
OnPreprocessTexture图片导入之前调用。。。等等
using UnityEngine;
using System.Collections;
using UnityEditor;
/// <summary>
/// AssetPostprocessor: 贴图、模型、声音等资源导入时调用,可自动设置相应参数
/// 导入图片时自动设置图片的参数
/// </summary>
public class TextureImportSetting : AssetPostprocessor{
/// <summary>
/// 图片导入之前调用,可设置图片的格式、Tag……
/// </summary>
void OnPreprocessTexture()
{
TextureImporter importer = (TextureImporter)assetImporter;
importer.textureType = TextureImporterType.Sprite; // 设置为Sprite类型
importer.mipmapEnabled = false; // 禁用mipmap
//importer.spritePackingTag = "tag"; // 设置Sprite的打包Tag
Debug.Log("OnPreprocessTexture");
}
/// <summary>
/// 图片已经被压缩、保存到指定目录下之后调用
/// </summary>
/// <param name="texture"></param>
void OnPostprocessTexure(Texture2D texture)
{
Debug.Log(texture.name);
}
/// <summary>
/// 所有资源被导入、删除、移动完成之后调用
/// </summary>
/// <param name="importedAssets"></param>
/// <param name="deletedAssets"></param>
/// <param name="movedAssets"></param>
/// <param name="movedFromAssetPaths"></param>
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
foreach (string str in importedAssets)
{
Debug.Log("Reimported Asset: " + str);
}
foreach (string str in deletedAssets)
{
Debug.Log("Deleted Asset: " + str);
}
for (int i = 0; i < movedAssets.Length; i++)
{
Debug.Log("Moved Asset: " + movedAssets[i] + " from: " + movedFromAssetPaths[i]);
}
}
}
上一篇: php根据分类合并数组的方法实例详解
下一篇: OpenGL 纹理映射(贴图) 学习