Unity
[Unity] Vector의 크기 magnitude VS sqrMagnitude
devfactory
2024. 9. 28. 23:21
magnitude는 Vector의 크기를 반환한다. √(x*x+y*y+z*z)
sqrMagnitude는 Vector의 크기의 제곱을 반환한다. (x*x+y*y+z*z)
제곱근은 곱셈보다 연산속도가 느리기 때문에 비교를 위한 경우 magnitude를 사용하는 것보다 비교를 할 대상을 제곱해 비교하는 것이 더 빠르다.
Vector3 target;
float distance = 2;
if (target.magnitude > distance)
{
//생략
}
즉 위의 코드보다 아래와 같이 사용하는것이 더 빠르다.
Vector3 target;
float distance = 2;
if (target.sqrMagnitude > distance * distance)
{
//생략
}
반응형