Пользовательские 3D GUI элементы управления, отображение их в окне Scene.
Handles are the 3D controls that Unity uses to manipulate items in the Scene view. There are a number of built-in Handle GUIs, such as the familiar tools to position, scale and rotate an object via the Transform component. However, it is also possible to define your own Handle GUIs to use with custom component editors. Such GUIs can be a very useful way to edit procedurally-generated Scene content, "invisible" items and groups of related objects, such as waypoints and location markers.
You can also supplement the 3D Handle GUI in the Scene with 2D buttons and other controls overlaid on the Scene view. This is done by enclosing standard Unity GUI calls in a Handles.BeginGUI and Handles.EndGUI pair within the Editor.OnSceneGUI function. You can use HandleUtility.GUIPointToWorldRay and HandleUtility.WorldToGUIPoint to convert coordinates between 2D GUI and 3D world coordinates.
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 | Colors of the handles. |
inverseMatrix | Обратная матрица для всех обрабатываемых операций. |
lighting | Маркет подсвечен? |
lineThickness | Retrieves the user preference setting that controls the thickness of tool handle lines. (Read Only) |
matrix | Матрица для всех обрабатываемых операций. |
preselectionColor | Color to use to highlight an unselected handle currently under the mouse pointer. |
secondaryColor | Soft color to use for for general things. |
selectedColor | Цвет, использующийся для активного в данный момент маркера. |
xAxisColor | Color to use for handles that manipulates the X coordinate of something. |
yAxisColor | Цвет для использования маркера, который управляет Y координатой чего либо. |
zAxisColor | Цвет для использования маркера, который управляет Z координатой чего либо. |
zTest | zTest of the handles. |
currentCamera | Настройка окна обзора для текущей камеры. |
ArrowHandleCap | Рисует стрелку, примерно как при использовании инструмента "move". |
BeginGUI | Создает 2D GUI блок внутри обрабатываемого 3D GUI. |
Button | Make a 3D Button. |
CircleHandleCap | Рисует цилиндр. Передает его в обрабатываемые функции. |
ClearCamera | Очищаем камеру. |
ConeHandleCap | Рисует конус. Передает в обрабатываемые функции. |
CubeHandleCap | Отображает куб. Передает в обрабатываемые функции. |
CylinderHandleCap | Рисует цилиндр. Передает его в обрабатываемые функции. |
Disc | Делает перемещаемый мышкой 3D диск. |
DotHandleCap | Рисует конус. Передает в обрабатываемые функции. |
DrawAAConvexPolygon | Рисует сглаженную линию, указанную массивом точек и шириной. |
DrawAAPolyLine | Рисует сглаженную линию, указанную массивом точек и шириной. |
DrawBezier | Draw textured bezier line through start and end points with the given tangents. |
DrawCamera | Отображает перед камерой рамку. |
DrawDottedLine | Рисует линию из точек из p1 до p2. |
DrawDottedLines | Draw a list of dotted line segments. |
DrawGizmos | Draw a subset of Gizmos (before or after postprocessing) for the given camera. |
DrawLine | Draws a line from p1 to p2. |
DrawLines | Рисует твердый очерченный прямоугольник в 3D пространстве. |
DrawPolyLine | Draw a line going through the list of points. |
DrawSelectionFrame | Отображает перед камерой рамку. |
DrawSolidArc | Рисует круглый сектор ("кусок пирога") в 3D пространстве. |
DrawSolidDisc | Рисует твердый диск в 3D пространстве. |
DrawSolidRectangleWithOutline | Рисует твердый очерченный прямоугольник в 3D пространстве. |
DrawTexture3DSDF | Draws a 3D texture using Signed Distance Field rendering mode in 3D space. |
DrawTexture3DSlice | Draws a 3D texture using Slice rendering mode in 3D space. |
DrawTexture3DVolume | Draws a 3D texture using Volume rendering mode in 3D space. |
DrawWireArc | Draws a circular arc in 3D space. |
DrawWireCube | Рисует каркасный куб с центром в точке center и размером size. |
DrawWireDisc | Draws the outline of a flat disc in 3D space. |
EndGUI | Заканчивает 2D GUI блок и возвращается к маркеру 3D GUI. |
FreeMoveHandle | Делает неограниченно движущийся маркер. |
FreeRotateHandle | Делает непостоянно вращающийся маркер. |
GetMainGameViewSize | Get the width and height of the main game view. |
Label | Делает надпись, расположенную в 3D пространстве. |
MakeBezierPoints | Retuns an array of points to representing the bezier curve. |
PositionHandle | Make a position handle. |
RadiusHandle | Назначает радиус маркера в окне Scene. |
RectangleHandleCap | Рисует цилиндр. Передает его в обрабатываемые функции. |
RotationHandle | Назначает вращение маркера в окне Scene. |
ScaleHandle | Назначает масштабирование маркера в окне Scene. |
ScaleSlider | Делает направленно масштабируемый ползунок. |
ScaleValueHandle | Make a 3D handle that scales a single float. |
SetCamera | Устанавливает камеру таким образом, что все маркеры и гизмо отображаются с этими настройками. |
ShouldRenderGizmos | Determines whether or not to draw Gizmos. |
Slider | Make a 3D slider that moves along one axis. |
Slider2D | Make a 3D slider that moves along a plane defined by two axes. |
SnapToGrid | Rounds each Transform.position to the closest multiple of EditorSnap.move. |
SnapValue | Rounds value to the closest multiple of snap if snapping is active. Note that snap can only be positive. |
SphereHandleCap | Рисует сферу. Передает ее в обрабатываемые функции. |
TransformHandle | Creates a transform handle. |
CapFunction | Функция, использующаяся для отображения маркера, Handles.RectangleCap. |
SizeFunction | A delegate type for getting a handle's size based on its current position. |