Unity 6.3
0 онлайн 77 гостей 3 в системе
Вход

Создать по умолчанию Inspector

По умолчанию Inspector является стандартным способом отображения свойств серийного объекта без каких-либо пользовательских изменений. FillDefaultInspector метода InspectorElement класс, он автоматически создаёт стандартную иерархию со стандартными полями свойств.

Примерный обзор

Этот пример расширяет метод CreateInspectorGUI() в примере Создание пользовательского Inspector для создания по умолчанию Inspector для компонента Car. В этом примере создается элемент управления Foldout в файле Car_Inspector_UXML.uxml и к нему прикрепляется по умолчанию Inspector UI.

Предварительные условия

Это руководство предназначено для разработчиков, знакомых со скриптами Unity Editor, UI Toolkit и C#. Перед началом работы ознакомьтесь со следующим:

Создание контейнера по умолчанию Inspector

Создание управления Foldout для отображения по умолчанию Inspector UI.

  1. Дважды щелкните файл Car_Inspector_UXML.uxml, чтобы открыть его в UI Builder.

  2. Добавьте в свой UI элемент управления Foldout, дайте ему имя Default_Inspectorи установите текст метки:

    Развертывание по умолчанию Inspector
    Развертывание по умолчанию Inspector

Прикрепить по умолчанию Inspector UI

Для того, чтобы прикрепить Inspector по умолчанию UI к Foldout, вы должны получить ссылку на него. Вы можете получить визуальный элемент Foldout из визуального дерева вашего Inspector с помощью UQuery, и используйте FillDefaultInspector метода InspectorElement класс, чтобы прикрепить стандартный интерфейс инспектора к элементу управления Foldout.

  1. В файле Car_Inspector.cs обновите метод CreateInspectorGUI() для получения ссылки на Default_Inspector Foldout и прикрепите к нему по умолчанию Inspector UI:

    public override VisualElement CreateInspectorGUI()
    {
       ...
           
       // Get a reference to the default Inspector Foldout control.
        VisualElement InspectorFoldout = myInspector.Q("Default_Inspector");
                
        // Attach a default Inspector to the Foldout.
        InspectorElement.FillDefaultInspector(InspectorFoldout, serializedObject, this);
    
        // Return the finished Inspector UI.
        return myInspector;
    }
    
  2. Выберите GameObject, который имеет компонент Car. Inspector для компонента car теперь отображает Default Inspector Foldout с Inspector UI по умолчанию внутри.

    Inspector с по умолчанию Inspector
    Inspector с по умолчанию Inspector

Дополнительные ресурсы