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

Handles

класс в UnityEditor

Описание

Настраиваемые 3D GUI элементы управления и чертежи в представлении Scene.

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

Вы также можете дополнить 3D Handle GUI в представлении Scene кнопками 2D и другими элементами управления, наложенными на представление Scene. Это делается путем включения стандартных 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Цвет — это постоянное состояние, влияющее на все хендлы, отрисованные после его установки. Используйте DrawingScope, чтобы задать цвет для блока хендлов, не влияя на цвет остальных.
currentCameraПолучает или устанавливает камеру, которая в настоящее время выполняет отображение.
elementColorЦвет по умолчанию объектов в режиме редактирования.
elementPreselectionColorЦвет, используемый для выделения не выбранного объекта, находящегося под указателем мыши в пользовательском режиме редактирования.
elementSelectionColorЦвет выбранных объектов в режиме редактирования.
inverseMatrixОбратная матрица для всех операций с манипуляцией.
lightingПодсвечиваются ли ручки?
lineThicknessПолучает настройку предпочтения пользователя, которая контролирует толщину линий ручки инструмента. (Только для чтения)
matrixМатрица для всех операций с манипуляцией. Используется функциями в HandleUtility и Handles для преобразования элементов управления.
preselectionColorЦвет, используемый для выделения не выбранного элемента управления под указателем мыши.
secondaryColorМягкий цвет для использования для общих вещей.
selectedColorЦвет, используемый для активного в данный момент элемента управления.
UIColliderHandleColorЦвет, используемый для визуализации заполнения uGUI.
xAxisColorЦвет, используемый для ручек, которые манипулируют координатами X чего-либо.
yAxisColorЦвет, используемый для ручек, которые манипулируют координатами Y чего-то.
zAxisColorЦвет, используемый для ручек, которые манипулируют координатами Z чего-то.
zTestzTest ручек.

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

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

Делегаты

делегат Описание
CapFunctionФункция, используемая для рисования ручки e.g. Handles.RectangleCap.
SizeFunctionТип делегата для получения размера ручки на основе ее текущего положения.