언리얼엔진 학습 및 과제

팀 프로젝트 슈터 게임 (1)

park94128 2025. 10. 23. 23:41

● 팀 프로젝트 시작

처음으로 팀으로 진행하는 언리얼 엔진 과제를 받았다. 그 내용은 슈터 게임을 제작하는 것이다. 장르가 어떻든 발사하는 개념이 있으면 무엇이든 된다. 이에 대하여 팀 내에서 의논한 결과 좀비물 TPS 게임을 만들기로 했다. 그 중 나는 맵 디자인 및 맵 기믹을 담당했다.

 

● 대략적인 맵 구조

팀에 기획자가 없으니 맵 제작을 맡은 내가 맵에 대한 기획을 했다. 관련 지식이 없지만 최대한 기획자 흉내내면서 파워 포인트로 맵의 대략적인 구조를 만들었다.

1번째 스테이지는 배경이 폐병원이다. 처음인 만큼 복잡한 구조는 배제한다. 다만 방은 많아서 이 방에서 무엇이 있는지에 따라 진행하는 것을 주요 기믹으로 삼는다.

 

2번째 스테이지는 배경이 지하도다. 이곳은 미로와 같이 목적지로 가는 길의 복잡함을 중심으로 만든다. 가는 길 도중 조건을 만족해야 지나갈 수 있는 장애물을 포함한다.

 

3번째 스테이지까지 만들었다. 3번째 스테이지는 가는 길은 복잡하게 만들지 않지만 단서를 모아 퍼즐을 풀어야 하는 것이 주된 기믹이다. 그리고 제일 마지막에는 강력한 적과 싸우게 만든다.

 

● 라이트(빛)관련 문제 해결하기

일단 첫 번째 맵 제작을 시작했다. 복잡한 구조가 아닌 만큼 금방 만들 것이라고 생각했다. 하지만 라이트(빛)과 관련된 문제가 생겼다. 이 방법을 해결하느라 시간을 많이 쓴 것 같다.

 

A. 얼룩이나 노이즈가 낀 듯한 빛

애매하게 밝은 벽, 바닥 표면에서 노이즈가 낀 것 처럼 계속 자글거리는 현상이 발견됐다. 틱을 구현한 것도 아닌데 가만히 있지 않는다. 그래서 계속 보고있자니 눈이 아프다.

 

이 현상은 일종의 루멘(Lumen) 버그라고 한다. 에픽 게임즈가 나름대로 최신식 라이트 표현 방식을 만든것 같지만 성능상 한계가 있다고 한다. 완전히 없애지는 못하지만 현저히 줄이는 방법은 있다고 한다.

 

일단 맵에 포스트 프로세스 볼륨을 추가한다.

영어로 Infinite Extent (Unbound)라고 적혀있다.

무한 규모(언바운드)를 체크하여 영역 지정 없이 맵 전체에 적용되도록 한다.

글로벌 일루미네이션(Global Illumination)을 찾아서 그 중 Lumen Global Illumination 항목의 파이널 개더 퀄리티 (Final Gather Quality)를 사용한다. 마우스를 올릴 때 나오는 설명대로, 이 값이 높을수록 노이즈가 줄어든다. 대충 4정도로 하면 충분히 자글거리는 현상이 사라지면서 GPU 부하도 덜 주는 것 같다.

 

B. 카메라 위치와 방향에 따라 달라지는 밝기

다음 문제는 카메라의 위치와 방향에 따라서 밝기가 달리지는 문제다. 넓은 공간을 바라본다면 밝은데 벽면이나 구석을 봐서 시야가 막힐 경우 어두워 지는 문제가 생겼다.

 

이 역시 포스트 프로세스 볼륨에서 문제를 해결했다.. Lens에서 Exposure 항목을 찾는다. 여기서 노출 보정(Exposure Compensation), Min EV100, Max EV100 설정을 사용하여 해결했다.

- 노출 보정을 통해 빛에 대한 민감도를 변경할 수 있다. 너무 높게 하면 눈뽕 당할 수 있으니 적당히 값을 올린다.

- Min EV100과 Max EV100을 조절하면 상황에 따라 노출 보정 값이 변하는 범위를 조절할 수 있다. 항상 똑같은 밝기를 원해서 둘 다 0으로 만들었다.