Unity 编辑器AssetDatabase用法详解

文章目录

简介

AssetDatabase 类,在Unity 编辑器扩展中,是一个非常常用的类。
是对资源的管理,可以创建,查找,删除,等常用功能,一般在工具类里用的比较多,比如批量修改配置表参数,动态创建配置,查找指定文件等等
注意: AssetDatabase只能在编辑器下使用

API

中文官方文档
几个常用API示例:

  • 创建资源:AssetDatabase.CreateAsset
    您必须确保路径使用的是支持的扩展名(材质是 ‘.mat’、立方体贴图是 ‘.cubemap’、 皮肤是 ‘.GUISkin’、动画是 ‘.anim’、其他任意资源是 ‘.asset’)。
[MenuItem("Ming/CreateAsset")]
static void CreateAsset()
 {
     // 创建一个新的ScriptableObject类型资产
     ScriptableObject newAsset = CreateInstance<ScriptableObject>();
     // 设置资产的名称
     newAsset.name = "NewAsset";
     // 选择保存新资产的路径
     string path = "Assets/NewAsset.asset";
     // 使用AssetDatabase.CreateAsset方法创建新资产
     AssetDatabase.CreateAsset(newAsset, path);
     // 让Unity刷新资源数据库,使新资产在项目窗口中可见
     AssetDatabase.SaveAssets();
     AssetDatabase.Refresh();
 }
  • 加载资源:AssetDatabase.LoadAssetAtPath
[MenuItem("Ming/LoadAsset")]
static void LoadAsset()
{
    var go = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Resources/Cube.prefab");
    Instantiate(go);
}
  • 查找资源:FindAssets
//查找所有名字中包含了 "psb" 的资源,包括脚本和文件夹,名字不区分大小写,返回其guid
var guids = AssetDatabase.FindAssets("psb");

//查找所有类型为 "GameObject"的资源,返回其guid
var guids = AssetDatabase.FindAssets("t:GameObject");

//查找所有标签为 "UI"的资源,返回其guid
var guids = AssetDatabase.FindAssets("l:UI");

//多种筛选条件可以组合使用,查找所有名字为go的GameObject,返回其guid
var guids = AssetDatabase.FindAssets("go t:GameObject");

//此外还可以限定查找范围,查找范围默认为Assets下所有文件
//查找Assets/_ZH/文件夹下所有名字为go的GameObject,返回其guid
var guids5 = AssetDatabase.FindAssets("go t:GameObject", new string[] { "Assets/_ZH/" });
  • 获取所提供的 GUID 的对应资源路径:GUIDToAssetPath
  • 删除资源:DeleteAsset
  • 创建文件夹:CreateFolder
  • 重命名资源:RenameAsset
  • 移动资源:MoveAsset
  • 将路径下的资源移动到垃圾箱:MoveAssetToTrash

其它的查看官方API。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值