场景视图中的自定义 3D GUI 控件和绘制操作。
手柄是 Unity 用于操作场景视图中的项的 3D 控件。内置的手柄 GUI 有很多,例如通过变换组件定位、缩放和旋转对象的常用工具。不过,您也可以定义自己的手柄 GUI,以与自定义组件编辑器结合使用。此类 GUI 对于编辑以程序方式生成的场景内容、“不可见”项和相关对象组(如路标和位置标记)非常有用。
您还可以使用覆盖在场景视图上的 2D 按钮和其他控件来补充场景中的 3D 手柄 GUI。这是通过将标准 Unity GUI 调用封装在 Editor.OnSceneGUI 函数中的 Handles.BeginGUI 和 Handles.EndGUI 对中完成的。您可以使用 HandleUtility.GUIPointToWorldRay 和 HandleUtility.WorldToGUIPoint 来转换 2D GUI 和 3D 世界坐标之间的坐标。
| 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 | 创建一个可使用鼠标拖动的 3D 圆盘。 |
| DotHandleCap | 绘制一个圆点手柄。将此手柄传递给 handle 函数。 |
| DrawAAConvexPolygon | 绘制使用点数组指定的抗锯齿凸多边形。 |
| DrawAAPolyLine | 绘制使用点数组和宽度指定的抗锯齿线。 |
| DrawBezier | 绘制通过给定切线的起点和终点的纹理化贝塞尔曲线。 |
| DrawCamera | 在矩形内绘制一个摄像机。 |
| DrawDottedLine | 绘制一条从 p1 到 p2 的虚线。 |
| DrawDottedLines | 绘制一系列虚线段。 |
| DrawLine | 绘制一条从 p1 到 p2 的线。 |
| DrawLines | 绘制一系列线段。 |
| DrawPolyLine | 绘制一条穿过 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 | 返回表示贝塞尔曲线的点数组。 |
| PositionHandle | 创建一个位置手柄。 |
| RadiusHandle | 创建一个场景视图半径手柄。 |
| RectangleHandleCap | 绘制一个矩形手柄。将此手柄传递给 handle 函数。 |
| RotationHandle | 创建一个场景视图旋转手柄。 |
| ScaleHandle | 创建一个场景视图缩放手柄。 |
| ScaleSlider | 创建一个定向缩放滑动条。 |
| ScaleValueHandle | 创建一个缩放单个浮点的 3D 手柄。 |
| SetCamera | 设置当前摄像机,以便所有手柄和辅助图标均使用相应设置进行绘制。 |
| Slider | 创建一个沿着一个轴移动的 3D 滑动条。 |
| Slider2D | 创建一个沿两个轴定义的平面移动的 3D 滑动条。 |
| SnapValue | 将值“val”四舍五入到“snap”的最接近倍数(snap 只能是正数)。 |
| SphereHandleCap | 绘制一个球体手柄。将此手柄传递给 handle 函数。 |
| CapFunction | 用于绘制手柄的函数,如 Handles.RectangleCap。 |
| SizeFunction | 用于根据手柄的当前位置获取手柄大小的委托类型。 |