내일배움캠프 55일차 - 언리얼 C++ 팀프로젝트: 타워 디펜스 6일차

언리얼엔진5 C++ 기반 슈터 게임 팀 프로젝트 제작

어제의 작업

DataTable을 사용한 총기 관리 시스템의 제작 도입. 각 총기마다 스펙과 특징이 다르고 발사 방식에 따라 각자의 DataTable을 사용하여 필요할 때마다 테이블의 무기 정보를 가져와 불러올 수 있게 함.

데이터 테이블에서 정보를 가져오는 것에는 성공했으나 플레이어가 소유중인 무기 정보를 등록하는 데에 실패하여 내일 이어서 하기로 함.

오늘의 작업

어제의 총기 시스템 연동 작업의 연장선. 강사님에게 문제 해결에 대한 조언을 요청하여 왜 DataTable으로부터 가져온 정보가 플레이어의 무기에 적용이 안되는 지에 대해 살펴보았다.

자식의 클래스와 구조체 (좌)
부모의 클래스와 구조체(우)

총기시스템은 Base가 되는 부모로부터 자식을 상속해 부모의 것까지 사용하는 구조이다. 그런데 사용하지 않는 부모의 status변수와 자식의 status변수와 이름이 겹쳐 빈 껍데기인 부모의 변수를 우선적으로 가져오게 되어 null값만 불러온 것이었다. 현재는 부모의 변수를 제거하였다.

총기 시스템을 적용한 게임화면이다. 어제의 작업물에서는 플레이어에 생성자로 직접 총기 에셋을 부착시켜 사용했으나 지금은 먼저 DataTable에서 기본무기를 가져온 후 그곳에 담긴 무기의 정보를 불러와 캐릭터에 부착시켰다.

앞으로 필요한 기능

총기 발사 시의 총구와 착탄지점에 파티클 부착 (데칼이나 디포머 등을 사용한 탄흔을 묘사해야함)

총기 종류 늘리기

Pause시의 컨트롤러 전환하기

댓글

이 블로그의 인기 게시물

내일배움캠프 사전캠프 - 사전캠프설 연휴 커피 파밍 이벤트 작품 [ EXTREMITY ]

내일배움캠프 29일차 - 커리어데이 2일차 : 클라이언트 프로그래머로서 포트폴리오, 입사준비팁