ue3dUnity获取/删除丢失的组件

Unity获取/删除丢失的组件

分类:
ue3d - Unity获取/删除丢失的组件

这个教程介绍了如何获取和删除Unity编辑器中丢失的组件,这个功能只有Unity2019以上版本才有的新功能。

缺少什么组件?

如果删除了附加到GameObject(游戏对象)的脚本,将找不到要执行的脚本,并显示Missing(丢失)。

ue3d - Unity获取/删除丢失的组件

在此状态下,运行时会输出以下警告。

ue3d - Unity获取/删除丢失的组件

另外,带有Missing脚本的GameObject无法制作成Prefab(预制件),如果制作成Prefab后附加的脚本变成Missing,则无法进入Prefab模式。

获取/删除

Unity中,作为一个编辑器功能,有一个获取缺失组件数量并删除它们的API。

  1. 获取缺失组件的数量:GameObjectUtility.GetMonoBehavioursWithMissingScriptCount()
  2. 删除缺失的组件:GameObjectUtility.RemoveMonoBehavioursWithMissingScript()

每个都按如下方式使用。

using UnityEditor;
using UnityEngine;

public class Example
{
    [MenuItem("Example/Log Missing Script Count")]
    private static void LogMissingScriptCount()
    {
        var gameObject = Selection.activeGameObject;
        if (gameObject == null)
        {
            return;
        }
        
        var missingCount = GameObjectUtility.GetMonoBehavioursWithMissingScriptCount(gameObject);
        Debug.Log(missingCount);
    }
    
    [MenuItem("Example/Remove Missing Scripts")]
    private static void RemoveMissingScripts()
    {
        var gameObject = Selection.activeGameObject;
        if (gameObject == null)
        {
            return;
        }
        
        var missingCount = GameObjectUtility.RemoveMonoBehavioursWithMissingScript(gameObject);
        Debug.Log(missingCount);
    }
}

以上是3D天堂关于如何获取和删除Unity软件中丢失组件的全部内容,如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:289
  • 字符:2046
  • 适用软件:Unity
  • 说明:无
  • 编号:161958

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!