본문 바로가기

Unreal/Udemy 강의

Unreal Engine 4 C++ The Ultimate Shooter Course Section 3-11

Line Tracing for Bullet Hits

사격을 실제로 맞추기 위한 작업을 해주자.

Lince Trace 기능을 통해 충돌 여부를 판단하게 된다.

충돌 여부를 쉽게 판별하기 위해 맵에 넓찍한 큐브를 설치해주자.

 

다음으로 라인트레이스를 설정해주자.

필요한 값은 아웃파라미터인 히트 결과, 시작 지점, 끝점, 충돌 채널이다.

 

첫 번째는 아웃파라미터이므로 FHitResult 변수를 선언하여 그대로 넘겨주면 되고,

시작 지점은 기존 소켓의 위치를 사용한다.

끝점은 시작지점에 목표 거리 * x 축 방향 만큼 곱한 벡터 값을 할당해주면 된다.

여기서는 우선 하드코딩으로 50000의 거리를 지정하였다.

마지막으로 채널은 ECC_Visibility로 기본적으로 시각적으로 보이는 것에 대한 충돌 채널이다.

 

충돌 여부를 간단히 테스트하기 위해 DrawDebugLine 함수와 DrawDebugPoint 함수를 통해 발사된 거리와 충둘 시점에 포인트를 표시하도록 하였다.

 

이제 컴파일하면 사전에 설정한대로 빨간 선 및 포인트가 표시되는 것을 볼 수 있다.

여러번 쏜 모습