Version: 2020.3

HandleUtility.CalcLineTranslation

切换到手册
public static float CalcLineTranslation (Vector2 src, Vector2 dest, Vector3 srcPosition, Vector3 constraintDir);

参数

src 拖动的源点。
dest 拖动的目标点。
srcPosition 被拖动对象在 src 射线上的 3D 位置。
constraintDir 受约束移动的 3D 方向。

返回

float 沿 constraintDir 移动的距离。

描述

将鼠标拖动映射到沿 3D 空间中一条直线的运动。

某些类型的 Handle(例如箭头)会涉及沿 3D 空间中一条直线的运动。例如,在拖动鼠标时,变换组件的位置箭头会沿其本地 X、Y 或 Z 轴方向移动对象。CalcLineTranslation 函数按照 Unity 内置工具的惯用方法将鼠标的移动转换为沿一条 3D 线的受约束移动。