관리 메뉴

기억을 위한 기록들

액터간의 거리 구하는 함수(Get Distance to)(feat.Size) 본문

그래픽스(Graphics)/Game Math

액터간의 거리 구하는 함수(Get Distance to)(feat.Size)

에드윈H 2019. 11. 10. 00:26

1. 개요

 

게임을 하다보면 캐릭터와 캐릭터 간의 거리를 구해야한다.

 

 

플레이어와 몬스터

 

플레이어와 아이템

 

등등 거리로 가능하고 불가능한 설정들을 해주기 전에

 

 

얼마나 적당한 거리에 있는지를 확인 해야 한다.

 

두 캐릭터의 거리가 얼마나 될까?

2. 함수 사용 

Actor 클래스의 Get Distance To 함수이다.
결과! 약 414 -> 팁 414cm 즉 4m 정도이다.

쉽게 구할 수 있다. 함수 내부를 살펴보자

 

 

   

Actor.cpp 포함

다른 액터와 플레이어 액터의 Location 뺀 다음 Size() 함수를 사용해 리턴 해준다.

 

Size 함수를 보자.

 

Vector.h

 

플레이어와 적 캐릭터의 위치를 뺀값을 벡터의 크기(길이)를 구한다.

(FMath 클래스 Sqrt()함수 -> 제곱근(https://ko.wikipedia.org/wiki/%EC%A0%9C%EA%B3%B1%EA%B7%BC)을 사용한다.)

GenericPlatformMath.h

 Get Distance To 함수내부와 같이 계산해보자

결과 값은 (-390,140,-0.010)이였다.

나온 xyz값을 Size() 함수대로 

긴 숫자가 나온다. (구글짱)

 

제곱근을 하면 거리와 같은 값이 나온다

4. 함수 해석 구현 

 

BP에서 Size를 검색하면 Vectorlength가 나온다
결과동일!

 

결론:

GetDistanceTo 함수로 거리를 구하자

 

 

* VectorLength는

결국 Size 함수이다.

 

 

 

 

*피타고라스의 정리 사용(결과 같음)

https://www.youtube.com/watch?v=DuxaTK_DEOo

 

* 부족하거나 이상한 부분 태글해주시면 감사하겠습니다.