Самый быстрый способ найти дистанцию

Дело в том, что сейчас используется метод:

float Distance = Vector3.Distance(position, collider.transform.position);

Но я начитался, сказали, что варинат:

(position - collider.transform.position).sqrMagnitude 

Будет работать, гараздо быстрее.

Но дело в том, что он неверно дает результат, то есть на самом деле, получается такое:

Vector3.Distance: 14.60256
Vector3.sqrMagnitude: 213.2349

То есть не верно 213, верно 14.
Суть в том, что объект сверху, смотрит расстояние до объекта снизу.

Может я что-то не верно делаю?
Но у меня не получается сделать, через:

Vector3 v = position - collider.transform.position;
v.y = 0;
v.z = 0;

Начинает жутко врать.
Причем, даже и если и выходит 14 к примеру, то когда я отдаляюсь от объекта, то по прежнему дистанция, якобы верная говорит.

Вообще, интересно. кто как находит и как правильно это сделать все чудо и чтобы было быстро.

Мне нужно тупо и быстро проверить расстояние, все, ничего глобального делать не нужно.


Ответы (0 шт):