SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
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
1GB가 큰건가?
 요즘 게임은 다 우습게 1GB는 넘긴다
 여기서 대부분은 game asset


갈수록 커지는 asset 관리가 문제
 아티스트가 하얗게 불태울 수 있는 효율적인 pipeline 필수
 플랫폼에 맞는 최적화는 필수
Asset 가공 pipeline을 살펴본다

COLLADA를 살짝 소개
 intermediate asset format으로 제격
Asset pipeline overview
Asset pipeline design
Push or pull pipeline model
COLLADA
Conclusion
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
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
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
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
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
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
Asset pipeline overview
Asset pipeline design
Push or pull pipeline model
COLLADA
Conclusion
게임 엔진 에디터 성격
 view-only
 editing
view-only
  카메라 위치, 라이팅 조건 등 컨트롤을 가짐
  asset 변경은 불가능. DCC에서만 변경할 수 있다


editing
  asset을 변경할 수 있어 빠른 반복이 가능
  하지만 asset pipeline이 더 복잡해짐
view-only와 editing 결합이 필요
 모든 프로젝트를 만족하는 마법 같은 솔루션은 없다
 source asset에 모든 정보가 있다는 것만 만족시키면 됨
왜 intermediate asset이 필요한가?
 source asset과 final asset 결합 제거
 크로스 플랫폼 asset 생성이 쉽다
source asset과 final asset 결합 제거
  DCC에서 export할 때 final asset을 바로 만들면
  엔진 변경에 의존하게 되어서 re-export가 빈번

  프로그래머와 아티스트 작업 결합도 줄임
  디버깅과 실험은 intermediate asset을 사용
크로스 플랫폼 asset 생성이 쉽다
 intermediate asset 가공만 생각하면 된다
Asset pipeline overview
Asset pipeline design
Push or pull pipeline model
COLLADA
Conclusion
Push model
  전통적인 방법
  빌드 프로세스를 호출해 intermediate나 final asset 생성
  게임 엔진 에디터로 로드


Pull model
  더 진보된 방법
  게임 엔진 에디터에서 intermediate나 final asset 로드
  UI 지원이나 변경된 파일을 감시해서 구현
모든 정보는 source asset에 있어야 함
 수정 사항이 모두 기록되기 위한 제한
 intermediate asset 변경 사항이 source asset에 반영


editing과 pull 결합
 게임 엔진 에디터가 변경한 게 source asset에 반영되고
 생성된 intermediate asset을 다시 읽어 들임
 remote control 시스템이 필요
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
Asset pipeline overview
Asset pipeline design
Push or pull pipeline model
COLLADA
Conclusion
SIGGRAPH 2004에서 처음 소개

open standard
  많은 DCC tool이 지원
  3ds max, maya, google sketchup, …


많은 데이터 정의 지원
  geometry, animation, skinning, morphing, physics, …
<source id=“mesh-geometry-position”>
  <float_array id=“mesh1-geometry-position-array”
    count=“24”>
    2518.1875 4074.512965 0. 2518.1875 0.
    …
  </float_array>

  <technique_common>
    <accessor
      source=“mesh1-geometry-position-array”
      count=“8”
      stride=“3”>
      <param name=“X” type=“float”/>
      <param name=“Y” type=“float”/>
      <param name=“Z” type=“float”/>
    </accessor>
  </technique_common>
</source>
intermediate asset format으로 추천
 self-described data
 많은 DCC tool에서 지원
 이 용도로 쓰려고 만들어서 만들어진 게 많다
 <library_xx>, <param>, URI technology, …
Asset pipeline overview
Asset pipeline design
Push or pull pipeline model
COLLADA
Conclusion
asset pipeline은 개발 backbone
 안 되면 고쳐질 때까지 개발이 중지


source asset에 모든 정보가 있어야 함
 source asset만 버전 컨트롤
 수정된 사항을 잃어버리는 일이 없다
효율적인 개발을 위한 Fast Path
 하나 확인 하려고 긴 빌드 프로세스를 기다려야 해?
 아티스트가 하얗게 불태울 수 있도록 하자


COLLADA
 intermediate asset format으로 쓰려고 만들었다
 왠만한 데이터는 다 기술되었음
 많은 DCC tool에서 지원
 쓰는 걸 적극 고려
[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline

Contenu connexe

Similaire à [GEG1] 2.the game asset pipeline

Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 
Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처kgun86
 
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)강 민우
 
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개강 민우
 
Autonomous Drive for Smart Factory
Autonomous Drive for Smart FactoryAutonomous Drive for Smart Factory
Autonomous Drive for Smart Factoryminsukim134
 
Optimizing The Content Pipeline
Optimizing The Content PipelineOptimizing The Content Pipeline
Optimizing The Content Pipelinecodevania
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정funmeate
 
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표ChangGyum Kim
 
아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016
아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016
아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016Amazon Web Services Korea
 
Create document automatically (1)
Create document automatically (1)Create document automatically (1)
Create document automatically (1)SangJune Ahn
 
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결VMware Tanzu Korea
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1Hyunwoo Kim
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명Peter YoungSik Yun
 
Image 2 Torrent 발표자료
Image 2 Torrent 발표자료Image 2 Torrent 발표자료
Image 2 Torrent 발표자료재영 이
 
히포차트 통합 소개서
히포차트 통합 소개서히포차트 통합 소개서
히포차트 통합 소개서youngdae ha
 
How to build Design System?
How to build Design System?How to build Design System?
How to build Design System?John Kim
 
[E-commerce & Retail Day] 인공지능서비스 활용방안
[E-commerce & Retail Day] 인공지능서비스 활용방안[E-commerce & Retail Day] 인공지능서비스 활용방안
[E-commerce & Retail Day] 인공지능서비스 활용방안Amazon Web Services Korea
 

Similaire à [GEG1] 2.the game asset pipeline (20)

Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kgc2012 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
 
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
[IGC 2016] 아마존 구승모 - 게임 제작을 위한 Amazon의 편리한 도구들 (게임리프트와 럼버야드)
 
Unity시작하기
Unity시작하기Unity시작하기
Unity시작하기
 
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
 
Autonomous Drive for Smart Factory
Autonomous Drive for Smart FactoryAutonomous Drive for Smart Factory
Autonomous Drive for Smart Factory
 
Optimizing The Content Pipeline
Optimizing The Content PipelineOptimizing The Content Pipeline
Optimizing The Content Pipeline
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
 
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
 
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
 
아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016
아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016
아마존 게임엔진:Lumberyard :: Patel Pratik :: Gaming on AWS 2016
 
Create document automatically (1)
Create document automatically (1)Create document automatically (1)
Create document automatically (1)
 
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명
 
Image 2 Torrent 발표자료
Image 2 Torrent 발표자료Image 2 Torrent 발표자료
Image 2 Torrent 발표자료
 
히포차트 통합 소개서
히포차트 통합 소개서히포차트 통합 소개서
히포차트 통합 소개서
 
How to build Design System?
How to build Design System?How to build Design System?
How to build Design System?
 
[E-commerce & Retail Day] 인공지능서비스 활용방안
[E-commerce & Retail Day] 인공지능서비스 활용방안[E-commerce & Retail Day] 인공지능서비스 활용방안
[E-commerce & Retail Day] 인공지능서비스 활용방안
 

Plus de 종빈 오

트위터 봇 개발 후기
트위터 봇 개발 후기트위터 봇 개발 후기
트위터 봇 개발 후기종빈 오
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0종빈 오
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)종빈 오
 
내가 본 미드 이야기
내가 본 미드 이야기내가 본 미드 이야기
내가 본 미드 이야기종빈 오
 
비트 경제와 공짜
비트 경제와 공짜비트 경제와 공짜
비트 경제와 공짜종빈 오
 
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해종빈 오
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스종빈 오
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개종빈 오
 
2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템종빈 오
 
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81종빈 오
 
[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments종빈 오
 
넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우종빈 오
 
[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합종빈 오
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개종빈 오
 
[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당종빈 오
 
[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary종빈 오
 
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬종빈 오
 
[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명종빈 오
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering종빈 오
 
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이종빈 오
 

Plus de 종빈 오 (20)

트위터 봇 개발 후기
트위터 봇 개발 후기트위터 봇 개발 후기
트위터 봇 개발 후기
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)
 
내가 본 미드 이야기
내가 본 미드 이야기내가 본 미드 이야기
내가 본 미드 이야기
 
비트 경제와 공짜
비트 경제와 공짜비트 경제와 공짜
비트 경제와 공짜
 
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개
 
2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템
 
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
 
[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments
 
넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우
 
[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개
 
[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당
 
[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary
 
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
 
[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering
 
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
 

Dernier

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 

Dernier (6)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

[GEG1] 2.the game asset pipeline

  • 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 필수 플랫폼에 맞는 최적화는 필수
  • 3. Asset 가공 pipeline을 살펴본다 COLLADA를 살짝 소개 intermediate asset format으로 제격
  • 4. Asset pipeline overview Asset pipeline design Push or pull pipeline model COLLADA Conclusion
  • 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
  • 11. Asset pipeline overview Asset pipeline design Push or pull pipeline model COLLADA Conclusion
  • 12. 게임 엔진 에디터 성격 view-only editing
  • 13. view-only 카메라 위치, 라이팅 조건 등 컨트롤을 가짐 asset 변경은 불가능. DCC에서만 변경할 수 있다 editing asset을 변경할 수 있어 빠른 반복이 가능 하지만 asset pipeline이 더 복잡해짐
  • 14. view-only와 editing 결합이 필요 모든 프로젝트를 만족하는 마법 같은 솔루션은 없다 source asset에 모든 정보가 있다는 것만 만족시키면 됨
  • 15. 왜 intermediate asset이 필요한가? source asset과 final asset 결합 제거 크로스 플랫폼 asset 생성이 쉽다
  • 16. source asset과 final asset 결합 제거 DCC에서 export할 때 final asset을 바로 만들면 엔진 변경에 의존하게 되어서 re-export가 빈번 프로그래머와 아티스트 작업 결합도 줄임 디버깅과 실험은 intermediate asset을 사용
  • 17. 크로스 플랫폼 asset 생성이 쉽다 intermediate asset 가공만 생각하면 된다
  • 18. Asset pipeline overview Asset pipeline design Push or pull pipeline model COLLADA Conclusion
  • 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
  • 22. Asset pipeline overview Asset pipeline design Push or pull pipeline model COLLADA Conclusion
  • 23. SIGGRAPH 2004에서 처음 소개 open standard 많은 DCC tool이 지원 3ds max, maya, google sketchup, … 많은 데이터 정의 지원 geometry, animation, skinning, morphing, physics, …
  • 24. <source id=“mesh-geometry-position”> <float_array id=“mesh1-geometry-position-array” count=“24”> 2518.1875 4074.512965 0. 2518.1875 0. … </float_array> <technique_common> <accessor source=“mesh1-geometry-position-array” count=“8” stride=“3”> <param name=“X” type=“float”/> <param name=“Y” type=“float”/> <param name=“Z” type=“float”/> </accessor> </technique_common> </source>
  • 25. intermediate asset format으로 추천 self-described data 많은 DCC tool에서 지원 이 용도로 쓰려고 만들어서 만들어진 게 많다 <library_xx>, <param>, URI technology, …
  • 26. Asset pipeline overview Asset pipeline design Push or pull pipeline model COLLADA Conclusion
  • 27. asset pipeline은 개발 backbone 안 되면 고쳐질 때까지 개발이 중지 source asset에 모든 정보가 있어야 함 source asset만 버전 컨트롤 수정된 사항을 잃어버리는 일이 없다
  • 28. 효율적인 개발을 위한 Fast Path 하나 확인 하려고 긴 빌드 프로세스를 기다려야 해? 아티스트가 하얗게 불태울 수 있도록 하자 COLLADA intermediate asset format으로 쓰려고 만들었다 왠만한 데이터는 다 기술되었음 많은 DCC tool에서 지원 쓰는 걸 적극 고려