GizmoUtility
класс в UnityEditor
Описание
Статический класс для работы со значками и гизмо типов в окне Scene View.
using System; using UnityEditor; using UnityEngine; namespace UnityEditor.Gizmos.Tests { // An Editor Window that lets you edit the gizmo and icon properties for each selected component. public class GizmoUtilityExample : EditorWindow { [MenuItem("Window/Gizmo Window")] static void Init() => GetWindow<GizmoUtilityExample>(); Vector2 m_Scroll; void OnEnable() { autoRepaintOnSceneChange = true; } void OnGUI() { GizmoUtility.use3dIcons = EditorGUILayout.Toggle("3D Icons", GizmoUtility.use3dIcons); EditorGUI.BeginDisabled(!GizmoUtility.use3dIcons); GizmoUtility.iconSize = EditorGUILayout.Slider("3D Icon Size", GizmoUtility.iconSize, 0f, 1f); EditorGUI.EndDisabled(); m_Scroll = EditorGUILayout.BeginScrollView(m_Scroll); foreach (var go in Selection.gameObjects) { GUILayout.Label($"{go.name} Gizmos", EditorStyles.boldLabel); EditorGUI.indentLevel++; foreach (var component in go.GetComponents<Component>()) { // A component can have gizmos, an icon, both, or neither. A gizmo can also be disabled (the Editor // is collapsed in the Inspector). if (GizmoUtility.TryGetGizmoInfo(component.GetType(), out GizmoInfo info)) { EditorGUI.BeginChangeCheck(); if (info.hasGizmo) info.gizmoEnabled = EditorGUILayout.Toggle($"{info.name} Gizmo", info.gizmoEnabled); if (info.hasIcon) info.iconEnabled = EditorGUILayout.Toggle($"{info.name} Icon", info.iconEnabled); if (EditorGUI.EndChangeCheck()) GizmoUtility.ApplyGizmoInfo(info); } } EditorGUI.indentLevel--; } EditorGUILayout.EndScrollView(); } } }
Статические свойства
| Свойство | Описание |
|---|---|
| iconSize | Управляет размером иконки 3D в представлении Scene. |
| use3dIcons | Определяет, имеют ли значки в представлении Scene фиксированный размер (false) или масштабируются относительно расстояния от камеры и iconSize. |
Статические методы
| Метод | Описание |
|---|---|
| ApplyGizmoInfo | Применить GizmoInfo.gizmoEnabled и GizmoInfo.iconEnabled к объекту GizmoInfo. |
| GetGizmoInfo | Получить GizmoInfo для всех компонентов с гаджетами или значками в проекте. |
| SetGizmoEnabled | Включить или отключить отображение гаджетов в представлении Scene для типа компонента. Гаджеты — это простые линии и направляющие, нарисованные редакторами компонентов. Например, Camera frustum guidelines — это гаджеты. |
| SetIconEnabled | Включить или отключить отображение значков для всех объектов в представлении Scene для типа компонента. |
| TryGetGizmoInfo | Получить GizmoInfo для типа, если он существует. |