ЛУЧШИЙ ГАЙД ПО CUSTOM INSPECTOR В UNITY. КАСТОМНЫЙ ИНТЕРФЕЙС В ЮНИТИ

preview_player
Показать описание
В этом видео мы рассмотрим основы создания кастомного интерфейса в Unity. Unity редактор состоит из трех основных частей: окна Inspector, окна Editor и набора различных инструментов. В этой части ролика мы сосредоточимся только на окне Inspector.

00:00 Вступление
Методы OnEnable и OnDisable, которые выполняются при выборе объекта со скриптом или при выборе другого объекта.
Переопределение метода OnInspectorGUI, который вызывается при каждой отрисовке скрипта. Отрисовка происходит при прокрутке инспектора, перемещении мышкой и других действиях.

00:44 GUILayout и EditorGUILayout
Для отрисовки элементов используются два класса: GUILayout и EditorGUILayout. Они позволяют автоматически размещать и масштабировать элементы в окне Inspector. Разница между ними условна, но GUILayout может вызывать лаги при сложных интерфейсах. В классах GUILayout и EditorGUILayout есть как одиночные, так и групповые элементы для создания полей.

01:22 Одиночные элементы
В этом сегменте ролика мы рассмотрим различные одиночные элементы, которые используются при создании кастомного интерфейса в Unity. В окне Inspector можно использовать такие элементы, как Label, TextField, intfield, Button, Box, Space, PropertyField и многие другие. Эти элементы позволяют создавать отдельные поля для ввода данных, отображения текста и выполнения других операций. Обсудим примеры использования каждого элемента и их возможности.

01:40 Групповые элементы
Продолжим нашу экскурсию по созданию кастомного интерфейса в Unity, перейдя к групповым элементам. В этом сегменте ролика мы рассмотрим такие групповые элементы, как BeginHorizontal, BeginVertical, BeginScrollView, BeginFoldoutHeaderGroup и BeginArea. Эти элементы позволяют создавать сложные компоновки и структуры для группировки одиночных полей в окне Inspector. Они предоставляют возможность создания горизонтальных и вертикальных строчек, блоков с прокруткой, раскрывающихся заголовков и других интересных элементов интерфейса.

02:10 КАК ПОЛУЧАТЬ ПЕРЕМЕННЫЕ
Лучше всего добавлять переменные в SerializedProperty при помощи метода OnEnable с использованием serializedObject.FindProperty("Имя"). SerializedProperty позволяет работать с переменными разных типов данных. Для массивов и списков можно использовать команды для их раскрытия и взаимодействия с элементами.

03:13 КАК СОЗДАВАТЬ ПОЛЯ
Показаны два простых способа создания полей в окне Inspector: EditorGUILayout.PropertyField и GUILayout.TextField. Представлены примеры с различными типами данных и кнопками. Важно сохранить изменения в переменные с помощью serializedObject.ApplyModifiedProperties.

03:46 СТИЛИ
Объясняется использование класса EditorStyles для применения стилей к элементам интерфейса. Важно не изменять глобальные стили, а создавать и изменять копии стилей для конкретных скриптов или элементов.
Рекомендации по теме
Комментарии
Автор

С приватными переменными это тоже работает?

_mirai