ljw4104 2021. 11. 2. 17:28

1. 게임 시작 후, 그 자리에서 죽었을 때.

게임 시작 후, 움직이지 않고 그 자리에서 플레이어가 사망 했을 때는 플레이어는 지정된 위치에서 부활하지만 적은 그 자리에 그대로 있기 때문에 문제가 발생한다.

2가지의 해결 방법이 있다.

  1. 플레이어가 리스폰되기 전에 모든 적을 제거
  2. 플레이어의 리스폰 위치를 랜덤하게 하기

1번은 간단하지만 적의 수가 많으면 퍼포먼스적 문제를 야기할 수 있다. 하지만 여기서는 적의 수가 많지 않기 때문에 1번 방법을 사용한다.

 

RespawnPlayer 수정을 통해서 구현함.

  1. RespawnPlayer Event가 호출되면 맵에 있는 모든 EnemyCharacter Actor Class를 가져온다.
  2. For Each Loop을 통해 배열 내에 있는 모든 적 Actor에 대해 DestoryActor 함수를 수행한다.
  3. Completed로 연결해서 모든 Actor가 삭제되면 다시 SpawnActor을 통해 Hero Character를 다시 소환한다.

 

2. 적에게 맞지 않은 탄환은 영원히 사라지지 않는다.

이것은 큰 퍼포먼스적 문제를 발생시킬 수 있다.

해결방법은 아주 간단하다.

쉽게 말하면 생명주기와 같은 것이다. 0 = 무제한

1.5로 지정해주어 1.5초 뒤에 사라지게 하면 간단하게 해결되는 문제이다.