【Unity】AssetDatabase加载浅析

最近大哥让我写一个小工具,发现这个东西很是安逸,可以结合c#文件操作的那一套,用着接口很是顺手。这个其实就可以分为三大类,资源导入,资源加载不同于resource.load,资源的创建删除赋值。我们来看看资源加载这个东东吧。

AssetDatabase.LoadAssetAtPath

这个东东很像resource.load,好像在unity5.0之前这个方法就是resource.loadatpath。看名字也知道这个方法是传路径。可以理解为这个仅仅是在编辑器中使用的resource.load不用去游戏运行中的。要引入UnityEditor这个命名空间。

using UnityEngine;
using UnityEditor;
public class MyPlayer : MonoBehaviour {
[MenuItem("AssetDatabase/LoadAssetExample")]
static void ImportExample() {
    Texture2D t = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/Textures/texture.jpg");
}
}

这个例子很简单,就是加载一个Texture2D。

AssetDatabase.LoadAssetAtPath

这个东西配合着Selection.ojects,就可以知道你在编辑器下选中资源文件夹中的文件的目录,再使用上面的方法,就可加载所选中目标中的物品。然后对其做处理。

    var selectObjects = Selection.objects;
    if (selectObjects == null)
    {
        Debug.LogWarning("No Select Objects");
        return false;
    }
    
    foreach (var item in selectObjects)
    {
        if (AssetDatabase.GetAssetPath(item) != null)
        {
            Debug.Log(AssetDatabase.GetAssetPath(item));
        }
    }

原文链接:http://ban-ming.com/article/23

你可能感兴趣的:(【Unity】AssetDatabase加载浅析)