Loading

[Unity] 资源工作流程 - AssetPostprocessor

本文始发于:https://www.cnblogs.com/wildmelon/p/16144087.html

一、参考资料

  1. ScriptReference - AssetPostprocessor

二、说明

Unity 提供了 AssetPostProcessor 允许开发者挂接到导入管线并在导入资源的前后运行脚本。可用于项目中强制执行某些最低标准。每次导入资源或者资源的导入设置发生更改时将回调此类。

AssetPostProcessor 中可以获取到资源的导入器 AssetImporter,通常是在 OnPreXXX 回调中对 assetImporter 进行预处理以影响资源导入的结果。

通常,预处理可根据文件的后缀(png/jpg/...)、与美术协定的资源命名格式、当前导入的平台、当前资源的路径来对项目中的资源进行约束。

常用的回调接口包括:

  1. OnPreprocessTexture,导入纹理,可能是最常用的回调,对各种图片资源进行预处理(压缩格式,读写开关,最大纹理大小)
  2. OnPreprocessAudio,导入音频剪辑
  3. OnPreprocessModel,导入模型,根据模型资源的命名规则或者存放路径进行分类处理
  4. OnPreprocessAsset,在导入所有资源之前获取通知

三、AssetPostprocessor

可配合 ScriptableObjectPreset 将部分硬编码的数据进行封装,可以更方便地进行修改和调试

using UnityEditor;

public class TexturePostprocessor : AssetPostprocessor
{
    void OnPreprocessTexture()
    {
        TextureImporter textureImporter = assetImporter as TextureImporter;
        textureImporter.isReadable = false;
    }
}
posted @ 2022-04-14 13:09  野生西瓜  阅读(896)  评论(0编辑  收藏  举报