Unity 编辑器扩展,获取目录下所有的预制件

先看演示效果

实现方案

1创建几个用于测试的cube

2,创建一个Editor脚本

3,编写脚本内容

附上源码

cs 复制代码
using UnityEditor;
using UnityEngine;

public class GetPrefeb : EditorWindow
{
    private string folderPath = "Assets/Resources"; // 指定预制体文件夹路径

    [MenuItem("Tool/Prefab Browser Window")]
    public static void ShowWindow()
    {
        GetWindow<GetPrefeb>("Prefab Browser");
    }

    private void OnGUI()
    {
        folderPath = EditorGUILayout.TextField("Folder Path: ", folderPath);

        if (GUILayout.Button("List Prefabs"))
        {
            ListPrefabsInFolder(folderPath);
        }
    }

    private void ListPrefabsInFolder(string folderPath)
    {
        string[] guids = AssetDatabase.FindAssets("t:Prefab", new string[] { folderPath });

        foreach (string guid in guids)
        {
            string assetPath = AssetDatabase.GUIDToAssetPath(guid);
            GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(assetPath);
            Debug.Log("Prefab" + assetPath);
            //这里处理你的逻辑
        }
    }
}

4.赶紧去试试吧,对获取到的预制件做自己的逻辑处理

相关推荐
狂野有理6 小时前
Anaconda+Visual Studio Code(问题思考?)
ide·vscode·编辑器
tealcwu8 小时前
【Unity小技巧】如何将3D场景转换成2D场景
3d·unity·游戏引擎
Bruce_Liuxiaowei11 小时前
Kali Linux 加入 Windows 域实战指南:解决域发现与加入失败问题
linux·运维·windows
鸽鸽程序猿11 小时前
【项目】【抽奖系统】活动列表展示
windows
鹿野素材屋12 小时前
Unity模型中人形角色的嘴巴一直开着怎么办
unity
晚枫~14 小时前
不同浏览器在Windows和Mac上的跨域配置方法
windows·macos
船长㉿14 小时前
vim常用命令
linux·编辑器·vim
清蒸鳜鱼14 小时前
【Windows】本地安装Latex(搭配vscode)
ide·vscode·编辑器
雪碧聊技术15 小时前
怎么重启电脑的网卡(Windows系统)?
windows·重启网卡
世洋Blog16 小时前
Unity面经-List底层原理、如何基于数组、如何扩容、List存储泛型、List有关在内存中的结构
unity·面试·c#·list