Skeletal LoD in bone-based animation ANIMATION LOD Skeletal LoD in bone-based animation
Table of Contents LOD Introduction Project Constraints Client Requirements Background Study Program Architecture Evaluation Metric Project Schedule Work Distribution
L.O.D
Decreasing the complexity of a 3D object representation 69451 pol. 2502 pol. 251 pol. 76 pol. Distance Decreasing the complexity of a 3D object representation as it moves away from the viewer or according other metrics such as object importance, eye-space speed or position. - wikipedia
Purpose many faces = too many computation = low performance = disaster Make it fast, but preserve design quality
Usage Geometric detail, Character detail, All other objects
Project B
Problems Too many objects appear in online game Why do we have to draw all the objects with full detail? Until now, designers provide LOD manually It is a waste of human resource
Objectives Level of Detail to a human character Best performance 64000 : 13226 Level of Detail to a human character Best performance for the closest quality
Project Constraints Microsoft Windows XP (Professional Version 2002 SP3) CPU : Intel(R) Pentium(R) 4 @ 2.80GHz RAM : 512MB Graphic card : Intel(R) 82865G
Project Constraints Target model: 177 bones 6 different animations
Client Requirements Provide the LODed animation of a given animation model Less work for designer As accurate as the original
Background Study MTR – Skeletal LOD
Background Study Skeleton LOD Given a distance, calculate the importance value For each bone, its own importance value is assigned from beginning Every bone that has less importance value are merged with its parent
Background Study .model file – base structure Matrix Vertex Mesh Skeleton Animation Model Information
Background Study Animation Rendering Method Read ModelInfo from file. Construct Model with meshes and skeleton. Update frame matrix Calculate current animation frame number using elapsed time. If the bone has parent, then multiply with parent’s matrix. Multiply skeleton’s matrix with the frame matrix. Render the model with vertices, current matrices and texture.
Program Architecture
Evaluation Metric 평가 항목 평가 방법 목표 상세 비중 기초 연구 Model Viewer ModelViewer을 컴파일 및 분석해 이해 하였는가? 제공된 ModelViewer를 컴파일하고 분석해 .model 파일을 이해하기 위한 토대를 마련한다. 3 파일구조 이해 .model 파일 구조를 이해하였는가? .model 파일을 분석해 구조를 이해한다. File structure table을 만든다. 2 .model 파일 입출력 모듈을 구현하였는가? .model 파일을 읽고 쓰기 가능한 모듈을 제작한다. C++로 모듈을 제작해 사용한다. 알고리즘 분석 알고리즘을 구체화했는가? 기존 Animation LOD 알고리즘을 분석하고 적합한 알고리즘을 선택 혹은 개발한다. MTR, Skeleton LOD 등 참고
Evaluation Metric 구현 Animation LOD Animation LOD 프로그램을 구현하였는가? 위에서 선택 또는 개발한 알고리즘을 이용해 Animation LOD를 생성해주는 프로그램을 구현한다. 20 Retargeting Animation LOD와 mesh가 다시 매핑되는가? 만들어진 Animation LOD를 기존 model의 mesh와 다시 매핑을 한다. 문서화 주석 처리가 잘 되어 있는가? 주석 처리 및 중간 과정 정리를 통해 프로젝트 후 재사용성을 높인다. 블로그를 생성해 AllM과의 논의 내용을 비롯해 중간 과정을 정리한다. 10 사용 및 검색된 기술 및 중간 과정을 기록하였는가?
Evaluation Metric 품질 평가 Animation LOD 품질 결과로 출력된 LOD의 품질은? 결과로 출력된 측정한다. 각 Frame별로 원본 Model의 bone에 의해 위치가 결정된 vertices와 수정된 bone에 의해 위치가 결정된 vertices의 거리 차이의 합을 frame별로 계산해 품질을 수치화 한다. 40
Schedule
LOD Algorithm Developement Work Distribution Load from file 이성원 Renderer Data structure 황현오 Performance checker 김청림 LOD Issue Scheduling Team Management Algorithm comparison & Analysis LOD Algorithm Developement Documentaion Research
프로젝트 B팀 김청림, 이성원, 황현오 THANK YOU!