版本: Unity 6 (6000.0)
语言英语
  • C#

HandleUtility

UnityEditor 中的类

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

场景视图风格 3D GUI 的辅助函数。

这些主要是数学函数,用于辅助在 3D 场景空间和 2D GUI 之间进行转换。这些函数用于构建 Unity 编辑器本身,因此使用它们是使您自己的Handles GUI 与 Unity 的 GUI 保持一致的好方法。

静态属性

acceleration获取用于拖动值的标准加速度 (只读)。
nearestControl最靠近鼠标光标的 Handle 的控制 ID。
niceMouseDelta获取用于拖动浮点值的最佳鼠标增量 (只读)。
niceMouseDeltaZoom获取用于缩放的最佳鼠标增量 (只读)。

静态方法

AddControl记录来自 Handle 的距离测量值。
AddDefaultControl添加默认控件的 ID。如果没有其他控件,将选择它。
CalcLineTranslation将鼠标拖动映射到 3D 空间中沿线的移动。
ClosestPointToArc获取弧线上 (在 3D 空间中) 最靠近当前鼠标位置的点。
ClosestPointToDisc获取圆盘上 (在 3D 空间中) 最靠近当前鼠标位置的点。
ClosestPointToPolyLine获取折线上 (在 3D 空间中) 最靠近当前鼠标位置的点。
DecodeSelectionId将从 GPU 获取的 Vector4 selectionId 值转换为单个整数拾取索引。
DistancePointBezier计算点与贝塞尔曲线之间的距离。
DistancePointLine计算点与线之间的距离。
DistancePointToLine从二维中的点 p 到由两点 a 和 b 定义的线的距离。
DistancePointToLineSegment从二维中的点 p 到由两点 a 和 b 定义的线段的距离。
DistanceToArc返回鼠标指针到圆盘的 3D 部分的距离(以像素为单位)。
DistanceToCircle返回鼠标指针到面向相机的圆的距离(以像素为单位)。
DistanceToCone返回鼠标指针到圆锥的距离(以像素为单位)。
DistanceToCube返回鼠标指针到立方体的距离(以像素为单位)。
DistanceToDisc返回鼠标指针到 3D 圆盘的距离(以像素为单位)。
DistanceToLine返回鼠标指针到线的距离(以像素为单位)。
DistanceToPolyLine返回鼠标指针到折线的距离(以像素为单位)。
DistanceToRectangle返回鼠标指针到屏幕上矩形的距离(以像素为单位)。
EncodeSelectionId将单个整数拾取索引转换为 Vector4 selectionId 值。Vector4 selectionId 用于在拾取渲染过程中渲染拾取渲染纹理。
FindNearestVertex返回最靠近 guiPoint 的顶点,其最大半径为 50 像素。
GetHandleSize获取给定位置的操纵器 Handle 的世界空间大小。
GetOverlappingObjects获取在给定鼠标位置下拾取的对象的排序列表。
GetPickingIncludeExcludeList获取当前正在执行的 BatchRendererGroup.OnPerformCulling 回调的拾取 PickingIncludeExcludeList。
GetSelectionOutlineIncludeExcludeList获取当前正在执行的 BatchRendererGroup.OnPerformCulling 回调的选择轮廓 PickingIncludeExcludeList。
GUIPointToScreenPixelCoordinate将 2D GUI 位置转换为屏幕像素坐标。
GUIPointToWorldRay将 2D GUI 位置转换为世界空间射线。
PickAllObjects创建屏幕坐标中指定位置下所有 GameObjects 的列表。
PickGameObject拾取最靠近指定位置的 GameObject。
PickRectObjects拾取位于指定屏幕矩形内的 GameObjects。
PlaceObject对加载的场景进行射线投射,并返回碰撞体上最近的交点。
PointOnLineParameter返回点在给定线上的投影的参数。
PopCamera检索所有相机设置。
ProjectPointLine将点投影到线上。
PushCamera存储所有相机设置。
RaySnap对场景进行射线投射,并报告是否有对象位于其路径上。
RegisterRenderPickingCallback注册一个回调函数,在 Unity 渲染拾取时调用。
Repaint重新绘制当前视图。
UnregisterRenderPickingCallback注销之前注册的用于自定义拾取渲染的回调函数。如果您尝试在拾取渲染回调函数中调用该方法,则该方法会抛出 InvalidOperationException。
WorldPointToSizedRect计算一个矩形,以便在 3D 空间中投影点的附近显示 2D GUI 元素。
WorldToGUIPoint将世界空间点转换为 2D GUI 位置。
WorldToGUIPointWithDepth将世界空间点转换为 2D GUI 位置。

事件

getAuthoringObjectForEntityUnity 用于检索与 DOTS 实体关联的 Unity 对象的用户定义回调函数。
getEntitiesForAuthoringObjectUnity 用于检索与 Unity 对象关联的 DOTS 实体 ID 的用户定义回调函数。
pickGameObjectCustomPasses订阅此事件以将其他拾取对象添加到 HandleUtility.PickGameObject 方法。
placeObjectCustomPasses订阅此事件以处理 SceneView 中的对象放置。

委托

PickGameObjectCallback这是 pickGameObjectCustomPasses 的方法定义。
PlaceObjectDelegate这是 placeObjectCustomPasses 的方法定义。
RenderPickingCallback与 RegisterRenderPickingCallback 和 UnregisterRenderPickingCallback 一起使用的委托类型。
ResolvePickingCallback从 RenderPickingCallback 通过 RenderPickingResult.resolver 成员返回的委托类型。
ResolvePickingWithWorldPositionCallback从 RenderPickingCallback 通过 RenderPickingResult.resolverWithWorldPos 成员返回的委托类型,其中包含单击位置的额外世界空间位置和深度信息。