A Study on 2D Skeletal structure for efficient 2D game development with Spine
-
Upload
acura-netics -
Category
Software
-
view
123 -
download
6
Transcript of A Study on 2D Skeletal structure for efficient 2D game development with Spine
2014 한국게임학회추계학술발표대회프로그래밍세션
효율적인 게임개발을위한 구조연구- 을중심으로
서강대학교게임교육원
김현우 임태우 안종찬 조원우 하서지 현지은 권순정
•
•
•
•
•
•
•
전통적인애니메이션리소스제작방식,
동일한크기의이미지를책장을넘기듯재생하여표현
전체부위를상황에따라나누어관리
애니메이션간보간이어색함
작업자에따라다양한각도표현가능 (탑뷰 / 쿼터뷰 / 사이드뷰)
투명값이지원되는 파일을스프라이트시트로사용
•
근래에대두되고있는리소스제작방식,
3D처럼이미지에본을심어키프레임애니메이션으로표현
각부위를파츠단위로끊어서관리
애니메이션간보간이자유로움
평면으로움직이기에쿼터뷰표현에어려움이있음
투명값이지원되는 파일을응용
•
•
•
파츠를불러와본을형성 형성된본을바탕으로애니메이션제작
•
•
•
버전정보및전체스프라이트크기명시
최상위 bone을기준으로전체 bone 데이터열거
역운동학(Inverse kinematic)으로지정할 bone이나열됨
bone과스킨을연결해주는매개 (포토샵의 Layer 개념)
•
화면에출력되는텍스쳐와충돌영역
특정타이밍에이벤트를발생시킬수있는지표
키프레임단위의애니메이션정보가저장
•
•
• 및텍스쳐로드후정보생성
• 얻어낸정보를토대로 로드
• 애니메이션콜백등록
• 데이터갱신
• 애니메이션갱신
• 데이터에애니메이션적용
• 및 데이터갱신
• 데이터에서드로우오더추출
• 드로우오더의개수만큼 을순회각 의 타입 등에따라서정점정보를취득
• 취득한정점들을 데이터를통해월드변환
• 구성된정점정보를바탕으로화상에그려냄
•
항목 함수이름 설명
사전정의
파일을읽어서바이너리데이터로반환한다
를바탕으로텍스쳐를불러온다 불러온텍스쳐는 의 에기록한다
불러온텍스쳐를해제한다
초기화
및텍스쳐를불러온다
데이터로부터 파일을읽기위해준비한다
파일을읽어온다
데이터로부터스켈레톤을구성한다
애니메이션을구성한다
갱신
시간변화량에따라스켈레톤데이터를갱신한다
시간변화량에따라애니메이션을갱신 적용한다
갱신된애니메이션 상태에따라 의 와 및행렬을갱신한다
그리기의 및행렬값에따라
각정점들의최종월드좌표및 인덱스를구한다
애니메이션재생할애니메이션을설정한다
현재애니메이션과다음에재생될애니메이션을보간한다
•
테스트방법 가지애니메이션이든오브젝트를 개부터 개까지순차적으로불러온뒤수치비교
비교항목 메모리사용량 초기화시간 평균
테스트환경
텍스쳐형식
•
최대 배 평균 배차이 최대 배 평균 배차이큰차이없음
다만리소스제작시간에서차이발생
• 의내부구조는 와흡사
• 스프라이트방식과의비교하였을때
평균적으로메모리점유율에서 배 초기화시간에서 배의효율을확인
• 고프레임의리소스를제작하는데도이점을가짐
• 향후에는 와 를이용하는유사기술을연구할계획