[KOR][100]Building-the-World-of--The-Ascent-

https://m.youtube.com/watch?v=FodXp5BkENk&t=1066s&pp=ygUKZ2RjIGVtYmFyaw%3D%3D

Frame at 8.76s
## The Ascent: 월드 빌딩을 위한 효율적인 파이프라인 구축 ### 1. 게임 소개 * **The Ascent**: 디스토피아적 사이버펑크 미래를 배경으로 하는 솔로 및 협동 액션 RPG. * **개발**: Neon Giant (스웨덴 인디 스튜디오, 11명 규모). * **플랫폼**: PC, Xbox One, Xbox Series, PS4, PS5. * **엔진**: Unreal Engine 4. ### 2. 핵심 도전 과제 * **신규 소규모 개발사**: * 방대하고 복잡한 오픈 월드, 밀집된 SF 도시 경관 구현. * 핸드크래프트되고 풍부한 스토리텔링. * 적은 아티스트 인력 (최대 4명). * 거의 모든 에셋을 직접 디자인하고 제작해야 하는 상황. * 콘셉트 아티스트 부재. * **빠르고 유연한 콘텐츠 파이프라인**: * 월드를 채울 방대한 양의 오브젝트 제작 필요. * 더럽고 낡고 삶의 흔적이 느껴지는 도시의 아트 스타일 구현. * 향상된 셰이더 및 콘텐츠 처리 능력 요구. * **월드 조립 및 디테일**: * 대규모 게임 월드와 높은 에셋 밀도. * 생동감 있고 핸드크래프트된 느낌, 풍부한 스토리텔링을 갖춘 월드 구현. ### 3. 해결 전략: 단순성 & 제약 * **핵심 원칙**: * **단순성 (Simplicity)**: 복잡성을 줄여 핵심에 집중. * **제약 (Limitations)**: 스스로 제약을 설정하여 효율성 증대. * **테크 아트 중심 접근**: "Tech Art All the Things" #### 3.1. 3D 모델링 * **핵심**: 빠른 속도와 일관성 유지. * **배제된 방식**: * **고폴리/저폴리 모델링**: 과정이 너무 복잡하고 시간이 많이 소요됨. * **콘셉트 아트 기반 워크플로우**: 콘셉트 아티스트 부재로 불가능. * **타일링 머티리얼 & 데칼**: 추상적인 형태에는 좋으나, 복잡하고 디테일한 아트 스타일에 부적합. * **트림 시트 (Trim Sheets) 단독 사용**: 세밀한 디테일 구현에 한계, UV 언래핑 부담, 폴리곤 과다 사용 가능성. * **채택된 방식**: * **트림 시트 + 베이크드 에셋 통합**: * 트림 시트 공간 내에 베이크드 에셋 포함. * 하나의 머티리얼로 디테일과 베이크드 에셋 표현. * *단점*: 텍스처 유연성 제한 (4K 텍스처), 큰 에셋 제작 어려움, 텍스처 제작 시간 증가. * **단일 텍스처 및 셰이더 강제**: * 거의 모든 하드 서페이스 오브젝트 (메크, 차량, 벽, 컴퓨터, 의자, 상자 등)가 동일한 텍스처 및 셰이더 사용. * *장점*: * **속도 향상**: 시각적 품질 타협, 빠른 개발 가능. * **일관성 유지**: 카메라 거리 고려하여 디테일 수준 제한. * **창작 집중**: 복잡한 워크플로우 제거, 반복 작업 감소. * **공유 디자인 언어**: 텍스처 및 키트bash 라이브러리를 통해 디자인 언어 통합. * **로 폴리/미드 폴리 지오메트리**: 고폴리 모델링 지양. * **웨이티드 노멀 (Weighted Normals)**: 2022년 표준 기술 활용. * **메시 데칼**: 유연성 증대, 단일 텍스처의 한계 보완. #### 3.2. 텍스처링 * **핵심**: 더럽고 거친 아트 스타일 구현, 최소한의 작업량, 다양한 색상 및 효과. * **도전 과제**: * **컨텍스트 기반의 오염/먼지 효과**: 무작위 배치 불가, 적절한 위치 중요. * **다양한 색상 구현**: 에셋당 단일 색상 지양, 여러 재질 사용 불가 (시간/리소스 소모). * **해결 방식**: * **UV 셋을 활용한 마스크 (UDIM 방식 응용)**: * UV 좌표를 오프셋하여 다른 텍스처 또는 색상 마스크로 활용. * 텍스처 없이 색상 변화 구현. * **기본 재질**: 금속, 페인트 금속, 플라스틱 (하드 서페이스 중심). * **텍스처 레이어링**: * **트림 시트 텍스처 마스크**: 볼트 주변 디테일, 먼지, 마모 효과. * **버텍스 컬러**: * 앰비언트 오클루전 (AO) 및 컨벡시티 (Convexity) 베이크. * 먼지, 마모, 녹 효과 제너럴하게 제어. * **라이트 베이킹 AO 마스크**: * 인접한 오브젝트 간의 먼지, 틈새 디테일 구현. * 장면의 총체적인 오염 효과 증대. * **2차 UV 셋 + UDIM**: 데칼 및 발광 표면 마스크. #### 3.3. 월드 조립 및 배치 * **핵심**: 빠른 제작, 풍부한 디테일, 생동감 부여. * **도구 활용**: * **파이프 생성 툴 (Houdini)**: * 단순 프로파일에서 모듈식 파이프 세트 자동 생성. * 아트 스타일에 맞는 디테일 (구부러짐, 추가 요소) 통합. * 타일링 가능 (메시 및 텍스처). * **스플라인 기반 파이프 배치 툴**: * 모듈식 파이프 세트 자동 배치. * 쉬운 시각적 변화 및 텍스처 변경. * 단조로운 작업 감소, 창의적인 배치 촉진. * **룸 메이커 (Room Maker)**: * 정의된 에셋 세트를 기반으로 방 또는 건물 자동 생성. * 불리언 연산 활용. * 하수도 등 세트 드레싱에 활용. * **파괴 (Destruction)**: * **저렴하고 빠른 제작**: 실제 시뮬레이션 대신 애니메이션 기반. * **방향별 파괴 애니메이션**: 샷 방향에 따라 애니메이션 재생. * *장점*: 플레이어 액션에 반응하는 것처럼 보이는 파괴 효과 구현. * **케이블 툴**: 다양한 유형의 케이블 (바닥, 벽 간) 제작. * **데칼 툴**: 텍스트 입력으로 메시 데칼 생성. * **사인 툴**: * 모델 레터 네온 사인, 플라스틱 사인, 수제 사인 등. * 애니메이션 사인 (버텍스 셰이더 사용) 지원. * 편집기 내에서 직접 텍스트 입력 및 지오메트리 출력. #### 3.4. 생동감 부여 (Adding Life) * **핵심**: 정적인 월드를 동적으로 변화시키기. * **반복적인 개선**: 각 요소에 대해 여러 솔루션 개발 및 개선. * **NPC 활용**: * **초기**: 발코니 NPC, 스플라인 이동 NPC (배경). * **개선**: 플레이 가능한 공간에 AI 기반 NPC 배치. * **세트 드레싱 통합**: NPC를 세트 드레싱의 일부로 활용 (예: 특정 구역의 호보, 카페 손님). * *장점*: 월드를 더 살아있는 것처럼 보이게 하고, 아티스트가 직접 장면 구성 시 NPC를 고려하도록 유도. * **광고/애니메이션**: * **실제 영상 활용**: 셰이더 제작보다 효율적. * **비디오 텍스처 통합**: CPU 부하 관리 위해 여러 비디오를 하나의 텍스처로 통합, 균등 길이 설정. * **광원 효과**: * 픽셀당 평균 색상 추출 (Houdini) → CSV 파일 출력 → 라이트 애니메이션 제어. * UV 공간 이동 및 채널 스와핑을 통한 광고 애니메이션 재생. * *추가 활용*: 창문 셰이더에 블링키 컬러 커브 적용 (TV 시청 효과). * **교통 및 움직이는 부품**: * 다양한 유형의 교통 (3가지), 스핀/움직이는 부품 (5가지) 등. * **다층적인 접근**: 단순한 요소들을 여러 겹 쌓아 다양성 확보. #### 3.5. 최적화 * **핵심**: 높은 에셋 밀도를 유지하면서 성능 확보. * **주요 문제**: 드로우 콜 (Draw Calls), 스트리밍. * **전략**: * **라이팅 최적화**: * **하이브리드 라이팅**: 대규모 정적 라이트 + 다이나믹 스포트라이트 (카메라 거리 고려). * **정적 라이팅 활용**: 텍스처 사용량이 적어 라이트맵 공간 확보 용이. * **리플렉션 프로브 (Reflection Probes) 적극 활용**: * "손으로 그린" 라이팅 효과, 동적인 것처럼 보이도록 의도적으로 배치. * 낮은 해상도 (64x64 큐브맵) 사용하여 메모리 부담 감소. * **라이트맵 해상도 증가 (2K)**: * 텍스처 압축 효율 증대, 오토 인스턴싱 확률 증가 → 드로우 콜 10% 감소. * 콘솔에서 약 50MB 메모리 사용. * **볼류메트릭 라이트 (Volumetric Light) 최적화**: * 베이크드 라이트 활용. * 볼류메트릭 라이트맵 밀도 볼륨 사용. * 볼류메트릭 라이트 그리드 MIP 추가 → 비용 150MB에서 40MB로 감소. * **거리 기반 라이트 페이딩**: * 가장 큰 최적화 효과. * 화면 가장자리에서 라이트 자연스럽게 사라지게 함. * **라이트 스태틱화**: 기본 최적화. * **플랫폼별 그림자 제어**: * 각 라이트에 대해 그림자 켜기/끄기 옵션 도구화. * 일부 문제 영역에서 그림자 비활성화. * **결과**: * **에셋 제작 효율**: 아티스트당 하루 평균 3개 (대형 세트 피스 3일, 메크 1.5일). * **텍스처 사용량 최소화**: 콘솔에서 1GB 기본값 대비 400MB (실제 텍스처는 100MB 미만). * **재사용 가능한 머티리얼**: 소재 공유 용이, 반복 작업 효율 증대. * **아트 디렉션 강화**: 일관된 시각 언어 유지. * **반복 작업 간소화**: 베이킹 프로세스 없음, 빠른 수정 및 추가 가능. * **기술적 놀라움 최소화**: 일관된 폴리곤 밀도, 셰이더 복잡성. * **시각적 품질 향상**: 예상치 못한 디테일 수준 달성 (키트배싱, 스케일 조정). ### 4. 결론 및 교훈 * **강제된 제약의 성공**: * 개발 모멘텀 유지. * 주요 작업에 집중. * 시각적/기술적 노이즈 제거. * 색상 제약을 통한 아트 디렉션 강화. * 머티리얼 공유를 통한 반복 작업 및 시간 절약. * **단점**: * **초기 두려움**: 장기적인 재사용성에 대한 불확실성. * **규칙 준수의 지루함**: 엄격한 파이프라인 따르는 데 따른 어려움. * **향후 개선점**: * **품질 vs. 양**: 더 많은 시간을 들여 전체적인 시각 품질 개선 고려. * **파이프라인 일관성**: 에셋 파이프라인 외 다른 파이프라인에도 동일한 수준의 계획 및 제약 적용.