🎮Unreal4/Blueprint

[UE4] 벡터의 성질 실습으로 증명하기

공대 컴린이 2023. 1. 20. 00:19
728x90

🚩 벡터의 구분

- 방향벡터: 어느 방향으로 가는지 방향 정보를 담은 벡터

  방향벡터는 항상 1로 만드는 정규화(Normalization) 과정을 수행해야 한다.

- 위치벡터: 좌표의 원점 0을 시작점으로 하여 공간 내의 임의의 한 점(끝점)으로 하는 벡터

 

✔ A위치 + B위치 = 위치

✔ A위치 - B위치 = B->A 방향

✔ A위치 + (B방향 * 거리) = 위치

    ex) Player위치 + (Player거리 * 속도) = Player가 이동한 위치

💻 증명

* 1번째 증명

A위치 + B위치 = 위치

실행 전 실행 후

첫번째 공식인 A위치 + B위치 = 위치 를 블루프린트로 증명해본 결과이다.

빨간색 큐브 객체에 블루프린트를 생성하여 현재 위치값을 받아오고 특정 Location(100, 100, 0)을 더해준 결과 원점으로 표시해둔 흰색 원기둥의 오른쪽 상단으로 이동한 결과를 볼 수 있었다.

 

* 2번째 증명

A위치 + (B방향 * 거리) = 위치

실행 전 실행 후

파란색 큐브에 블루프린트를 생성하여 다음과 같은 공식을 증명하였다.

임의의 Direction(1,1,0)과 Distance(100)을 지정하여 파란색 큐브의 위치에 특정 방향과 특정 거리를 곱한 값을 더하였더니 중앙으로 표시해둔 원기둥의 오른쪽 상단으로 이동한 결과를 볼 수 있었다.

 

* 3번째 증명

A위치 - B위치 = B->A 방향

 

실행영상

초록색 큐브의 블루프린트에 해당 함수들을 배치하여 작업했다. A위치에서 B위치를 빼면 B에서 A로 움직이는 방향벡터가 나온다는 점을 이용하여 초록색 큐브(B)에서 빨간색 큐브(A)의 위치를 빼 Trace 기능을 구현해보았다.

Other변수에 빨간색 큐브 객체를 지정하여 매초마다 업데이트시키는 Tick 이벤트를 호출하였다.

728x90