当前位置: 首页 > article >正文

Unity工具脚本-检测资源文件夹是否有预制件是指定层级

效果:

先在菜单栏里面找到Tools/CheckPrefabLayers打开窗口

代码:

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

public class CheckPrefabLayers : EditorWindow
{
    public int selectedLayerIndex = 0;

    void OnGUI()
    {
        string[] layerNames = UnityEditorInternal.InternalEditorUtility.layers;
        selectedLayerIndex = EditorGUILayout.Popup("检查层级:", selectedLayerIndex, layerNames);
        if (GUILayout.Button("开始查找"))
        {
            CheckLayers();
        }
    }
    private void CheckLayers()
    {
        // 指定资源文件夹路径
        string folderPath = "Assets/Prefab";

        // 获取指定文件夹下所有预制体的路径
        string[] prefabPaths = Directory.GetFiles(folderPath, "*.prefab", SearchOption.AllDirectories);
        

        foreach (string prefabPath in prefabPaths)
        {
            // 加载预制体
            GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);

            // 检查预制体的 Layer 层级
            if (prefab != null && prefab.layer ==selectedLayerIndex)
            {
                Debug.Log($"Prefab {prefab.name} 在 {prefabPath} 有指定的层级");
            }
        }

        Debug.LogWarning("检测完毕");
    }

    [MenuItem("Tools/Check Prefab Layers")]
    static void Init()
    {
        // 创建窗口实例并显示
        CheckPrefabLayers window = (CheckPrefabLayers)EditorWindow.GetWindow(typeof(CheckPrefabLayers));
        window.Show();
    }
}


http://www.kler.cn/news/155939.html

相关文章:

  • 深入了解Java8新特性-日期时间API之ZonedDateTime类
  • 【Arduino库之:FastLED库】
  • SCAU:数字字符序列2
  • Linux(13):例行性工作排程
  • 前后端分离部署https
  • qt-C++笔记之组件-分组框QGroupBox
  • C/C++ 快速排序
  • Python 错误 TypeError: __str__ Returned Non-String but Printing Output
  • 【源码解析】聊聊线程池 实现原理与源码深度解析(一)
  • 从零构建属于自己的GPT系列3:模型训练2(训练函数解读、模型训练函数解读、代码逐行解读)
  • 算法复习,数据结构 ,算法特性,冒泡法动态演示,复杂度,辗转相除法*,寻找最大公因数
  • Win中Redis部署与配置
  • SCAU:判断点是否在圆上
  • QWebChannel 是 Qt 框架中用于在 Web 页面和 Qt 应用程序之间进行通信的类
  • 【doccano】文本标注工具——属性级情感分析标注自己的业务数据
  • 使用SLS日志服务采集Kong网关的日志
  • c语言编程题经典100例——(41~45例)
  • Android textView 显示: STRING_TOO_LARGE
  • 23.12.3日总结
  • 鸿蒙工具DevEco Studio调试Build task failed. Open the Run window to view details.
  • 讲一讲redis的使用
  • WordPress外贸站优化工具,WordPress外贸SEO优化方法
  • iOS Class Guard 成功了,但无法区分差异
  • ssm医药进出口交易系统源码和论文
  • 移除元素、合并两个有序数组(leetcode)
  • 人工智能(pytorch)搭建模型21-基于pytorch搭建卷积神经网络VoVNetV2模型,并利用简单数据进行快速训练
  • Stable Diffusion 系列教程 - 1 基础准备(针对新手)
  • 浅析SD-WAN技术如何加强企业网络安全
  • YOLOv8 区域计数 | 入侵检测 | 人员闯入
  • 编程中常见的技术难题有哪些?By AI