IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> unity编译器 Selection,AssetDatabase,EditorUtility (AssetDatabase基础篇) -> 正文阅读

[游戏开发]unity编译器 Selection,AssetDatabase,EditorUtility (AssetDatabase基础篇)

关于AssetDatabase类懂得不多我把我知道的几个Apl写了出来

(等以后我了解的再深一点我会把其他APL进行补充)

其中也有我对这些APl的理解

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class AssetDatabases
{

    [MenuItem("AssetDatabase/Contains")]
    static void Contains()
    {
        // AssetDatabase.Contains 判断一个物体是否是资源(在场景的中的物体不算资源)
        var aa = AssetDatabase.Contains(Selection.activeObject);
        Debug.Log(aa);
    }
    [MenuItem("AssetDatabase/CopyAsset")]
    static void CopyAsset()
    {
        //AssetDatabase.CopyAsset 将路径里所有的东西都复制到你的新路径(注意不会删除原来的目录)
        //注意千万不要复制到Streaminghsseta路径下假设是一个材质球复制到Streaminghssets路经下他会变成文本文件二进制一样
        //如果传的是物体切记一定要写正确的后缀名
        var aa = AssetDatabase.CopyAsset("Assets/abc/New Material.mat", "Assets/Material.mat");
        Debug.Log(aa);
    }
    [MenuItem("AssetDatabase/CreateAsset")]
    static void CreateAsset()
    {
        //AssetDatabase.CreateAsset 你在代码里创建的物体放入对应的目录下(注意有后缀名)
        //注意预制件是不可以创建的如果想创建有其他API
        Material material = new Material(Shader.Find("Standard"));
         AssetDatabase.CreateAsset(material, "Assets/Resources/material.mat");
    }
    [MenuItem("AssetDatabase/CreateFolder")]
    static void CreateFolder()
    {
       //参数1:是你想放入的父文件参数2:是你的子文件作用创建目录
        AssetDatabase.CreateFolder("Assets", "My Folder");
    }
    [MenuItem("AssetDatabase/GUIDToAssetPath")]
    static void GUIDToAssetPath()
    {
        //可以帮我们查找所有的后缀名为prefab类型的物体
        //返回回来的guid代表物体的身份证
        //可以通过AssetDatabase.GUIDToAssetPath 来获取他完整的路径
        var guid = AssetDatabase.FindAssets("t:prefab");
        foreach (var item in guid)
        {
            Debug.Log(item);
            string path = AssetDatabase.GUIDToAssetPath(item);
            Debug.Log(path);
        }
    }
    [MenuItem("AssetDatabase/FindAssets")]
    static void FindAssets()
    {
        //可以帮我们查找所有的后缀名为prefab类型的物体
        //返回回来的guid代表物体的身份证
        var guid = AssetDatabase.FindAssets("t:prefab");
        foreach (var item in guid)
        {
            Debug.Log(item);
        }
    }
    [MenuItem("AssetDatabase/LoadAssetAtPath")]
    static void LoadAssetAtPath()
    {
        //可以帮我们查找所有的后缀名为prefab类型的物体
        //返回回来的guid代表物体的身份证
        //可以通过AssetDatabase.GUIDToAssetPath 来获取他完整的路径
        //AssetDatabase.LoadAssetAtPath 加载路径的物体
        var guid = AssetDatabase.FindAssets("t:prefab");
        foreach (var item in guid)
        {
            Debug.Log(item);
            string path = AssetDatabase.GUIDToAssetPath(item);
            Debug.Log(path);
            
            AssetDatabase.LoadAssetAtPath<GameObject>(path);
        }
    }
    [MenuItem("AssetDatabase/DeleteAsset")]
    static void DeleteAsset()
    {
        //删除工程下任何东西
        var bools = AssetDatabase.DeleteAsset("Assets/Resources/abc");
        Debug.Log(bools);
    }
    [MenuItem("AssetDatabase/IsValidFolder")]
    static void IsValidFolder()
    {
        //给他一个路径它判断它是否是场景中的目录
        var bools = AssetDatabase.IsValidFolder("Assets/Resources/abc");
        Debug.Log(bools);
    }
    [MenuItem("AssetDatabase/LoadAllAssetsAtPath")]
    static void LoadAllAssetsAtPath()
    {
        //可以将我们九宫格切割完的图片都打印出来返回类型0bject数组
        var objets = AssetDatabase.LoadAllAssetsAtPath("Assets/aa.jpg");
        foreach (var item in objets)
        {
            Debug.Log(objets);
        }
    }
    [MenuItem("AssetDatabase/MoveAsset")]
    static void MoveAsset()
    {
    // 参数数1 oldpath是之前的路径 参数2 newpath 是改完之后的路径
         var objets = AssetDatabase.MoveAsset("Assets/Folder", "Assets/Resources/Folder");
       
    }
    [MenuItem("AssetDatabase/Refresh")]
    static void Refresh()
    {
        //刷新 project的界面
        AssetDatabase.Refresh();
    }


}

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 22:03:23  更:2021-11-14 22:06:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 22:27:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码