编辑器脚本:Unity中如何查找哪些物体上有missing的脚本

这篇具有很好参考价值的文章主要介绍了编辑器脚本:Unity中如何查找哪些物体上有missing的脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、需求

编辑器中选中物体,判断这些物体及子物体上是否有丢失的脚本

二、实现过程:

  • 1、编辑器选中n个物体
  • 2、获取这n个物体及其它们的子物体,数据集记为A
  • 3、A中全部物体判断他们是否有null的脚本(MonoBehaviour)
  • 4、判断一个物体(obj)是否有空脚本的关键语句:
    obj.GetComponents<MonoBehaviour>().Any(mono => mono == null)

unity 查找丢失脚本,unity,编辑器,游戏引擎

三、代码清单:

该脚本为编辑器脚本,直接新建一个Editor文件夹,放在下面即可文章来源地址https://www.toymoban.com/news/detail-624900.html

using UnityEngine;
using UnityEditor;
using System.Linq;

public class txEditorFunctions : EditorWindow {

    [MenuItem("脚本处理/查找有missing脚本的物体")]
    static void FindMissingScriptObject()
    {
        /*******************************************************************************************
         * 1、编辑器选中n个物体
         * 2、获取这n个物体及其它们的子物体,数据集记为A
         * 3、A中全部物体判断他们是否有null的脚本(MonoBehaviour)
         * 
         * 判断一个物体(object)是否有空脚本:obj.GetComponents<MonoBehaviour>().Any(mono => mono == null)
         *******************************************************************************************/
        var objs = Selection.gameObjects;
        Debug.Log($"选中的物体数量为:{objs.Length}");

        var allObjs = objs.SelectMany(obj => obj.GetComponentsInChildren<Transform>().Select(x => x.gameObject)).ToList();
        Debug.Log($"选中的物体及其子物体的数量为:{allObjs.Count()}");

        allObjs.ForEach(obj =>
        {            
            //1、该物体是否有null的脚本
            var hasNullScript = obj.GetComponents<MonoBehaviour>().Any(mono => mono == null); //注意:用【MonoBehaviour】而不是用【MonoScript】
            //Debug.Log($"是否有空脚本:{hasNullScript},物体名字:【{obj.name}】");

            //2、Debug物体名字
            if (hasNullScript)
            {
                Debug.Log($"物体 【{obj.name}】 上有Missing的脚本");                
            }
        });
    }
}

到了这里,关于编辑器脚本:Unity中如何查找哪些物体上有missing的脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】编辑器下查找指定文件下的所有特定资源

            需求上很简单,就是在编辑器下,找到某个制定文件下的所有特定资源(UnityEngine.Object)。Unity 没有提供专门的 API,我一开始想在网上搜索代码,发现没有现成可以直接用的。         功能实现本身并不复杂,代码也比较直观:         其实就是借用 System.IO 的代

    2024年02月11日
    浏览(43)
  • 【Unity】编辑器下查找制定文件下的所有特定资源

            需求上很简单,就是在编辑器下,找到某个制定文件下的所有特定资源(UnityEngine.Object)。Unity 没有提供专门的 API,我一开始想在网上搜索代码,发现没有现成可以直接用的。         功能实现本身并不复杂,代码也比较直观:         其实就是借用 System.IO 的代

    2024年02月12日
    浏览(43)
  • unity脚本基础+编辑器UnityEditor学习

    1.1创建脚本 新建脚本文件后,文件内会有一段默认代码: 它源自基类MonoBehaviour,以确保此脚本将在游戏循环中运行,并具有对某些事件作出反应的附加功能。 1.2生命周期 当脚本运行时,unity会按照预定顺序依次调用以下方法,完成生命周期: [所有脚本的顺序是并行的] 初

    2024年02月04日
    浏览(48)
  • 【Unity3D】Unity 脚本 ② ( Visual Studio 2019 中的 Unity 编译环境配置 | Unity 编辑器关联外部 C# 脚本编辑器 Visual Studio )

    在上一篇博客 【Unity3D】Unity 脚本 ① ( 创建 C# 脚本 | Visual Studio 2019 中打开 C# 脚本 | 编译 C# 脚本 | 挂载 C# 脚本到游戏物体 | 运行脚本 ) 中 , 双击 Unity 编辑器中的 Project 窗口中的 C# 脚本 , 进入到 Visual Studio 中出现下图样式 , 这是因为没有配置 Unity 编译环境 ; 参考如下两个博

    2023年04月08日
    浏览(73)
  • Unity编辑器扩展——自动生成UI界面脚本

    一:前言 对于面板赋值或Find绑定UI组件,我们可以使用一种工具化的方式去自动生成代码并绑定对象,增加效率 分为logic和view,view层是UI界面上的组件,每次都会自动生成并覆盖,logic层是逻辑 二:使用 例如一个UI界面,我们只需要做成预制体并在Project下右键预制体,选择

    2024年02月11日
    浏览(46)
  • Unity 编辑器-创建模板脚本,并自动绑定属性,添加点击事件

    当使用框架开发时,Prefab挂载的很多脚本都有固定的格式。从Unity的基础模板创建cs文件,再修改到应有的模板,会浪费一些时间。尤其是有大量的不同界面时,每个都改一遍,浪费时间不说,还有可能遗漏或错改。写个脚本创建指定的模板代替C#基础模板。 注:当前脚本使用

    2024年02月13日
    浏览(63)
  • Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】

    首先了解unity相关概述,快速认识unity编辑器,然后抓住重点的学:游戏对象、组件|C#脚本、预制体、UI ☺ 学习过程你会发现,其实Unity中主要是用c#进行开发。 因为在这个过程中,无非就是,对游戏对象通过挂载的C#脚本,修改一下组件的一些属性,控制一下激活之类的操作

    2023年04月13日
    浏览(63)
  • threejs(6)-操控物体实现家居编辑器

    2024年02月07日
    浏览(137)
  • 「unity技巧」如何查找脚本挂载在哪个物体(组件)上?

    目录 一、简单粗暴版方法 二、代码方式 这是场景。 我们要找的脚本: 在Hierarchy窗口中输入要找的 脚本名称 。 结果出现。 若需要运行中寻找挂载脚本的物体:

    2024年02月12日
    浏览(38)
  • android 富文本编辑器有哪些

    android 富文本编辑器有哪些 有许多优秀的开源富文本编辑器插件可用于Android平台,下面列举几个常用的: RichEditorView:这是一个基于Web技术的富文本编辑器插件,有多种编辑功能与选项。 Android Rich Text Editor:这是一个轻量级的富文本编辑器插件,支持加粗、斜体、下划线等

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包