#gdc11 #review Automated Level of Detail Generation for HALO: REACH

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-00.jpg

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-01.jpg

  • 에셋이 정말 많을 텐데, 자동으로 만들어 주는 건 필수
  • 직접 LOD를 만질 방법을 제공

마음에 드는 디버깅 기능

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-02.jpg

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-03.jpg

  • 카메라 컨트롤을 디버깅 카메라에 붙임
  • LOD 테스트용으로 아주 적격
  • 필수라는 생각도 든다
  • 항상 구현해보고 싶었는데, 뒤로 밀렸던 기능
  • culling 테스트로도 제격이겠구나

메시 뿐만 아니라 material, shading도 변경

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-04.jpg

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-05.jpg

  • per-vertex lighting
    • pixel도 작아져서 pixel lighting을 해도 상관없으나 가장 큰 이점은 텍스쳐 샘플링을 안 한다는 점

mesh simplification

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-06.jpg

  • 6방향으로 depth를 찍고 voxel hull을 만든 후 low-pass filtering.
  • 그 후 triangle mesh를 만들고 난 뒤 DX Progressive Mesh API로 메시 단순화.
  • 메시를 어떻게 조물딱거릴 생각을 안 하고 새로 메시를 만들어버린다.

why voxelize?

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-07.jpg

  • 좋은 선택 같다.
  • 조그만 feature를 빠져 먹는 게 단점이라고 했는데, 사실 멀어서 제대로 보이지도 않음.
    • 조그만 녀석이라잖아

자동으로 스키닝 맞추기

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-08.jpg

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-09.jpg

  • 가장 지배적인 본에다가 weight를 1.0으로 줘버리고 single bone animation
    • 본을 제거하진 않는 것 같다.
    • 없애면 이리저리 처리가 골치 아파질 듯
  • 저장 공간이 늘지만, 저 정도 공간과 성능 향상을 바꿀 수 있다면 무조건 해야겠다.
  • 반투명을 약점이라 표현했지만 사실 표현할 필요도 없음

material simplification

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-10.jpg

  • DX Progressive Mesh를 만들 때 weight function으로 material parameter 사용

환경 오브젝트 임포스터

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-11.jpg

/pnotes/assets/2016-08-16-gdc11-automated-level-of-detail-generation-for-halo-reach-11.jpg

  • 셰이딩을 임포스터에 구워버린다
    • 움직이지 않고 빛이 고정인 오브젝트
  • bake lighting into per-vertex directly
    • 버텍스에 라이팅 정보를 넣는다는 뜻인 거 같다
    • 이걸로 per-vertex lighting을 수행
    • 라이트가 변경되는 오브젝트에서

발표


크리에이티브 커먼즈 라이선스
Feedback plz <3 @ohyecloudy, ohyecloudy@gmail.com
|