先贴上Unity3D Mannual中关于这条AssetPostprocessor中这个函数使用的地址:
https://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnPostprocessTexture.html
对AssetPostprocessor类的介绍:
https://docs.unity3d.com/ScriptReference/AssetPostprocessor.html
导入图片资源的同时进行设置并转化为Sprite
using UnityEditor;
using UnityEngine;
using System.Collections;
// Postprocesses all textures that are placed in a folder
// "invert color" to have their colors inverted.
public class InvertColor : AssetPostprocessor
{
void OnPreprocessTexture()
{
//这个函数是在
//void OnPostprocessTexture(Texture2D texture)
//之前调用的一个函数
//将图片的导入设置的API写在这里
string lowerCaseAssetPath = assetPath.ToLower();
//这个if中的"/invert color/"这个检查的是是否有这个文件夹
//只有将原来就不在Assets文件夹下的图片
//拖动到这个文件夹下,才会进行
//如果之前就已经在Assets文件夹下了不会有反应
if (lowerCaseAssetPath.IndexOf("/invert color/") == -1)
return;
}
void OnPostprocessTexture(Texture2D texture)
{
//这个函数会处理OnPreprocessTexture()
//中设置好的那个图片资源
//使用texture.Apply();就会在图片下生成Sprite子物体啦~
texture.Apply();
}
}