내일배움캠프 88일차 - 언리얼 C++ 멀티플레이 팀프로젝트: 미니게임파티 4일차
언리얼엔진5 C++ 기반 멀티플레이 게임 팀 프로젝트 제작 작업내용 요약 폭탄이 만들어지고 타이머가 만료되면 폭탄을 가진 플레이어를 제거하는 로직을 구현하였다. BombActor 관련 작업 팀원의 BombActor 코드 이전 작업TIL에서도 언급되었다시피 본인 은 미니게임 GameMode 규칙 을 정하고 , 다른 한 명 은 게임 룰의 주체가 되는 폭탄 액터의 제작 을 맡았었다. 그리고 고맙게도 담당 팀원께서 폭탄 가동 시 폭발(ExplodeBomb)타이머가 돌아가고, 폭발 시 서버로 무엇을 넘기면 되는지 주석으로 친절히 설명해주셨다. 나는 이 주석에 따라 폭탄을 보유중인 플레이어를 제거할 로직을 짜기로 했다. 플레이어 탈락 로직 구현 폭탄 액터 로부터 EliminatePlayer() 를 게임모드 가 전달받으면 인수에 해당되는 캐릭터를 생존자(AlivePlayer) 중에 해당되는지 검색한 후에 해당 캐릭터가 탈락하는 모습을 모든 클라이언트에게 보여주고, 생존자 명단에서 지우기 로 했다. 플레이어가 탈락하는 모습을 보여주기 위해 MulticastRPC 함수를 사용하는데, 이 함수를 모든 게임에서 사용되는 PlayerCharacter에게 추가하면 해당 캐릭터의 코드가 난잡해질 가능성을 우려해 처음에는 '액터 컴포넌트' 를 추가해 캐릭터에게 Attach 하기로 했다. 1) 액터 컴포넌트를 이용한 플레이어 탈락효과 부여 (실패) 서버는 게임을 시작할 때 모든 플레이어에게 'UMGCharacterComp_PassBomb' 이라는 액터 컴포넌트를 생성/교체 하여 해당 미니게임에 맞는 룰과 관련된 효과를 적용 할 예정이었다. 플레이어가 2명인 데디케이티드 서버 환경 기준으로, 액터 컴포넌트가 생성될 때 [서버], [1번클라], [2번클라] 에서 두 플레이어 캐릭터에게 'UMGCharacterComp_PassBomb' 액터 컴포넌트 가 추가되는 것을 로그로 확인하였다. 오류 발생 시점 그러나 액터 컴포넌트 를 통해 플레이어 ...