Version: 2020.3

HandleUtility.ClosestPointToPolyLine

切换到手册
public static Vector3 ClosestPointToPolyLine (params Vector3[] vertices);

描述

获取折线(在 3D 空间中)上最接近当前鼠标位置的点。

折线就是由一组按顺序连接起来的点所定义的曲折线。ClosestPointToPolyLine 函数采用点数组定义的折线,并将折线"平展"到屏幕空间中。然后找到平展后的折线与当前鼠标位置(仍然在屏幕空间中)之间最近的点,并将其转换回原始 3D 折线上的 3D 点。这对于涉及使用鼠标操作任意 3D 形状的 Handle GUI 非常有用;按照 Unity 内置工具的惯用方法将 2D 鼠标运动转换到 3D 空间。可以使用此方法的一个示例是由一组路标定义的赛道,其中可以使用 ClosestPointToPolyLine 通过鼠标选择一个沿赛道线的位置。