본문 바로가기

Unreal/Udemy 강의

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

Refactor Beam End Code

현재 FireWeapon 함수가 상당히 길어져서 가독성이 안좋아졌다.

해당 함수를 리팩토링하여 가독성을 높여보도록 하자.

 

빔의 마지막 위치를 얻는 데 필요한 내용을 모두 분리시켜보자.

우선 인풋으로 필요한건 라인트레이스에 필요한 소켓 위치와 갱신될 빔위치이다.

둘다 참조 변수로 선언해주고, 소켓 위치는 고정이기에 const도 추가로 작성해준다.

 

이제 필요한 내용을 보면 뷰포트사이즈를 얻어서 정중앙 위치를 얻고 이를 월드 값으로 변환하는 과정과,

변환 성공 여부를 토대로 라인 트레이스를 하는 과정이다.

 

끝점에 대한 값은 인풋 참조 변수는 OutBeamLocation을 사용한다.

그리고 총구 기준 시작점인 소켓 위치는 마찬가지로 인풋으로 설정했던 MuzzleSocketLocation 이다.

 

이제 해당 함수를 기존 함수에 사용하여 더 가독성이 높아진 코드를 볼 수 있다.