Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Handles

класс в UnityEditor

Описание

Пользовательские элементы управления трехмерным графическим интерфейсом и рисование в представлении «Сцена».

Ручки — это 3D-элементы управления, которые Unity использует для управления элементами в представлении «Сцена». Существует ряд встроенных графических интерфейсов Handle, таких как знакомые инструменты для позиционирования, масштабирования и поворота объекта с помощью компонента Transform. Однако также можно определить свои собственные графические интерфейсы Handle для использования с редакторами пользовательских компонентов. Такие графические интерфейсы могут быть очень полезным способом редактирования процедурно сгенерированного содержимого сцены, «невидимых» элементов и групп связанных объектов, таких как путевые точки и маркеры местоположения.

Вы также можете дополнить графический интерфейс 3D-манипулятора в сцене 2D-кнопками и другими элементами управления, наложенными на вид сцены. Это делается путем включения стандартных вызовов Unity GUI в пару Handles.BeginGUI и Handles.EndGUI внутри Editor.OnSceneGUI. Вы можете использовать HandleUtility.GUIPointToWorldRay и HandleUtility.WorldToGUIPoint для преобразования координат между 2D GUI и 3D мировыми координатами.

using UnityEngine; using UnityEditor; public class ExampleScript : MonoBehaviour { public float value = 7.0f; }

// A tiny custom editor for ExampleScript component [CustomEditor(typeof(ExampleScript))] public class ExampleEditor : Editor { // Custom in-scene UI for when ExampleScript // component is selected. public void OnSceneGUI() { var t = target as ExampleScript; var tr = t.transform; var pos = tr.position; // display an orange disc where the object is var color = new Color(1, 0.8f, 0.4f, 1); Handles.color = color; Handles.DrawWireDisc(pos, tr.up, 1.0f); // display object "value" in scene GUI.color = color; Handles.Label(pos, t.value.ToString("F1")); } }

Статические Свойства

centerColor Цвет, используемый для маркеров, представляющих центр чего-либо.
color Цвета ручек.
inverseMatrix Инверсия матрицы для всех операций дескриптора.
lighting Подсвечиваются ли ручки?
lineThickness Получает параметр предпочтения пользователя, управляющий толщиной линий рукоятки инструмента. (Только чтение)
matrix Матрица для всех операций с дескрипторами.
preselectionColor Цвет, используемый для выделения невыбранного дескриптора, находящегося в данный момент под указателем мыши.
secondaryColor Мягкий цвет для обычных вещей.
selectedColor Цвет для текущего активного дескриптора.
xAxisColor Цвет, используемый для маркеров, которые манипулируют координатой X чего-либо.
yAxisColor Цвет, используемый для маркеров, которые манипулируют координатой Y чего-либо.
zAxisColor Цвет, используемый для маркеров, которые манипулируют координатой Z чего-либо.
zTest Проверка дескрипторов.

Свойства

currentCamera Настройка видового экрана и прочее для текущей камеры.

Статические Методы

ArrowHandleCap Рисует стрелку, аналогичную той, что используется в инструменте перемещения.
BeginGUI Начните блок 2D-графического интерфейса внутри графического интерфейса 3D-дескриптора.
Button Создаёт 3D-кнопку.
CircleHandleCap Рисует круглую ручку. Передайте это в функции обработки.
ClearCamera Очищает камеру.
ConeHandleCap Рисует ручку-конус. Передайте это в функции обработки.
CubeHandleCap Рисует ручку куба. Передайте это в функции обработки.
CylinderHandleCap Рисует ручку цилиндра. Передайте это в функции обработки.
Disc Создаёт 3D-диск, который можно перетаскивать мышью.
DotHandleCap Рисует маркер в виде точки. Передайте это в функции обработки.
DrawAAConvexPolygon Рисует сглаженный выпуклый многоугольник, заданный массивом точек.
DrawAAPolyLine Рисует сглаженную линию, указанную с помощью массива точек и ширины.
DrawBezier Рисует текстурированную линию Безье через начальную и конечную точки с заданными касательными.
DrawCamera Рисует камеру внутри прямоугольника.
DrawDottedLine Рисует пунктирную линию от p1 до p2.
DrawDottedLines Рисует список сегментов пунктирной линии.
DrawGizmos Рисует подмножество Gizmos (до или после постобработки) для данной камеры.
DrawLine Рисует линию от p1 до p2.
DrawLines Рисует список сегментов линии.
DrawPolyLine Рисует линию, проходящую через список точек.
DrawSelectionFrame Рисует рамку выбора, обращенную к камере.
DrawSolidArc Рисует круговой сектор (кусок пирога) в трехмерном пространстве.
DrawSolidDisc Рисует твердый плоский диск в трехмерном пространстве.
DrawSolidRectangleWithOutline Рисует сплошной прямоугольник в трехмерном пространстве.
DrawTexture3DSDF Рисует 3D-текстуру, используя режим рендеринга Signed Distance Field в 3D-пространстве.
DrawTexture3DSlice Рисует 3D-текстуру, используя режим рендеринга Slice в 3D-пространстве.
DrawTexture3DVolume Рисует 3D-текстуру, используя режим объемного рендеринга в 3D-пространстве.
DrawWireArc Рисует дугу окружности в трехмерном пространстве.
DrawWireCube Рисует каркасную рамку с центром и размером.
DrawWireDisc Рисует контур плоского диска в трехмерном пространстве.
EndGUI Завершить блок 2D-графического интерфейса и вернуться к графическому интерфейсу 3D-дескриптора.
FreeMoveHandle Создаёт неограниченный маркер перемещения.
FreeRotateHandle Создаёт дескриптор неограниченного поворота.
GetMainGameViewSize Получить ширину и высоту основного вида игры.
Label Создаёт текстовую метку, расположенную в трехмерном пространстве.
MakeBezierPoints Перенастраивает массив точек для представления кривой Безье.
PositionHandle Создаёт дескриптор позиции.
RadiusHandle Создаёт маркер радиуса просмотра сцены.
RectangleHandleCap Рисует прямоугольную ручку. Передайте это в функции обработки.
RotationHandle Создаёт дескриптор поворота представления "Сцена".
ScaleHandle Создаёт дескриптор масштаба представления сцены.
ScaleSlider Создаёт ползунок шкалы направления.
ScaleValueHandle Создаёт 3D-манипулятор, который масштабирует одно плавающее число.
SetCamera Настраивает текущую камеру так, чтобы все ручки и приспособления отображались с ее настройками.
ShouldRenderGizmos Определяет, следует ли рисовать вещицы.
Slider Создаёт 3D-ползунок, который перемещается вдоль одной оси.
Slider2D Создаёт 3D-ползунок, который перемещается по плоскости, определяемой двумя осями.
SnapToGrid Округляет каждую позицию Transform.position до ближайшего кратного EditorSnap.move.
SnapValue Округляет значение до ближайшего кратного привязки, если привязка активна. Обратите внимание, что привязка может быть только положительной.
SphereHandleCap Рисует ручку сферы. Передайте это в функции обработки.
TransformHandle Создает дескриптор преобразования.

Делегаты

CapFunction Функция, используемая для рисования ручки, например. Ручки.RectangleCap.
SizeFunction Тип делегата для получения размера дескриптора на основе его текущей позиции.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3