본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-12

전방 벡터

본질적으로 전방 벡터는 회전한 x 방향을 가진다.

이는 회전한 다음에 전방을 가리키는 벡터라는 뜻이다.

 

전방 벡터는 항상 길이가 1이다.

이러한 특징을 이용하여 어떠한 방향으로 어떤 크기의 충격을 적용하고 싶을 때 전방벡터를 원하는 값으로 곱하기면 하면 얻을 수 있다.

 

전방 벡터는 Actor에있는 기능인 Get Actor Forward Vector를 통해 얻을 수 있다.

지금은 발사체에 대해 다루고 있으므로 발사체에서 연결해주면 된다.

하지만 이를 단순히 바로 임펄스에 연결하면 아주 미약한 힘이 전달되는 것을 확인이 가능하다.

이는 전방 벡터의 길이가 1인데, 언리얼의 기본 단위는 cm여서 초속 1cm가 적용된 것이기 때문이다.

이를 위해 Mulitply를 이용하여 곱해줄 수 있다.

처음 Multiply이를 보면 값이 벡터로 되어있는 것을 볼 수 있따.

이를 왼쪽 동그라미를 우클릭하여 우리가 원하는 값인 float로 변환이 가능하다.

 

float 변환

 

이제 바뀐 float에 기존에 주었던 임펄스 수치인 4000만큼을 할당하여 기존과 같은 임펄스를 적용시켜주면 된다. (1*4000)

그리고 이제 실행해보면 무조건 앞으로만 나가는 것이 아니라 회전한 방향에 대해 올바르게 앞으로 발사된다.

이제 회전하는 것을 파악하기 위해 발사체를 타원으로 유지시킬 필요가 없으므로 다시 원형으로 돌려준다.

(x 스케일 수치 2.5 -> 0.5)