Unity中每次导入新的图片都要去设置TextureType为Sprite(2D and UI)打包图集时候还要设置PackingTag为文件夹名,手动设置无疑是异常麻烦的,工作量也是巨大的,所以搞一个便利的小工具是很有必要事情。
该函数允许您挂接到导入管线并在导入资源前运行脚本。
在使用该函数时需要引用命名空间:using UnityEditor。
描述:纹理导入Unity,在纹理完成导入之前获取通知。
using UnityEditor;
public class Test : AssetPostprocessor
{
void OnPreprocessTexture()
{
Debug.Log("资源导入通知");
}
}
对资源导入器的引用。
描述:纹理导入器允许你从编辑器脚本修改Texture2D导入设置。
描述:当前正在处理的纹理类型
代码如下(示例):
using System.IO;
using UnityEditor;
public class Test: AssetPostprocessor
{
void OnPreprocessTexture()
{
TextureImporter textureImporter = (TextureImporter)assetImporter;
textureImporter.textureType = TextureImporterType.Sprite;
}
}
描述:对文件或者目录路径信息的字符串执行操作。
描述:返回指定路径字符串的目录名称组件
描述:返回文件名称,包含指定路径字符串的扩展名。
代码如下(示例):
using System.IO;
using UnityEditor;
public class Test: AssetPostprocessor
{
void OnPreprocessTexture()
{
TextureImporter textureImporter = (TextureImporter)assetImporter;
// 设置纹理类型
textureImporter.textureType = TextureImporterType.Sprite;
// 返回文件所在路径
string dirName = Path.GetDirectoryName(assetPath);
// 获取文件夹名
string folderStr = Path.GetFileName(dirName);
// 设置打包标签
textureImporter.spritePackingTag = folderStr;
}
}
成长就是这样,痛并快乐着。