Unity Editor
¶ Gizmos
- OnDrawGizmos() — всегда вызывается при отрисовке сцены в редакторе
- OnDrawGizmosSelected() — вызывается после отрисовки простых гизмо у выбранного объекта
¶ Что рисовать в 2D
Полный перечень https://docs.unity3d.com/2022.3/Documentation/ScriptReference/Gizmos.html
- Gizmos.DrawLine — простая линия
- Gizmos.DrawLineList — рисовать линии по парам точек. 0 с 1, 2 с 3 и т.д.
- Gizmos.DrawLineStrip — ломаная линия по точкам
- Gizmos.DrawRay — луч из точки в направлении
- Gizmos.DrawCube — куб
- Gizmos.DrawWireCube — куб в виде каркаса
- Gizmos.DrawSphere — сфера
- Gizmos.DrawWireSphere — сфера в виде каркаса
- Gizmos.DrawIcon— нарисовать значек, например
Gizmos.DrawIcon(transform.position, "sv_icon_dot14_pix16_gizmo");
¶ Расширение редактора
Скрипт должен находиться в папке Editor. Класс наследуется от Editor.
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Path))]
public class PathEditor : Editor
{
. . .
}
Методы такого класса:
OnSceneGUI() — для сцены. Используется Handles для взаимодействия и маркеров.
OnInspectorGUI() — для инспектора. Елементы интерфейса берутся из EditorGUILayout и GUILayout.