private static ScreenToWorld ( Vector2 screen, |
||
screen | Vector2 | |
target | ||
Résultat | Vector3 |
private static Vector3 ScreenToWorld(Vector2 screen, Transform target)
{
Ray ray = HandleUtility.GUIPointToWorldRay(screen);
float enter = 0f;
new Plane(target.forward, target.position).Raycast(ray, out enter);
return ray.GetPoint(enter);
}
private static Vector3 FindNearestPivot(Transform[] transforms, Vector2 screenPosition) { bool flag = false; Vector3 vector3 = Vector3.zero; foreach (Transform transform in transforms) { Vector3 world = VertexSnapping.ScreenToWorld(screenPosition, transform); if (!flag || (double)(vector3 - world).magnitude > (double)(transform.position - world).magnitude) { vector3 = transform.position; flag = true; } } return(vector3); }