1. Game Engine Gems 1
Chap 2.
The Game Asset Pipeline
ohyecloudy
homepage http://ohyecloudy.com
twitter @ohyecloudy
shader café http://cafe.naver.com/shader
2011.06.13
2. 1GB가 큰건가?
요즘 게임은 다 우습게 1GB는 넘긴다
여기서 대부분은 game asset
갈수록 커지는 asset 관리가 문제
아티스트가 하얗게 불태울 수 있는 효율적인 pipeline 필수
플랫폼에 맞는 최적화는 필수
5. Source Assets
3D tool Image tool
+ plug-ins + plug-ins
Model
Textures
Animations
Intermediate Assets
Exporters Exporters
Fast Path
Interm. Interm. Interm.
Models Anims Textures
Final Assets
Build Build
Build Path
Platform A Platform B
6. Source Assets
3D tool Image tool
+ plug-ins + plug-ins
빌드 프로세스
Model타겟 플랫폼에 맞는 최적화된 asset을 만드는 과정
Textures
Animations
효율적인 개발을 위해 Intermediate Assets
자동은 기본
Exporters Exporters
Fast Path
종속성 정보가 부재
Interm. 없다면Interm. Interm.
하나 바뀌어도 전체 빌드
Models Anims Textures
빌드 프로세스 최적화 이슈
source asset을 만드는 사람이 직접 기술하거나
따로 시스템을 만들어야 한다 Final Assets
Build Build
Build Path
Platform A Platform B
7. Source Assets
3D tool Image tool
+ plug-ins + plug-ins
Model
Textures
Animations
Intermediate Assets
아티스트와 디자이너가Exporters asset
Exporters 만드는
Fast Path
DCCDigital Content Creation Interm.
Interm. Interm.
tools
source asset을 만드는 툴을Textures용어
Models Anims 부르는
final asset을 만드는 모든 정보가 있어야 함 Final Assets
source asset만 빼고 다 지워도 final asset을 만들 수 있어야 한다
Build Build
Build Path
Platform A Platform B
8. Source Assets
3D tool Image tool
+ plug-ins + plug-ins
Model
Textures
Animations
Intermediate Assets
DCC로 만들고 난 뒤 Intermediate Assets
Exporters Exporters
타겟 플랫폼에 최적화된 asset을 만들기 전
Fast Path
읽기, 파싱, 확장이
Interm. Interm. 쉬워야 함
Interm.
Models바이너리는 Anims
엿먹는다 Textures
문제점 추적 및 임시 변경 테스트가 용이
plain text나 XML을 추천 Final Assets
Build Build
Build Path
Platform A Platform B
9. Source Assets
3D tool Image tool
+ plug-ins + plug-ins
Model
Textures
Animations
Fast Path
Intermediate Assets
Exporters Exporters
게임 엔진으로 로드할 수 있음
전체 빌드 프로세스를 거치지 않고 Fast Path
Interm. Interm. Interm.
Models Anims Textures
효율성 향상에 핵심
아티스트에게 빠른 이터레이션 제공
Final Assets
Build Build
Build Path
Platform A Platform B
10. Source Assets
3D tool Image tool
+ plug-ins + plug-ins
Model
Textures
Animations
Intermediate Assets
타겟 플랫폼에 맞게 최적화되고 묶인 asset
Exporters Exporters
Fast Path
대부분 binary 파일
Interm. Interm. Interm.
Models파싱에 드는Anims 시간을 줄이기 위해
CPU Textures
Final Assets
Build Build
Build Path
Platform A Platform B
16. source asset과 final asset 결합 제거
DCC에서 export할 때 final asset을 바로 만들면
엔진 변경에 의존하게 되어서 re-export가 빈번
프로그래머와 아티스트 작업 결합도 줄임
디버깅과 실험은 intermediate asset을 사용
19. Push model
전통적인 방법
빌드 프로세스를 호출해 intermediate나 final asset 생성
게임 엔진 에디터로 로드
Pull model
더 진보된 방법
게임 엔진 에디터에서 intermediate나 final asset 로드
UI 지원이나 변경된 파일을 감시해서 구현
20. 모든 정보는 source asset에 있어야 함
수정 사항이 모두 기록되기 위한 제한
intermediate asset 변경 사항이 source asset에 반영
editing과 pull 결합
게임 엔진 에디터가 변경한 게 source asset에 반영되고
생성된 intermediate asset을 다시 읽어 들임
remote control 시스템이 필요
21. Remote Control
Animation Modeling Normal Map Texturing
Tool Tool Tool Tool
Source Source Source Source
Export
Export
Export
Export
Asset Asset Asset Asset
Intermediate Asset Cache
Fast Path
Build
Final Asset Cache Build Path
Game Engine
Editor
23. SIGGRAPH 2004에서 처음 소개
open standard
많은 DCC tool이 지원
3ds max, maya, google sketchup, …
많은 데이터 정의 지원
geometry, animation, skinning, morphing, physics, …
27. asset pipeline은 개발 backbone
안 되면 고쳐질 때까지 개발이 중지
source asset에 모든 정보가 있어야 함
source asset만 버전 컨트롤
수정된 사항을 잃어버리는 일이 없다
28. 효율적인 개발을 위한 Fast Path
하나 확인 하려고 긴 빌드 프로세스를 기다려야 해?
아티스트가 하얗게 불태울 수 있도록 하자
COLLADA
intermediate asset format으로 쓰려고 만들었다
왠만한 데이터는 다 기술되었음
많은 DCC tool에서 지원
쓰는 걸 적극 고려