查看: 791|回复: 0
打印 上一主题 下一主题

[其他] Unity3D 学习从简单开始-AssetDatabase的使用

[复制链接]

14

主题

1

听众

272

积分

设计实习生

Rank: 2

纳金币
35
精华
0
跳转到指定楼层
楼主
发表于 2017-3-24 16:30:49 |只看该作者 |倒序浏览
    今天,为大家分享一下AssetDatabase的功能点,AssetDatabase是一个对资源进行读写和各种操作的接口;
然而因为这是一个编辑类,当需要使用的时候把他放在工程目录下的Assets/Editor 文件夹下,编辑器类还需要
在UnityEditor 的命名空间下。欢迎加我的学习交流群:575561285。


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


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


         CreateTestMaterial.cs代码如下:
  1. using UnityEngine;
  2. using UnityEditor;

  3. public class CreateTestMaterial : Editor {

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

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

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

  16.     [MenuItem("Example/Copy Asset")]
  17.     static void CopyMaterial()
  18.     {
  19.         AssetDatabase.CopyAsset("Assets/Materials/TestMaterial.mat", "Assets/NewMaterials/TestMaterial.mat");
  20.     }
  21. }
复制代码
1.png


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

2_1.png


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


     4.在编辑器上面Example上点击Copy Asset,我们会发现NewMaterials文件夹下也会生一个和Materials一样的.mat;
4.png
      
     ps:其实AssetDatabase 还有其他的很多的方法和功能,感兴趣的同学可以更深入的研究一下哈!


     

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-20 04:29 , Processed in 0.069480 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部