2025/10 2

언리얼 엔진 레벨 전환 데이터 관리 - GameInstance와 GameMode 역할 정리

Stage 기반 게임을 만들다 보면 가장 헷갈리는 부분 중 하나가 데이터 관리다.특히 아래 두 상황을 동시에 만족해야 할 때 구조를 어떻게 잡아야 할지 고민하게 된다.Player가 죽으면 현재 레벨 시작 시점의 상태로 부활해야 한다.Player가 Level을 클리어하면 현재 상태를 다음 Level로 넘겨야 한다.겉보기에는 단순해 보이지만, 이 두 요구사항은 서로 반대되는 성격을 가진다.사망 시에는 현재 진행 중인 상태를 버리고 이전 상태로 돌아가야 하고,레벨 클리어 시에는 현재 진행 중인 상태를 유지한 채 다음 레벨로 넘겨야 하기 때문이다.이 문제는 각 클래스에 역할을 명확히 나누면 비교적 깔끔하게 해결할 수 있다.이번 글에서는 내가 실제로 구현한 방식을 기준으로, GameInstance와 GameMod..

언리얼 엔진 파괴 가능한 오브젝트 구현 - 폭발, 파편, 범위 대미지 만들기

FPS나 TPS 장르에서는 총격이나 폭발에 반응하는 파괴 가능한 오브젝트가 전투의 몰입감을 크게 높여준다.단순히 메시가 사라지는 수준이 아니라, 피격에 따라 상태가 변하고, 파괴 순간에는 이펙트와 사운드, 범위 대미지, 파편 연출까지 함께 들어가야 실제 게임 플레이에서 존재감이 생긴다.이번에는 그런 느낌을 살리기 위해, Player의 공격으로 파괴되는 자판기 오브젝트를 직접 구현한 과정을 정리해보려고 한다.오브젝트 이름은 자판기라는 역할에 맞춰 VendingMachine으로 두었고, 아래 조건을 만족하도록 구성했다.Player의 공격으로 파괴 가능일정 조건에 도달하면 불타는 상태 연출 출력파괴 시 폭발 이펙트와 사운드 출력일정 범위 내 액터에게 방사형 대미지 적용Geometry Collection을 이용..