Unity 资源管理 探究(一)

xzhuan原创稿件,转载请注明出处!
功能:资源导入,自动设置属性 工具
需求:处理unity资源的时候,每次导入资源 都要手动设置 资源属性,重复 且 浪费时间,需要实现个自动设置资源属性功能
代码如下

/**************************************
*Module:资源导入 属性设置                                               
*Author:aitin                                        
*Time: 2018.05.18                                                     
**************************************/
using System.IO;
using UnityEditor;
using UnityEngine;


namespace CLB
{
   public class ABImporter : AssetPostprocessor
   {
       /// <summary>
       /// 模型导入之前调用
       /// </summary>
       public void OnPreprocessModel()
       {
       }

       /// <summary>
       /// 模型导入之前调用
       /// </summary> 
       public void OnPostprocessModel(GameObject go)
       {
       }

       /// <summary>
       /// 纹理导入之前调用,针对入到的纹理进行设置
       /// </summary>
       void OnPreprocessTexture()
       {
       }

       /// <summary>
       /// 纹理导入之前调用,针对入到的纹理进行设置
       /// </summary>
       public void OnPostprocessTexture(Texture2D tex)
       {
           SetImageInspector();
       }

       /// <summary>
       /// 声音导入之前调用
       /// </summary>
       public void OnPreprocessAudio()
       {
       }

       /// <summary>
       /// 声音导入之前调用
       /// </summary>
       public void OnPostprocessAudio(AudioClip clip)
       {
       }

       /// <summary>
       /// 所有的资源的导入,删除,移动,都会调用此方法,注意,这个方法是static的
       /// </summary>
       public static void OnPostprocessAllAssets(string[] importedAsset, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
       {
           foreach (string file in importedAsset)
           {
               SetAssetBundleName(file);
           }

           foreach (string file in deletedAssets)
           {
               DeleteAsset(file);
           }

           foreach (string file in movedAssets)
           {
               AssetDatabase.ImportAsset(file);
               SetAssetBundleName(file);
           }

           foreach (string file in movedFromAssetPaths)
           {
               DeleteAsset(file);
           }
       }

       /// <summary>
       /// 设置图片 属性
       /// </summary>
       public void SetImageInspector()
       {
       }

       /// 导入文件时添加AssetBundle名字
       static void SetAssetBundleName(string abpath)
       {
       }

       // 删除文件
       static void DeleteAsset(string file)
       {
       }
   }
}

这样就可以摆脱 资源设置烦恼啦~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,267评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,514评论 2 59
  • 四月对五月说:我不想离开。 五月回答:你不离开,我就不能和六月相遇来。 四月又说:我真的不想离开。 五月回答:现实...
    夏天的时候阅读 3,720评论 2 1
  • 云兮云兮 吾独怅惘 湘水迢迢兮不遇阮芷 澧水遥遥兮无我之苇 君子不来兮 我亦不往 云兮云兮 天下浩荡 湘澧之交兮吾...
    Jasmine与麋鹿阅读 4,320评论 1 1
  • 昨天下午参观过故宫之后,经朋友的推荐来到附近的一家书店,北京三联韬奋书店。 我从未到过如此纯粹的一个书店,没有咖啡...
    我是京京阅读 1,639评论 0 0

友情链接更多精彩内容