본문 바로가기
게임 개발/[D2D_Portfolio] DirectX2D 포트폴리오 작업일지

63. 스파인 2D 이벤트 처리 & 보스 애니메이션 작업

by 헛둘이 2023. 6. 8.

스파인 2D 이벤트 처리

- 스파인 2D에서는 각 애니메이션의 시작, 종료 등의 시점에 콜백 함수를 호출해서 이벤트를 처리할 수 있다.

- 예를 들어 보스 몬스터가 등장하는 애니메이션이 시작될 때, 각종 효과를 주거나 하는 식의 구현이 가능하다.

- 이벤트 처리에 관한 구현은 아래 링크에 잘 나와있어서 만드는 데 수월했다

http://ko.esotericsoftware.com/spine-cpp

 

spine-cpp Runtime Documentation

Licensing Please see the Spine Runtimes License before integrating the Spine Runtimes into your applications. spine-cpp is a generic runtime for integrating Spine animations in game engines and frameworks written in languages that can natively interface wi

ko.esotericsoftware.com

- 보스가 등장하고 울부짖는 애니메이션이 호출되는데, 이때 포스트프로세싱이나 위에서 돌이 떨어지는 등의 효과를 구현하는 식으로 구현했다.

- 보스 등장 시 여러 애니메이션을 이어서 호출되는데 이 부분도 사용하기 편리하게 되어 있었다.

- 애니메이션을 연쇄적으로 실행할 수 있도록 AddAnimation이라는 함수를 제공하고 있고 이 함수로 애니메이션을 추가할 때 이전 애니메이션 실행 후 몇초 후에 이 애니메이션을 실행하는지, 반복(loop)으로 실행할것인지 등을 인자로 받고 있다.

- 많은 부분 기존의 애니메이션 시스템과 비슷한 점이 많아서 필요한 부분만 래핑해서 사용할 예정이다

(현재 포트폴리오에서 스파인2D를 사용하는 몬스터가 3챕터 보스 몬스터 하나 뿐이다보니...)

 

보스 애니메이션 작업

- 보스 idle 작업까지 완료했는데, 순서는 아래와 같다

Appear -> Roar_Start -> Roar -> Roar_Loop(2초간) -> Roar_Start -> Roar -> Roar_Loop(2초간) -> Idle

- 그래서 총 4개의 애니메이션을 작업했는데 Roar에 이렇게 디테일하게 애니메이션을 준 이유는, 이렇게 안하면 퀄리티가 너무 떨어지기 때문이다.

- Pro버전이 아니다보니 각각의 이미지들이 따로 노는 듯한 느낌을 줄 때가 있는데, 애니메이션마저 대충 만들어버리면 스파인을 안쓴것만 못한 상황이 우려되어 원작의 느낌을 최대한 살려 애니메이션이 빈틈없이 이어지도록 구성했다.

- 원작에서는 보스몬스터도 아닌 엘리트몬스터급도 Attack_Ready, Attack_Start, Attack, Attack_End 등등으로 빼곡한 애니메이션을 구현한 것처럼 나도 뭔가 정성이 듬뿍 들어간 포트폴리오를 만들고 싶다.

 

내일 할 일

- 보스 애니메이션 이어서 작업 (완성을 목표로)

- 보스 패턴 구현 및 보스와 상호작용

 

댓글