처음에 플레이어의 메시를 하나하나 찾고 있었는데, 컨셉에 맞는 모델링도 없을 뿐더러, 나의 모델링 실력도 좋지 않다는 문제가 있었다.
근데 어차피 1인칭 시점이라는 점 + 플레이어의 모델링은 유저에게 절대로 보이지 않게 할 것이라는 점으로 엔진에서 기본으로 제공해주는 마네킹을 사용하기로 결정했다.
(플레이어 클래스와 애니메이션 인스턴스는 C++로 작성하였고, 애니메이션은 블루프린트 클래스를 이용했다.)

구상했던 컨셉에 맞는 메시 선택 및 스테이지 구성.
(랜덤 레벨 생성 클래스와 레벨 내부에 상호작용을 할 액터 클래스는 C++로 작성하였고, 그 외 부가적인 것들은 블루프린트 클래스를 이용했다.)
스테이지는 위 그림과 같은 형태로 이루어져있다.
구조상 회전값이 정해져있는 Double(2갈래길), Triple(3갈래길)과는 다르게 Quad(4갈래길)은 랜덤하게 회전하여 레벨을 구성하게 된다.
해당 맵은 플레이어가 스테이지를 시작할 때마다 랜덤하게 짜맞춰져서 새로운 형태의 맵을 즐기게 했다.
스폰 구역의 예시로 랜덤한 스폰 구역이 위 스테이지에 짜맞춰진다.
여담으로, 원래는 A*알고리즘이나, 절차적 맵 생성을 통해서 랜덤한 레벨을 생성시키려고 했지만, 필자가 원하는 느낌의 맵을 생성시키지 못하는 것 같아서, 레벨은 일일이 노가다로 만들고 랜덤 레벨 생성 클래스가 해당 레벨들을 불러서 조립하게 했다..
크리쳐들은 웬만하면 기획에 맞게 직접 모델링을 하고 싶었으나, 나의 떨어지는 모델링 실력 상 그럴 순 없었고, Epic Games의 Paragon과 Mixamo에서 모델링 및 애니메이션을 공수해왔다.
물론, 각 크리쳐 클래스와 애니메이션 인스턴스는 C++ 작성하였고, 애니메이션은 블루프린트 클래스로 조정하였다.
Reaper
Runner
Brute
스테이지가 랜덤으로 조립되어 크리쳐들의 패트롤을 어떻게 할 지 고민하던 찰나에, 순찰 포인트를 담당할 액터들을 설치해두고 각 크리쳐들이 해당 액터들의 위치를 받아와서 순찰하면 좋을 것 같다는 생각이 들었다.