场景视图中的自定义 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 | 所有手柄操作的矩阵。 |
preselectionColor | 用于突出显示鼠标指针下当前未选中的手柄的颜色。 |
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 函数。 |
Disc | Make 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 | 绘制使用点数组和宽度指定的抗锯齿线。 |
DrawBezier | Draw 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 | 绘制一系列线段。 |
DrawPolyLine | Draw 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 空间中创建一个文本标签。 |
MakeBezierPoints | Retuns 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 | 用于根据手柄的当前位置获取手柄大小的委托类型。 |