Unity3D 学习从简单开始-AssetDatabase的使用

      今天,为大家分享一下AssetDatabase的功能点,AssetDatabase是一个对资源进行读写和各种操作的接口;
然而因为这是一个编辑类,当需要使用的时候把他放在工程目录下的Assets/Editor 文件夹下,编辑器类还需要
在UnityEditor 的命名空间下。欢迎加我的学习交流群:575561285。


      好吧!废话不多讲,我直接用AssetDatabase中的一些常用的知识点进行浅析。
  
     官方文档:http://www.ceeger.com/Script/AssetDatabase/AssetDatabase.html


     1.创建一个unity3d项目,首先在工程项目中新建一个Editor文件夹,并且附加一个编辑器测试类CreateTestMaterial.cs;


         CreateTestMaterial.cs代码如下:

using UnityEngine;
using UnityEditor;

public class CreateTestMaterial : Editor {

    [MenuItem("Example/Create Asset")]
    static void CreateMaterial()
    {
        var material = new Material(Shader.Find("Specular"));
        AssetDatabase.CreateAsset(material, "Assets/Materials/TestMaterial.mat");

        Debug.Log(AssetDatabase.GetAssetPath(material));
    }

    [MenuItem("Example/Delete Asset")]
    static void ImportMaterial()
    {
        AssetDatabase.DeleteAsset("Assets/Materials/TestMaterial.mat");
    }

    [MenuItem("Example/Copy Asset")]
    static void CopyMaterial()
    {
        AssetDatabase.CopyAsset("Assets/Materials/TestMaterial.mat", "Assets/NewMaterials/TestMaterial.mat");
    }
}

Unity3D 学习从简单开始-AssetDatabase的使用_第1张图片


     2.在编辑器上面Example上点击Create Asset,我们会发现在Materials文件夹下会生成一个.mat文件;
Unity3D 学习从简单开始-AssetDatabase的使用_第2张图片

Unity3D 学习从简单开始-AssetDatabase的使用_第3张图片

     3.在编辑器上面Example上点击Delete Asset,我们会发现Materials文件夹下.mat 会被删除掉;
Unity3D 学习从简单开始-AssetDatabase的使用_第4张图片



     4.在编辑器上面Example上点击Copy Asset,我们会发现NewMaterials文件夹下也会生一个和Materials一样的.mat;
Unity3D 学习从简单开始-AssetDatabase的使用_第5张图片

       
     PS:其实AssetDatabase 还有其他的很多的方法和功能,感兴趣的同学可以更深入的研究一下哈!

你可能感兴趣的:(Unity3D 学习从简单开始-AssetDatabase的使用)