19
2014 한국게임학회 추계학술발표대회 프로그래밍 세션 효율적인 게임 개발을 위한 구조 연구 - 을 중심으로 서강대학교 게임교육원 김현우 임태우 안종찬 조원우 하서지 현지은 권순정

A Study on 2D Skeletal structure for efficient 2D game development with Spine

Embed Size (px)

Citation preview

Page 1: A Study on 2D Skeletal structure for efficient 2D game development with Spine

2014 한국게임학회추계학술발표대회프로그래밍세션

효율적인 게임개발을위한 구조연구- 을중심으로

서강대학교게임교육원

김현우 임태우 안종찬 조원우 하서지 현지은 권순정

Page 2: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 3: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 4: A Study on 2D Skeletal structure for efficient 2D game development with Spine

전통적인애니메이션리소스제작방식,

동일한크기의이미지를책장을넘기듯재생하여표현

전체부위를상황에따라나누어관리

애니메이션간보간이어색함

작업자에따라다양한각도표현가능 (탑뷰 / 쿼터뷰 / 사이드뷰)

투명값이지원되는 파일을스프라이트시트로사용

Page 5: A Study on 2D Skeletal structure for efficient 2D game development with Spine

근래에대두되고있는리소스제작방식,

3D처럼이미지에본을심어키프레임애니메이션으로표현

각부위를파츠단위로끊어서관리

애니메이션간보간이자유로움

평면으로움직이기에쿼터뷰표현에어려움이있음

투명값이지원되는 파일을응용

Page 6: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 7: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 8: A Study on 2D Skeletal structure for efficient 2D game development with Spine

파츠를불러와본을형성 형성된본을바탕으로애니메이션제작

Page 9: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 10: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 11: A Study on 2D Skeletal structure for efficient 2D game development with Spine

버전정보및전체스프라이트크기명시

최상위 bone을기준으로전체 bone 데이터열거

역운동학(Inverse kinematic)으로지정할 bone이나열됨

bone과스킨을연결해주는매개 (포토샵의 Layer 개념)

Page 12: A Study on 2D Skeletal structure for efficient 2D game development with Spine

화면에출력되는텍스쳐와충돌영역

특정타이밍에이벤트를발생시킬수있는지표

키프레임단위의애니메이션정보가저장

Page 13: A Study on 2D Skeletal structure for efficient 2D game development with Spine

Page 14: A Study on 2D Skeletal structure for efficient 2D game development with Spine

• 및텍스쳐로드후정보생성

• 얻어낸정보를토대로 로드

• 애니메이션콜백등록

• 데이터갱신

• 애니메이션갱신

• 데이터에애니메이션적용

• 및 데이터갱신

• 데이터에서드로우오더추출

• 드로우오더의개수만큼 을순회각 의 타입 등에따라서정점정보를취득

• 취득한정점들을 데이터를통해월드변환

• 구성된정점정보를바탕으로화상에그려냄

Page 15: A Study on 2D Skeletal structure for efficient 2D game development with Spine

항목 함수이름 설명

사전정의

파일을읽어서바이너리데이터로반환한다

를바탕으로텍스쳐를불러온다 불러온텍스쳐는 의 에기록한다

불러온텍스쳐를해제한다

초기화

및텍스쳐를불러온다

데이터로부터 파일을읽기위해준비한다

파일을읽어온다

데이터로부터스켈레톤을구성한다

애니메이션을구성한다

갱신

시간변화량에따라스켈레톤데이터를갱신한다

시간변화량에따라애니메이션을갱신 적용한다

갱신된애니메이션 상태에따라 의 와 및행렬을갱신한다

그리기의 및행렬값에따라

각정점들의최종월드좌표및 인덱스를구한다

애니메이션재생할애니메이션을설정한다

현재애니메이션과다음에재생될애니메이션을보간한다

Page 16: A Study on 2D Skeletal structure for efficient 2D game development with Spine

테스트방법 가지애니메이션이든오브젝트를 개부터 개까지순차적으로불러온뒤수치비교

비교항목 메모리사용량 초기화시간 평균

테스트환경

텍스쳐형식

Page 17: A Study on 2D Skeletal structure for efficient 2D game development with Spine

최대 배 평균 배차이 최대 배 평균 배차이큰차이없음

다만리소스제작시간에서차이발생

Page 18: A Study on 2D Skeletal structure for efficient 2D game development with Spine

• 의내부구조는 와흡사

• 스프라이트방식과의비교하였을때

평균적으로메모리점유율에서 배 초기화시간에서 배의효율을확인

• 고프레임의리소스를제작하는데도이점을가짐

• 향후에는 와 를이용하는유사기술을연구할계획

Page 19: A Study on 2D Skeletal structure for efficient 2D game development with Spine