역자의 짧은 코멘트: 넷이즈에서 비슷한 일을 했다는 점이랑 지금 제가 하는일처럼 컨설팅 일을 하는 분의 발표라는 점이 새롭네요.
1. 강연 개요 및 안건

핵심 포인트:
- 강연 대상: 아티스트, 디자이너, 테크니컬 아티스트를 대상으로 하며, 조명 배치 및 레벨 구축 시 성능을 고려하도록 돕습니다.
- 적용 시나리오: 소규모 레벨에 초점을 맞추며, 오픈 월드 조명과는 다른 주제입니다.
- 주요 의제: 고사양 기기 최적화, 저사양 기기 최적화, 이중 파이프라인 워크플로
이것은 UE5 조명에 관한 기술 강연으로, 주로 품질과 성능의 균형에 초점을 맞춥니다. 기술 강연이긴 하지만 다른 기술 강연만큼 깊이 있지는 않으며, 아티스트, 디자이너, 테크니컬 아티스트가 워크플로를 업그레이드하고 조명 배치, 월드 및 레벨 구축 시 성능을 더 잘 고려하도록 돕는 데 목적이 있습니다. 오늘의 안건은 두 가지 주요 주제인 고사양 기기 최적화와 저사양 기기 최적화입니다. 제가 참여한 프로젝트를 통해 이러한 이중 파이프라인 워크플로를 소개하고, 마지막으로 요약으로 마무리하겠습니다.
2. 연사 소개

핵심 포인트:
- 연사: Alexia, 지난 5년간 아시아에서 근무 (상하이 2년, 동남아시아 3년)
- 직업 배경: 게임 업계 15년 경력
- 경력: Ubisoft 오픈 월드 구축, NetEase 국제 게임 디자인 부서, 텐센트 상하이 본사에서 유럽 스튜디오 감독
먼저 제 소개를 하겠습니다. 저는 Alexia이고, 지난 5년 동안 아시아에서 일해왔습니다. 처음 2년은 중국 상하이에서, 그 후에는 동남아시아에서 일했습니다. 저는 게임 업계에서 15년의 경력을 가지고 있습니다.
3. 경력 및 컨설팅 업무


핵심 포인트:
- 핵심 역할: 항상 "소방수" 역할을 수행 — 프로젝트 난항, 소통 문제, 방향 변경 처리
- 현재 업무: 컨설팅 회사를 설립하여 SWAT 팀처럼 도움이 필요한 회사를 지원
- 업무 범위: 투자자와 전략적 문제를 거시적으로 이해하는 동시에, 세부적인 최적화까지 수행
저는 처음에 Ubisoft에서 오픈 월드를 구축했고, 이후 NetEase의 국제 게임 디자인 부서를 이끌었으며, 텐센트 상하이 본사에서 수십 개의 유럽 스튜디오를 감독했습니다. 공통적인 주제는 제가 항상 "소방수" 역할을 했다는 것입니다. 프로젝트가 어렵거나 부서 간 소통이 원활하지 않거나 방향이 계속 바뀌는 팀에 투입되었습니다. 저는 수년간의 경험을 모아 컨설팅 회사를 설립했고, 도움이 필요한 회사를 돕는 SWAT 팀처럼 활동하고 있습니다.
4. 이중 작업 모드

핵심 포인트:
- 거시적 관점: 투자자와 스튜디오의 전략적 문제 이해
- 미시적 관점: 조명 최적화와 같은 세부적인 디테일에 집중
- 시간 분배: 낮에는 퍼블리셔와 스튜디오 지원, 밤에는 개인 인디 게임 개발
제가 진정으로 할 수 있는 일은 투자자와 스튜디오의 전략적 문제를 거시적으로 이해하는 것뿐만 아니라, 가장 작은 디테일까지 파고드는 것입니다. 그래서 저는 조명 최적화와 같은 작업도 수행하며, 이것이 여러분이 오늘 여기 오신 이유입니다. 저는 시간을 두 부분으로 나눕니다. 낮에는 퍼블리셔와 스튜디오가 핵심 제작 문제를 해결하도록 돕고, 밤에는 제 개인 인디 게임을 개발합니다.
5. 프로젝트 배경: Bad Mad Robots

핵심 포인트:
- 게임 장르: 경쟁 멀티플레이어 1인칭 히어로 슈터
- 게임명: Bad Mad Robots
- 개발 특징: 매우 작은 팀이 기록적인 시간 내에 완성
- 게임 설정: 폭력적인 로봇에게 점령당한 거리에서의 전투, 포스트 휴먼 사회 배경
프로젝트 배경부터 시작하겠습니다. 올 초에 저는 경쟁 멀티플레이어 1인칭 히어로 슈터 게임을 돕고 있었습니다. 이름은 Bad Mad Robots이며, 아주 작은 팀이 기록적인 시간 안에 만들었습니다. 슬로건은 "고장 난 폭력적인 로봇들이 점령한 거리에서 살아남기 위해 싸우는, 잔혹한 포스트 휴먼 사회"입니다.
6. 게임플레이와 스타일

핵심 포인트:
- 게임 모드: 5대5 팀 대전
- 맵 스타일: 사이버펑크 뉴욕 도시 블록
- 캐릭터 디자인: 8명의 캐릭터, 각기 다른 무기와 스킬, DPS/탱크/서포터 직업군 따름
- 비주얼 스타일: 어둡고, 다채로운 색감, 엣지 있음
게임은 매우 재미있습니다. 5명씩 두 팀이 도시 지역에서 대결하며, 맵은 사이버펑크 뉴욕의 도시 블록처럼 디자인되었습니다. 8명의 캐릭터는 각기 독특한 무기와 스킬을 가지고 있으며, 대략적으로 DPS, 탱크, 서포터 역할을 따릅니다. 스타일은 어둡고, 색감이 풍부하며, 엣지 있고, 십대들의 유머가 많이 섞여 있습니다.
7. 성능 과제와 하드웨어 현황
핵심 포인트:
- 참여 시기: 출시일이 임박했을 때 프로젝트 합류
- 초기 상태: RTX 4090에서는 잘 돌아갔으나, 해당 GPU 사용자층은 매우 적음
- 하드웨어 조사 데이터:
- RTX 4090 사용자 비율 극소수 (약 0.93%)
- 가장 많이 쓰이는 그래픽 카드는 RTX 3060 및 4060 노트북 버전 (합계 약 10%)
- 내장 그래픽 사용률 상승 중
저는 프로젝트 막바지, 출시일이 가까워졌을 때 합류했습니다. 게임은 4090에서는 잘 실행되었지만, 하드웨어 설문조사를 보면 그런 GPU를 사용하는 유저층은 매우 적습니다. Steam 하드웨어 조사에서 4090 사용자는 1% 미만입니다. 현재 가장 많이 사용되는 그래픽 카드는 RTX 3060과 4060 노트북 버전으로, 둘을 합쳐 약 10%를 차지합니다. 흥미롭게도 1월부터 5월까지 거의 모든 GPU 점유율이 하락한 반면, 가장 빠르게 성장한 것은 내장 그래픽입니다.
8. 동남아시아 시장과 저사양 기기
핵심 포인트:
- 진입 경로: 동남아시아 게이머들은 보통 모바일 게임으로 시작해 노트북으로 이동
- 크로스 플랫폼 수요: Fortnite나 Roblox 같은 크로스 플랫폼 게임을 더 큰 화면에서 하고 싶어 함
- 저사양 기기 보급: 엔트리급 노트북이 거대한 사용자층 형성
- 최적화 목표: 저사양 그래픽 카드뿐만 아니라 내장 그래픽 기기까지 고려해야 함
동남아시아에서는 이것이 놀라운 일이 아닙니다. 사람들은 보통 모바일 게임으로 게임을 접하기 시작하며, 오토바이 뒷좌석에서 폰으로 게임하는 아이들을 볼 수 있습니다. 하지만 그들은 Fortnite나 Roblox 같은 크로스 플랫폼 게임을 키보드와 마우스가 있는 더 큰 화면에서 하고 싶어 하기 때문에 노트북, 주로 보급형 노트북으로 넘어갑니다. 이것이 현재 사용자층의 큰 부분입니다. 우리가 최적화를 이야기할 때 보통 저사양 그래픽 카드나 몇 세대 전의 카드를 생각하지만, 실제로는 정말 낮은 사양의 기기들도 고려해야 합니다.
9. 프로젝트 개조 목표와 프레임레이트 정의

핵심 포인트:
- 전면 개편: 성능 최적화뿐만 아니라 게임 경험, 비주얼, VFX, SFX, 이동, 조명 업그레이드
- 팀 구성: 새로운 아트 바이블과 디자인 언어 생성, 프리랜서 팀 구성하여 비전 실행
- 개인 담당: 카메라, 이동, 레벨 디자인, 조명 및 성능 최적화
- 목표 프레임:
- RTX 3080 이상: 최소 120 FPS
- 노트북 칩셋: 최소 30 FPS

팀은 게임을 대중 시장에서 더 쉽게 받아들일 수 있도록 최적화하기를 원했습니다. 게임플레이도 개선이 필요했고, 성능을 높이면서 게임 경험, 비주얼, VFX, SFX, 이동, 조명 등을 전면적으로 업그레이드하고 싶어 했습니다. 그래서 저는 새로운 아트 바이블을 만들고, 새로운 사운드 테마와 디자인 언어를 설계한 뒤, 이 새로운 비전을 실행할 프리랜서 팀을 꾸렸습니다. 저는 카메라, 이동, 레벨 디자인, 조명, 성능 최적화를 맡았습니다. 프로젝트 시작 시 인식을 통일하기 위해 두 가지 목표 프레임레이트를 정의했습니다. RTX 3080 이상은 최소 120 FPS, 노트북 칩셋은 최소 30 FPS입니다.
10. 초기 계획: Lumen과 베이크 라이팅 이중 파이프라인

핵심 포인트:
- 이중 파이프라인 전략: 고사양은 Lumen, 저사양은 베이크 라이팅(Baked Lighting) 사용
- Lumen이 적합한 이유:
- 다량의 발광(Emissive) 재질과 네온 사인
- 많은 반사 표면과 튕김광(Bounce light)
- 유기체(식생 등) 없음
- 베이크가 적합한 이유:
- 동적인 시간 변화 없음
- 낮/밤 두 가지 조명 시나리오만 존재
- 라이트맵 블렌딩 불필요
- 제약 조건: 엔진 프로그래머가 없어 엔진 설정, 포스트 프로세스, 커맨드 라인에만 의존해야 함
제 초기 계획은 고사양 기기에서는 Lumen을 돌리고, 저사양 기기에서는 베이크 라이팅을 사용하는 것이었습니다. 왜 Lumen일까요? 우리 맵에는 발광 재질, 네온 사인, 반사 표면, 튕김광이 아주 많았고, 식생 같은 유기체는 없었기 때문입니다. Lumen에 완벽한 시나리오였죠. 또한 동적인 시간 변화가 없어서 베이크 라이팅도 충분히 가능했습니다. 낮과 밤 두 가지 시나리오가 있었지만, 라이트맵 메모리 사용량만 주의하면 되었고, 낮과 밤 사이의 화려한 전환이나 라이트맵 블렌딩은 필요 없었습니다. 하지만 큰 제약이 하나 있었는데, 엔진 프로그래머가 없어서 엔진과 프로젝트 설정, 포스트 프로세스, 커맨드 라인 등에만 전적으로 의존해야 했다는 점입니다.
11. CVars 사용 주의사항

핵심 포인트:
- 복사 금지: CVars 값은 특정 프로젝트에 맞춰진 것이므로 그대로 사용하면 안 됨
- Epic 기본 설정: 대다수에게 적합할 수 있는 중간 지점을 찾으려 함
- 조언: 직접 실험하고 조정해야 함
CVars에 관해서는 이번 Unreal Fest에 더 전문적인 두 개의 강연이 있습니다. 몇 가지 예시를 보여드리겠지만, 다시 강조하자면 이 CVars와 값들을 그대로 복사하지 마세요. 우리 프로젝트에만 유효한 것이지 여러분에게는 맞지 않을 겁니다. 언리얼의 기본 Epic 설정은 대다수에게 적합한 중간 지점을 찾으려 하지만, 직접 연구하고 실험해보시기를 강력히 권장합니다.
12. 고사양 최적화 - 1단계: 기준 수립

핵심 포인트:
- 테스트 카메라 생성: 여러 위치에 카메라 배치하여 테스트
- 모든 조명 삭제: 기본 FPS 확인 (나중에 버전 관리에서 복구)
- 비교 테스트: 조명 없음, Lumen, 베이크 라이팅 성능 비교
- Unreal Insights 사용: 트레이스 기록을 생성하여 기준 데이터로 활용
- 문제 지점 발견: 평균보다 20% 낮은 성능 핫스팟 발견, 최악의 경우 해결에 집중
첫 번째 단계는 기준을 세우고 프로젝트 상황을 파악하는 것이었습니다. 몇 개의 카메라를 만들고 모든 조명을 삭제했습니다(나중에 Perforce에서 복구함). 특정 위치들의 기본 FPS를 파악하고, 조명 없음, Lumen, 베이크 라이팅의 효과를 비교하여 실제 기준 데이터를 얻기 위해서였습니다. 그런 다음 Unreal Insights를 사용해 트레이스 기록을 만들었습니다. Unreal Insights는 가장 중요한 도구입니다. 화면 오른쪽 상단의 FPS 숫자 하나만 보고 결정해서는 안 되며, 전체적인 그림을 봐야 합니다. 맵을 돌아다니며 카메라를 배치할 때, 맵 평균보다 20%나 낮은 아주 나쁜 지점을 발견했습니다. 저는 이곳에서 무슨 일이 일어나는지 알아내는 데 집중했고, 이 최악의 시나리오를 120 FPS로 끌어올리는 것을 목표로 삼았습니다.
13. 고사양 최적화 - 2단계: 기술 스택 재평가

핵심 포인트:
- Nanite 평가: 이 특정 씬에서는 Nanite의 기본 비용이 굳이 필요치 않음
- 이미 훌륭한 LOD 보유
- 트라이앵글 수가 많지 않음
- 5.3 버전이라 Nanite 호환되지 않는 객체 다수
- 주요 문제: 조명 개수가 너무 많아 Lumen이 감당 불가
- 버전 제약: 5.3 버전이라 Mega Light 기술 없음
두 번째 단계는 우리가 사용하는 기술 스택을 재평가하는 것이었습니다. 언리얼에는 많은 솔루션이 있고 어떤 것은 특정 상황에 더 적합합니다. 우리 경우, 이 특정 씬에서는 Nanite의 기본 비용이 그만한 가치가 없다고 판단했습니다. 이미 좋은 LOD가 있었고 트라이앵글 수도 엄청나지 않았습니다. 게다가 5.3 버전을 사용 중이라 Nanite와 호환되지 않는 객체가 많았고, 이를 최적화하는 것이 이중 파이프라인 시스템을 구축하는 것보다 시간이 더 걸릴 것 같았습니다. 우리에게는 그럴 여력이 없었죠. 이 레벨의 주요 문제는 조명이 너무 많아서 Lumen이 처리할 수 없다는 것이었습니다. 그리고 5.3 버전이라 마법 같은 Mega Light 기술도 없었고요.
14. 고사양 최적화 - 3단계: 일반적인 문제 정리

핵심 포인트:
- 3대 일반적 문제:
- 중첩된 스테이셔너리(Stationary) 라이트: 5개 이상 중첩되면 최소 반경 라이트가 동적 그림자를 드리우기 시작해 성능 비용 급증
- 스태틱(Static)하지 않은 스태틱 메시: 1000여 개의 객체가 비-스태틱으로 설정되어 있어 20% 성능 저하의 주범이었음
- 숨겨진 VFX 비용: 조명과 그림자를 생성하는 Niagara 시스템 문제
- Lumen 특성: Lumen에서는 모든 조명이 기본적으로 동적임
- VFX 최적화: 파티클 시스템의 그림자 캐스팅 비활성화로 큰 성능 향상
세 번째 단계는 정리 작업입니다. 조명 비용을 확인할 때 흔히 발생하는 세 가지 문제를 발견했습니다. 첫째는 중첩된 스테이셔너리 라이트입니다. 이는 어떤 베이크 조명 시나리오에서도 거대한 자원 낭비입니다. 5개 이상의 스테이셔너리 라이트가 겹치면 반경이 가장 작은 것이 동적 그림자를 생성하기 시작해 성능 비용이 커집니다. Lumen을 사용하더라도 문제가 되는데, Lumen에서는 모든 조명이 기본적으로 동적이기 때문입니다. 둘째, 일부 스태틱 메시가 사실 스태틱이 아니었습니다. 모빌리티가 다르게 설정되어 있었죠. 약 1000개의 객체가 비-스태틱으로 설정된 것을 발견했고, 이것이 해당 구역의 20% 성능 저하의 주원인이었습니다. 건물 전체가 무버블(Movable) 메시로 만들어져 있었거든요. 셋째는 숨겨진 VFX 비용, 주로 실제 빛을 발산하는 Niagara 시스템이었습니다. 불이나 불씨 같은 효과들은 대부분 그림자를 드리울 필요가 없는데, 이를 비활성화하니 큰 개선이 있었습니다.
15. 고사양 최적화 - 4단계: 조명 값 표준화

핵심 포인트:
- 실제 세계 값 사용: 모든 조명과 노출 값을 현실 세계 수치로 표준화
- 가로등 참조: 소형 가로등 약 2500 루멘, 대형 약 10000 루멘
- 프로젝트 문제: 기존 값들이 너무 낮아 가로등이 양초 1/10 밝기 수준이었음
- 수정 효과: 표준화 후 Lumen 깜박임 문제의 80% 해결
- 낮/밤 통일: 표준화 후 동일한 조명 값을 낮과 밤 시나리오 모두에 사용 가능
네 번째 단계는 선택 사항처럼 들릴 수 있지만 작업을 훨씬 쉽게 만들어 줍니다. 바로 모든 조명과 노출 값을 실제 세계 수치로 표준화하는 것입니다. 칸델라나 루멘 값을 찾아보세요. 예를 들어 가로등은 작은 것이 약 2500 루멘, 큰 것은 약 10000 루멘입니다. 이 프로젝트에서는 모든 값이 너무 낮게 설정되어 있어서, 어떤 가로등은 양초 밝기의 10분의 1 수준이었습니다. 이 불일치를 해결하자 씬에서 발생하던 Lumen 깜박임 문제의 80%가 사라졌습니다. 언리얼 엔진의 기본 CVars는 이러한 실제 값과 일치하도록 설계되어 있습니다. 이전에는 낮과 밤 맵의 조명 값이 서로 달랐지만, 표준화 후에는 동일한 값을 낮과 밤 모두에 완벽하게 사용할 수 있었습니다.
16. 발광(Emissive) 재질과 PVP 게임 조명 원칙

핵심 포인트:
- 발광 제어: 실제 조명 값 사용 시, 발광 값 1은 단색, 2는 빛남, 3은 3배 밝기
- PVP 게임 원칙: 완전한 암흑 영역이 없어야 함 (플레이어 불만)
- 레인보우 식스 경험: 디렉셔널 라이트와 스카이 라이트 강도를 높여 어두운 영역 제거
- Lumen 최적화: Lumen은 GI의 주요 작업을 스카이 라이트와 디렉셔널 라이트에 의존하는 것을 선호함
맵 곳곳에 네온 사인이 있어 발광 재질이 많이 사용되었습니다. 실제 조명 값을 사용하면 발광 제어가 매우 쉬워집니다. 값이 1이면 기본 색상, 2면 빛나기 시작하고, 3이면 3배 더 밝게 빛납니다. 0.1이나 0.2 같은 미세한 값을 조정할 필요가 없어집니다. 레인보우 식스 시즈 작업 경험에서 배운 것은, PVP 슈팅 게임에는 완전한 암흑 영역이 있어서는 안 된다는 것입니다. 플레이어들이 불평하니까요. 그래서 저는 디렉셔널 라이트 강도와 스카이 라이트 값을 높여 맵의 어두운 사각지대를 없앴습니다. 언리얼에서는 이것이 추가적인 이점이 있는데, Lumen은 스카이 라이트와 디렉셔널 라이트가 GI 생성의 주된 역할을 하는 것을 선호하기 때문입니다.
17. 고사양 최적화 - 5단계: Lumen 파이프라인 병목 해결

핵심 포인트:
- WPO 비활성화: 게임 내 모든 재질에서 월드 포지션 오프셋(World Position Offset) 비활성화
- 대안: 블루프린트의 애니메이션 메시 사용 (예: 회전하는 팬은 회전 이동 컴포넌트 사용)
- 반투명 지오메트리: 기본 데칼로 대체, Lumen은 데칼을 잘 처리함
- 중요한 오해: Lumen은 그림자를 처리하지 않음! 그림자는 섀도우 맵이 처리
- 비용 비교: 최적화 후 Lumen의 실제 비용은 낮음, 섀도우 맵이 더 비쌀 수 있음
- 최적화 결과: 조명 0.83ms, 그림자 0.84ms
다섯 번째 단계는 전형적인 파이프라인 병목 현상을 수정하여 Lumen의 작업을 덜어주는 것입니다. 게임 내 모든 재질에서 WPO(월드 포지션 오프셋)를 비활성화했습니다. 대신 가능한 경우 블루프린트의 애니메이션 메시로 전환했습니다. 회전하는 팬 같은 간단한 것들은 회전 이동 컴포넌트를 썼죠. 또한 많은 반투명 지오메트리를 기본 데칼로 교체했습니다. Lumen은 데칼을 완벽하게 처리하기 때문입니다. 또한 큰 오해 중 하나는 Lumen이 그림자를 드리우지 않는다는 것입니다. 그림자는 Lumen 자체가 아니라 섀도우 맵이라는 다른 기술이 처리합니다. 차트에서 파란색은 순수 조명 비용, 빨간색은 그림자 비용입니다. 최적화만 잘하면 Lumen의 실제 비용은 그리 나쁘지 않으며, 어떤 상황에서는 섀도우 맵에 비해 무시할 수준일 수도 있습니다. 저는 그림자가 잘 작동하도록 하는 데 많은 노력을 기울였습니다. 둘 다 최적화한 후, 조명 비용은 약 0.83ms, 그림자는 약 0.84ms로 마무리되었습니다.
18. 고사양 최적화 - 6단계: 사용자 지정 확장성(Scalability) 설정

핵심 포인트:
- 기본 설정 문제: 기본 Lumen 설정은 낮음/중간 화질에서 많은 깜박임 발생
- 사용자 지정 설정: 자체 확장성 설정 파일 생성
- 버추얼 섀도우 맵(VSM): VSM 설정을 조정해야 함, 렌더링 파이프라인에서 가장 비싼 부분 중 하나
- 실험 방법: 튜토리얼이 많지 않아 직접 실험 필요, Unreal Insights 사용 시 간단함
기본 Lumen 설정은 낮음/중간 품질에서 꽤 많은 깜박임을 유발했습니다. 그래서 이를 수정하기 위해 자체 확장성 설정 파일을 만들었습니다. 이 설정들은 우리 프로젝트에 맞는 것이니 그대로 복사하지 마세요. 모든 것에 맞는 정답은 없으며 직접 실험해봐야 합니다. 또한 버추얼 섀도우 맵 설정도 만져봐야 합니다. 우리에게는 그것이 전체 렌더링 파이프라인에서 가장 비용이 많이 드는 부분 중 하나였습니다. 어떤 설정을 변경해야 하는지에 대한 튜토리얼이 많지 않아서 약간의 실험이 필요할 겁니다. 하지만 Unreal Insights를 사용한다면 매우 간단할 것입니다.
19. 고사양 최적화 - 7단계: 조명 개수 줄이기

핵심 포인트:
- 문제: 조명이 여러 개 있는 구역에서 성능 급락, 아티스트가 보조 조명을 많이 배치함
- 해결책: 구역당 하나의 조명만 유지
- 팁: 간접 조명 강도(Indirect Intensity)를 사용하여 조명 커버리지 확장
- 반경이나 강도를 늘리지 않음
- 비용 증가 없음
- 광원 자체 밝기에 영향 없음
- 스포트라이트 추천: 가장 저렴한 조명 유형, 반경과 색상 제어 용이
일곱 번째 단계는 조명 개수를 줄이는 것입니다. 조명이 여러 개 있는 구역에서 성능이 곤두박질쳤습니다. 대부분의 경우 아티스트가 수동으로 배치한 보조 조명들, 즉 어두운 구석을 밝히기 위한 수많은 보이지 않는 부유 전구들이었습니다. 제 해결책은 "파괴"였습니다. 기본적으로 구역당 하나의 조명만 남기기로 했죠. 조명의 반경이나 강도를 높이는 대신, 간접 조명 강도를 조절하여 인위적으로 GI 강도를 높였습니다. 일종의 편법이지만 빛의 커버리지 측면에서 큰 차이를 만들었고, 반경을 늘리지 않았기 때문에 비용도 거의 증가하지 않았습니다. 또한 광원 자체를 더 밝게 만들지도 않습니다. 스포트라이트를 사랑하는 법을 배우세요. 가장 저렴한 형태의 조명이며, 반경과 색상을 제어하기 훨씬 쉽습니다.
20. 인테리어 디자이너처럼 조명 생각하기
핵심 포인트:
- 사고 전환: 조명을 추상적인 에너지 덩어리가 아니라 인테리어 디자이너나 도시 계획가처럼 생각하기
- 조명 기구 사고: 어떤 물체가 이 광원을 만들고 있는가?
- 결과: 이렇게 생각하면 포인트 라이트를 거의 쓰지 않게 됨 (현실의 모든 조명은 어딘가에 집중됨)
조명을 씬을 밝히는 추상적인 에너지의 빛으로 생각하지 않고, 인테리어 디자이너나 도시 계획가처럼 생각하여 조명 기구와 빛 자체를 고려한다면 씬 조명 작업에 도움이 될 것입니다. 이 환경에서 빛을 만들어내는 물체는 정확히 무엇인가? 이렇게 하면 조명에 현실성을 부여할 수 있고, 포인트 라이트를 거의 사용하지 않게 될 것입니다. 왜냐하면 현실 환경에서 보는 모든 조명은 항상 특정 영역에 초점을 맞추고 있기 때문입니다. 즉, 현실에서는 모두 스포트라이트인 셈이죠.
21. 동적 조명과 그림자 전술의 신중한 사용

핵심 포인트:
- 동적 조명 전략: 기본적으로 모든 동적 조명 비활성화 후, 의도적으로 선별하여 활성화
- 그림자 수신부: 벽과 바닥이 있는 좁은 구역에 동적 조명 배치 효과적
- 무효 영역: 절벽 밖으로 그림자가 떨어지는 곳 등은 동적 조명 무의미
- 전술적 활용: PVP 게임에서 그림자로 코너 뒤 플레이어 위치 노출 가능
- 레인보우 식스 경험: 방 하나당 동적 그림자 조명 1개만 사용
동적 조명은 매우 신중하게 다뤄야 합니다. 저는 기본적으로 모두 비활성화한 다음, 매우 구체적이고 의도적으로 다시 활성화했습니다. 그림자 수신부(벽과 바닥)가 많은 좁은 구역에 집중적으로 배치했습니다. 절벽이 있고 빛이 비치는데 캐릭터가 지나가도 그림자가 절벽 밖으로 떨어져 보이지 않는다면, 그런 구역의 동적 조명은 쓸모가 없습니다. 그림자가 벽 위에서 '춤추는' 영역을 생각해야 합니다. 플레이어들이 가장 많이 주목하는 곳이죠. PVP 게임에서는 그림자를 이용해 코너를 더 전술적으로 만들 수 있습니다. 플레이어가 엿볼 때 그림자가 벽 뒤의 존재를 드러낼 수 있죠. 레인보우 식스 시즈 레벨 제작 경험에 따르면, 우리가 만든 모든 레벨은 방 하나당 동적 그림자를 드리우는 조명이 단 하나뿐이었습니다. 그 게임이 그런 제약 속에서도 성공했다면, 여러분도 할 수 있습니다.
22. Lumen 씬 효과 전시

핵심 포인트:
- 씬 특징: 꽤 평평하고 깨끗함, 높은 채도의 색상
- 바닥 노멀: 바닥 표면 노멀이 저사양 설정에서 나타날 수 있는 얼룩덜룩함을 완화
이것이 Lumen 씬의 모습입니다. 검게 보이는 파괴 가능한 물체가 몇 개 있지만, 전체적으로 꽤 평평하고 깨끗합니다. 채도가 높은 색상들을 볼 수 있습니다. 바닥 표면의 노멀이 저사양 설정에서 생길 수 있는 얼룩덜룩함을 어느 정도 깨뜨려 줍니다.
23. 고사양 최적화 - 8단계: 그림자 개수 줄이기

핵심 포인트:
- 그림자 캐스팅 비활성화: 이 프로젝트에서 가장 큰 도움이 된 기능
- 원경(Vista)의 환경 조명은 그림자 불필요
- 최대 그리기 거리(Max Draw Distance): 각 조명에 하드코딩, 팝인(Pop-in)을 피하는 최소 거리 찾기
- 메시 LOD 그림자: 원거리 메시의 그림자 캐스팅을 LOD 설정에서 비활성화
- 바닥 잡동사니, 쓰레기 등 일정 거리 후 그림자 불필요
여덟 번째 단계는 결정적인 단계, 바로 그림자 수를 줄이는 것입니다. 그림자 캐스팅 기능을 끄는 것은 이번 프로젝트 내내 저의 가장 친한 친구였습니다. 게임 플레이 영역 밖, 원경(Vista)에 있는 많은 환경 조명들은 그림자 캐스팅이 필요 없었습니다. 너무 멀리 있고 배경을 살짝 밝히는 용도였으니까요. 조명의 최대 그리기 거리가 저의 두 번째 친구였습니다. 게임 내 모든 조명에 최대 그리기 거리를 하드코딩했습니다. 팝인 현상을 피할 수 있는 최적의 최소 거리를 찾으려 노력했죠. 또한 메시 LOD에서 그림자 캐스팅을 비활성화했습니다. Nanite를 사용하지 않는다면 각 메시의 LOD 설정으로 가서 해당 LOD가 그림자를 드리울지 수동으로 선택할 수 있습니다. 바닥의 잡동사니, 쓰레기 등 일정 거리 이후에는 그림자가 필요 없는 물체들에 이 작업을 많이 했습니다. 계산되는 그림자 수를 줄이는 데 도움이 되었습니다.
24. 고사양 최적화 - 9단계: 레벨 디자인 문제 수정

핵심 포인트:
- 긴 시야선(Long Sight Lines): 성능에 치명적이며, 아레나 슈터에서 저격수는 재미 반감
- 조명 복잡도 디버그 뷰: 지붕 라인 위로 갈수록 조명이 줄어들게 설정
- 레벨 디자인 조정:
- 차단막(Blocker)과 표지판 추가로 시야 제한
- 조명 위치 조정
- 오프닝/엔딩 컷신 수정하여 저렴한 카메라 앵글 사용
아홉 번째 단계는 잘못된 레벨 디자인 선택으로 인한 조명 문제 수정이었습니다. 긴 시야선은 성능을 죽이는 경향이 있고, 아레나 슈터에서 저격수는 재미가 없습니다. 조명 복잡도 디버그 뷰를 보면, 지붕 라인 위로 갈수록 조명이 줄어들도록 만들었습니다. 지상에 있을 때는 별일 없는 좁은 공간에서만 높은 조명 복잡도를 보게 됩니다. 멀리 높은 곳을 볼 때는 조명이 별로 없습니다. 벽과 레벨 구조에 가려지기 때문이죠. 일부 구역의 시야를 줄이기 위해 레벨 디자인을 변경해야 했습니다. 차단막과 표지판을 추가해 플레이어가 거리를 너무 멀리 보지 못하게 했고, 물론 조명 위치도 최적화했습니다. 또한 오프닝과 엔딩 실시간 컷신도 변경하여 더 저렴한 카메라 앵글을 사용하고 레벨의 조감도를 너무 많이 보여주지 않도록 했습니다.
25. 이중 파이프라인의 숨겨진 트릭

핵심 포인트:
- 스태틱 라이트는 Lumen에서 무시됨: 이중 파이프라인에 매우 유용
- 필수 조명은 스테이셔너리 또는 무버블이어야 함: 아니면 Lumen 켰을 때 사라짐
- 스테이셔너리 중첩 문제: 중첩 시 무버블로 변해 베이크 씬에서 비용 증가
- 간접 조명 강도 트릭:
- 조명이 의도한 반경 너머로 퍼지게 함
- 비용 증가 없음
- 중첩 유발 안 함
- 광원 자체 밝기 증가 안 함
- 핵심 원칙: 가능한 가장 작은 감쇠 반경 사용, 불필요한 그림자 끄기, 간접 조명 강도 슬라이더 적극 활용
이 파이프라인에는 몇 가지 숨겨진 특징이 있습니다. 모르실 수도 있지만, 스태틱 라이트는 Lumen에서 완전히 무시됩니다. 다음 챕터에서 아주 유용하게 쓰일 겁니다. 하지만 이는 모든 필수 조명이 스테이셔너리 또는 무버블이어야 함을 의미합니다. 그렇지 않으면 Lumen을 켰을 때 그냥 사라집니다. 베이크된 조명에는 나타나지만 Lumen에는 전혀 안 나타나죠. 여기서 중첩 오류가 발생합니다. 스테이셔너리 라이트가 중첩되면 무버블로 바뀌는데, 무버블 라이트는 베이크 조명 시나리오에서 매우 비쌉니다. 반경을 줄일 수도 있지만 그러면 목적에 어긋나죠. 제가 프로젝트 전체에서 사용한 트릭은 간접 조명 강도 설정을 높이는 것입니다. 이렇게 하면 빛이 의도한 반경 밖으로 퍼져 나가지만, 중첩을 일으키지 않으므로 비용이 추가되지 않습니다. 그저 GI가 빛을 더 멀리 밀어낼 뿐이죠. 또한 광원 자체의 밝기도 높이지 않습니다. 요약하자면, 가능한 가장 작은 감쇠 반경을 사용하세요(성능에 가장 큰 영향을 미칩니다). 필요 없는 경우 그림자 캐스팅을 끄세요. 그리고 간접 조명 강도 슬라이더를 마음껏 악용하세요.
26. 간접 조명 강도 주의사항과 저사양 최적화 시작

핵심 포인트:
- 간접 조명 강도 범위: 기본 0-1이지만 더 높게 설정 가능
- 안개 영향: 볼류메트릭 포그에 영향, 볼류메트릭 스캐터링 비활성화 필요할 수 있음
- Lumen/Non-Lumen 전환: 커맨드 라인으로 전환, 엔진이 라이트맵 비활성화 자동 처리
- 메모리 점유: 라이트맵 메모리 차지하지만, Lumen 구동 가능한 고사양 PC에서는 무시할 수준
간접 조명 강도 슬라이더는 기본적으로 0과 1 사이지만, 저는 훨씬 높게 올렸고 이 설정에서 잘 작동했습니다. 하지만 안개에도 영향을 미칩니다. 볼류메트릭 포그가 있다면 안개가 터져버릴 수 있으므로 볼류메트릭 스캐터링을 꺼야 할 수도 있습니다. 그렇다면 저사양 기기에서는 어떻게 작동하게 했을까요? 먼저 게임 내에서 Lumen과 Non-Lumen을 전환하는 방법을 알아내야 했습니다. 커맨드 라인을 사용하니 작동했습니다. 그게 다입니다. 흑마술은 없어요. 엔진이 알아서 라이트맵을 비활성화해 줍니다. 메모리 점유율은 여전하겠지만, 애초에 Lumen을 돌릴 수 있는 고사양 PC라면 무시할 만한 수준입니다.
27. 저사양 최적화 - 베이크 라이팅 원칙

핵심 포인트:
- 2010년으로 회귀: 베이크 라이팅 원칙 복습
- 기본 요건:
- 고유하고, 겹치지 않고, 늘어나지 않는 UV
- 조명 문제를 일으키는 이상한 각도의 메시 교차 피하기
- 2025년의 이점: 언리얼의 GPU 기반 라이트맵 플러그인으로 몇 분 만에 전체 레벨 베이크 가능
- 과거 비교: 예전엔 베이킹이 커피 마실 핑계였지만 지금은 불가능
두 번째 단계, 2010년처럼 즐기세요. 베이크 라이팅 원칙을 다시 꺼내드십시오. 다행히 저는 베이크 라이팅으로 일을 시작했기에, Polycount 로그인 비밀번호를 기억해내고 라이팅 베이크 방법을 떠올리기만 하면 됐습니다. 15년 전에 옳았던 것은 다행히 오늘도 옳습니다. 고유하고 겹치지 않고 늘어나지 않는 UV를 갖고, 조명 문제를 일으킬 수 있는 이상한 각도의 메시 교차를 피하는 것 말이죠. 하지만 지금은 2025년이고, 언리얼에는 단 몇 분 만에 전체 레벨의 조명을 구울 수 있는 환상적인 GPU 기반 라이트맵 플러그인이 있습니다. 이건 엄청난 변화입니다. 제 경력 초기에는 라이트 빌드 중이라는 게 커피 마시러 갈 최고의 핑계였는데, 이제는 불가능해졌으니까요.
28. 저사양 최적화 - 라이트맵 균형


핵심 포인트:
- 메모리 관리: 라이트맵은 무거울 수 있음, 메모리 점유율 확인 필요
- 해상도 선택: 복잡하고 조명 좋은 씬에서 초고해상도 라이트맵은 대부분 불필요
- 저장 공간: 15년 전보다 디스크 공간 여유로움
- 이중 베이크: 낮/밤 두 가지 시나리오라 맵당 두 번 베이크
- 텍셀 밀도(Texel Density) 할당:
- FPS 게임이므로 눈높이에 더 많은 텍셀 밀도 할당
- 바닥에 스치듯 비치는 조명(네온)이 많아 바닥 라이트맵 밀도 증가
세 번째 단계는 균형입니다. 라이트맵은 좀 무거울 수 있습니다. 메모리 점유율을 확인해야 합니다. 복잡하고 조명이 잘 된 씬에서는 대부분 초고해상도 라이트맵이 필요하지 않습니다. 하지만 디스크 공간은 15년 전보다 덜 문제입니다. 제 전화기는 아마 15년 전 제 최고 컴퓨터보다 100배는 더 많은 저장 공간을 가지고 있을 겁니다. 우리는 낮과 밤 두 가지 조명 시나리오만 있어서 맵당 두 번만 구웠습니다. 화려한 전환 같은 건 없었죠. 또한 FPS 게임이라 눈높이 위치에 더 많은 텍셀 밀도를 할당하려 했습니다. 바닥에 놓인 네온 사인이 스치듯 비치는(Grazing angle) 조명이 많아서 바닥에 멋진 그라데이션을 만들었기에, 바닥 라이트맵의 텍셀 밀도를 높여야 했습니다.
29. 저사양 최적화 - 반사 처리와 공정성

핵심 포인트:
- 리플렉션 캡처 스피어 문제: 고대비 씬에서 정확한 반사 커버하기 어려움
- 스크린 스페이스 리플렉션(SSR): 중간 이상 설정에서 SSR 사용, 밀폐된 구역에서 효과적
- 공정성 우선: 저사양이나 고사양이나 게임을 최대한 공정하게 만듦
- PVP 게임 요구사항: 플레이어가 숨었다고 착각하게 만드는 암흑 구역 방지
- 치트의 기억: 우리는 게임을 만드는 것임, 저렴하게 예쁜 것을 만들 수 있음
Lumen 반사는 정말 신의 축복이었습니다. 리플렉션 캡처 스피어 시대로 돌아가고 싶지 않았거든요. 우리처럼 대비가 심한 씬에서 정확한 반사를 맵 전체에 커버하려면 많은 시행착오가 필요했습니다. 우리는 중간 및 그 이상의 설정에서 스크린 스페이스 리플렉션(SSR)을 사용합니다. 대비가 강하고 채도가 높은 빛이 많은 밀폐된 구역에서 큰 역할을 합니다. Lumen만큼 좋거나 선명하진 않지만 제 몫을 다합니다. 제가 가장 신경 쓴 것은 공정성, 즉 저사양 기기든 고사양 기기든 게임을 최대한 공정하게 만드는 것이었습니다. 설정에 관계없이 밝은 곳은 밝게 유지되길 원했습니다. PVP 게임에서 어떤 구역이 새까매서 누군가 보호받고 있다고 생각하지만 실제로는 그렇지 않은 상황을 원치 않았으니까요. 또한 Epic이 내놓는 멋진 도구들 덕분에 우리는 더 이상 속임수(Cheat)를 쓰지 않으려는 경향이 있습니다. 하지만 잊지 마세요, 우리는 비디오 게임을 만듭니다. 게임 업계 초창기 35년이 우리에게 가르쳐준 것은, 저렴한 비용으로 매우 예쁜 것들을 만들 수 있다는 것입니다.
30. 저사양 최적화 - 스태틱 라이트로 속임수 쓰기


핵심 포인트:
- GI의 50%는 가짜: 스태틱 라이트로 튕김광과 발광 모방
- 스태틱 라이트 장점: Lumen 설정에서 완전히 사라져 두 모드 간 간섭 없음
- 게임 스레드 최적화:
- 스태틱 조명 모드에서 블루프린트 애니메이션(회전 컴포넌트 등) 비활성화
- 중/저 설정에서 WPO 재질 활성화 및 셰이더의 Detail Mode 뒤로 배치
- 블루프린트 Tick 문제: 블루프린트 내 무버블 객체는 Tick 발생, 많으면 문제
- SSAO 대체: 스태틱 조명에서 캐릭터 접지감 부족 -> 중옵에서 SSAO 사용하여 해결
이 강연에서 하나만 기억해야 한다면 바로 이겁니다. 조명에서 모든 것을 속이세요. 제 베이크 버전 GI의 50%는 가짜였습니다. 저는 아티스트들이 예전에 쓰던 트릭을 사용했습니다. 작은 스태틱 라이트를 많이 추가해 네온 불빛을 곳곳에 반사시키고 채도를 약간 더하는 거죠. 저는 거의 모든 튕김광과 발광 효과를 베이크 라이팅용 스태틱 라이트로 조작했습니다. 이들은 Lumen 설정에서 완전히 사라지기 때문에 과도하게 의존해도 괜찮았습니다. 두 모드 사이에 간섭이 전혀 없으니까요. Lumen에서도 끌 필요가 없습니다. Lumen과 섀도우 맵, 반사가 최적화되자 GPU는 할 일이 별로 없었습니다. 그래서 저사양 기기에서 병목이던 게임 스레드를 돌아볼 수 있었습니다. 스태틱 조명으로 전환할 때, 회전 액터 컴포넌트 같은 BP 애니메이션 요소를 모두 비활성화하고, 중/저 설정에서 WPO 재질을 활성화하여 셰이더의 Detail Mode 뒤에 배치했습니다. 블루프린트의 무버블 객체들은 틱(Tick)을 사용합니다. 많으면 문제가 되죠. 스태틱 조명에서 겪게 될 주요 문제는 캐릭터의 접지감이 떨어지는 것입니다. 그림자를 드리울 동적 조명이 필요하니까요. 우리는 캐릭터에 중옵 설정의 SSAO를 사용했고, 이는 매우 잘 작동했으며 꽤 저렴했습니다.
31. 요약 및 핵심 조언

핵심 포인트:
- 이중 파이프라인 복잡성: 전통적인 베이크와 Lumen 파이프라인 동시 지원은 복잡함
- 공통 최적화 원칙:
- 동적 조명 수 제어
- 동적 그림자 수 제어
- 시야 거리(Line of Sight) 제어
- 목표 성능에 맞는 구역 크기 확보
- GI가 핵심: GI는 최종 이미지 품질의 가장 중요한 요소이며 비싸지 않음
- 미러스 엣지 사례: 15-20년 전 게임이지만 GI 덕분에 여전히 훌륭해 보임
- 적을수록 좋다(Less is more): 조명에 의도를 담고 각 조명을 가치 있게 만들기
- 물리적 사고: 광원이 어디서 오는지, 어떤 재질이 빛을 반사할지 고려
결론적으로, 전통적인 베이크 조명 파이프라인과 Lumen 파이프라인을 모두 지원하는 것은 보시다시피 꽤 복잡합니다. 이것이 최선의 방법인지는 모르겠습니다. 어쩌면 Lumen을 미친 수준으로 최적화해서 초저사양 기기에서도 작동하게 만들 수도 있겠죠. 우리가 선택한 길은 이중 파이프라인이었고, 효과가 있었습니다. 복잡했지만 작동은 했죠. 어떤 길을 가든 두 방식 사이에 공통적인 최적화 요소가 많습니다. 씬의 동적 조명 수를 제어하세요. 동적 그림자 수를 제어하세요(우리에게는 가장 중요한 것이었습니다). 시야 거리를 제어하세요. 목표 성능에 비해 구역이 너무 크지 않도록 하세요. 저는 개인적으로 GI가 최종 이미지 품질에 가장 중요한 기여 요소라고 믿습니다. 그렇게 비싸지도 않습니다. Lumen과 베이크 파이프라인 모두 훌륭한 GI를 만드는 데 중점을 둡니다. 제가 가장 좋아하는 멋진 게임은 미러스 엣지인데, 15-20년 전 게임이지만 오늘날에도 10억 달러짜리처럼 보입니다. 모든 것이 그 게임의 GI 덕분이죠. 조명에 의도를 담으세요. 적을수록 좋습니다. 게임의 물리적 공간에 대해 물리적으로 생각하세요. 빛이 어디서 오는가? 어떻게 하면 플레이어에게 더 흥미롭게 만들 수 있을까? 각 조명을 가치 있게 만들고 씬에 무언가를 더하게 하세요. 단지 어느 구역에 밝기가 좀 더 필요하다고 해서 아무거나 던져 놓지 마세요. 또한 어떤 재질이 빛을 반사할지 생각하세요. 약간의 반사율, 약간의 물웅덩이, 이런 것들이 빛을 반사시켜 씬을 밝게 만들어 줍니다.
32. 맺음말

핵심 포인트:
- 연사는 컨설팅 사업과 인디 게임 개발을 병행 중
- 강연 후 질문이나 프로젝트 협업 환영
자, 제 강연은 여기까지입니다. 저는 두 가지 일을 병행하고 있습니다. 질문이 있거나 프로젝트에 도움이 필요하면 강연 후에 저에게 연락주세요. 언제든 환영입니다. 제 개인 프로젝트에 대해서도 이야기하고 싶습니다. 대화하는 걸 좋아하신다면 밖에서 저를 찾아주세요. 대단히 감사합니다.
'TECH.ART.FLOW.IO' 카테고리의 다른 글
| [발표 번역] SIGGRAPH 2025 idTech8에서의 글로벌 일루미네이션 (0) | 2026.01.02 |
|---|---|
| [번역] Bindless 에 관한 간략한 논의: UE5에서의 Bindless (1) | 2026.01.02 |
| [발표 번역] MEGALIGHTS: STOCHASTIC DIRECT LIGHTING IN UNREAL ENGINE 5 (0) | 2025.12.30 |
| 게임 Coder 전용 모델 강화 학습 WIP (0) | 2025.12.30 |
| [발표 번역]SIGGRAPH 2025 HypeHype의 랜덤 블록 조명 기술 (1) | 2025.12.07 |