您的位置:首页 > 移动开发 > Unity3D

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

2017-03-24 16:23 597 查看
      今天,为大家分享一下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");
}
}




     2.在编辑器上面Example上点击Create Asset,我们会发现在Materials文件夹下会生成一个.mat文件;





     3.在编辑器上面Example上点击Delete Asset,我们会发现Materials文件夹下.mat 会被删除掉;



     4.在编辑器上面Example上点击Copy Asset,我们会发现NewMaterials文件夹下也会生一个和Materials一样的.mat;



       

     PS:其实AssetDatabase 还有其他的很多的方法和功能,感兴趣的同学可以更深入的研究一下哈!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: