Version: 2017.1

Handles

class in UnityEditor

切换到手册

描述

场景视图中的自定义 3D GUI 控件和绘制操作。

手柄是 Unity 用于操作场景视图中的项的 3D 控件。内置的手柄 GUI 有很多,例如通过变换组件定位、缩放和旋转对象的常用工具。不过,您也可以定义自己的手柄 GUI,以与自定义组件编辑器结合使用。此类 GUI 对于编辑以程序方式生成的场景内容、“不可见”项和相关对象组(如路标和位置标记)非常有用。

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 / EndGUI pair within the //OnSceneGUI// function. You can use HandleUtility.GUIPointToWorldRay and HandleUtility.WorldToGUIPoint to convert coordinates between 2D GUI and 3D world coordinates.

静态变量

centerColor用于表示某物体中心的手柄的颜色。
color手柄的颜色。
inverseMatrix所有手柄操作的矩阵的逆矩阵。
lighting手柄是否亮起?
matrix所有手柄操作的矩阵。
secondaryColor用于一般物体的柔和色。
selectedColor用于当前处于活动状态的手柄的颜色。
xAxisColor用于操纵某物体 X 坐标的手柄的颜色。
yAxisColor用于操纵某物体 Y 坐标的手柄的颜色。
zAxisColor用于操纵某物体 Z 坐标的手柄的颜色。
zTest手柄的 zTest。

变量

currentCamera为当前摄像机设置视口和相关内容。

静态函数

ArrowHandleCap绘制一个类似于移动工具所用箭头的箭头。
BeginGUI在 3D 手柄 GUI 内开始一个 2D GUI 块。
Button创建一个 3D 按钮。
CircleHandleCap绘制一个圆形手柄。将此手柄传递给 handle 函数。
ClearCamera清除摄像机。
ConeHandleCap绘制一个锥体手柄。将此手柄传递给 handle 函数。
CubeHandleCap绘制一个立方体手柄。将此手柄传递给 handle 函数。
CylinderHandleCap绘制一个圆柱体手柄。将此手柄传递给 handle 函数。
DiscMake a 3D disc that can be dragged with the mouse. Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
DotHandleCap绘制一个圆点手柄。将此手柄传递给 handle 函数。
DrawAAConvexPolygon绘制使用点数组指定的抗锯齿凸多边形。
DrawAAPolyLine绘制使用点数组和宽度指定的抗锯齿线。
DrawBezierDraw textured bezier line through start and end points with the given tangents. To get an anti-aliased effect use a texture that is 1x2 pixels with one transparent white pixel and one opaque white pixel. The bezier curve will be swept using this texture.
DrawCamera在矩形内绘制一个摄像机。
DrawDottedLine绘制一条从 p1 到 p2 的虚线。
DrawDottedLines绘制一系列虚线段。
DrawLine绘制一条从 p1 到 p2 的线。
DrawLines绘制一系列线段。
DrawPolyLineDraw a line going through the list of all points.
DrawSelectionFrame绘制一个面向选择框的摄像机。
DrawSolidArc在 3D 空间中绘制一个圆扇形(饼图)。
DrawSolidDisc在 3D 空间中绘制一个实心平面圆盘。
DrawSolidRectangleWithOutline在 3D 空间中绘制一个实心轮廓矩形。
DrawWireArc在 3D 空间中绘制一个圆弧。
DrawWireCube使用 center 和 size 绘制一个线框盒体。
DrawWireDisc在 3D 空间中绘制一个平面圆盘的轮廓。
EndGUI结束一个 2D GUI 块并返回到 3D 手柄 GUI。
FreeMoveHandle创建一个不受约束的移动手柄。
FreeRotateHandle创建一个不受约束的旋转手柄。
GetMainGameViewSize获取主游戏视图的宽度和高度。
Label在 3D 空间中创建一个文本标签。
MakeBezierPointsRetuns an array of points to representing the bezier curve. See Handles.DrawBezier.
PositionHandle创建一个位置手柄。
RadiusHandle创建一个场景视图半径手柄。
RectangleHandleCap绘制一个矩形手柄。将此手柄传递给 handle 函数。
RotationHandle创建一个场景视图旋转手柄。
ScaleHandle创建一个场景视图缩放手柄。注意:如果您希望拥有恒定屏幕大小的手柄,请使用 HandleUtility.GetHandleSize。
ScaleSlider创建一个定向缩放滑动条。
ScaleValueHandle创建一个缩放单个浮点的 3D 手柄。
SetCamera设置当前摄像机,以便所有手柄和辅助图标均使用相应设置进行绘制。
Slider创建一个沿着一个轴移动的 3D 滑动条。
Slider2D创建一个沿两个轴定义的平面移动的 3D 滑动条。
SnapValue将值“val”四舍五入到“snap”的最接近倍数(snap 只能是正数)。
SphereHandleCap绘制一个球体手柄。将此手柄传递给 handle 函数。

委托

CapFunction用于绘制手柄的函数,如 Handles.RectangleCap。
SizeFunction用于根据手柄的当前位置获取手柄大小的委托类型。