Unreal Engine/2. Twin Stick Shooter
11. 버그 수정
ljw4104
2021. 11. 2. 17:28
1. 게임 시작 후, 그 자리에서 죽었을 때.
게임 시작 후, 움직이지 않고 그 자리에서 플레이어가 사망 했을 때는 플레이어는 지정된 위치에서 부활하지만 적은 그 자리에 그대로 있기 때문에 문제가 발생한다.
2가지의 해결 방법이 있다.
- 플레이어가 리스폰되기 전에 모든 적을 제거
- 플레이어의 리스폰 위치를 랜덤하게 하기
1번은 간단하지만 적의 수가 많으면 퍼포먼스적 문제를 야기할 수 있다. 하지만 여기서는 적의 수가 많지 않기 때문에 1번 방법을 사용한다.
RespawnPlayer 수정을 통해서 구현함.
- RespawnPlayer Event가 호출되면 맵에 있는 모든 EnemyCharacter Actor Class를 가져온다.
- For Each Loop을 통해 배열 내에 있는 모든 적 Actor에 대해 DestoryActor 함수를 수행한다.
- Completed로 연결해서 모든 Actor가 삭제되면 다시 SpawnActor을 통해 Hero Character를 다시 소환한다.
2. 적에게 맞지 않은 탄환은 영원히 사라지지 않는다.
이것은 큰 퍼포먼스적 문제를 발생시킬 수 있다.
해결방법은 아주 간단하다.
쉽게 말하면 생명주기와 같은 것이다. 0 = 무제한
1.5로 지정해주어 1.5초 뒤에 사라지게 하면 간단하게 해결되는 문제이다.