Spine은 무엇인가요?

Spine은 게임에서 사용하는 2D 애니메이션에 특화된 애니메이션 툴입니다. Spine은 애니메이션을 만들고 그 애니메이션을 게임에 사용할 수 있도록 효율적이고 부드러운 작업을 목표로 합니다.

장점

Spine의 애니메이션은 이미지를 뼈에 부착시키고 그 뼈를 움직여서 만듭니다. 이는 뼈대식 또는 컷아웃 애니메이션이라고 불리며 기존의 프레임 바이 프레임 방식의 애니메이션에 비해 많은 장점이 있습니다:

  • 작은 용량 기존 애니메이션은 애니메이션의 각 프레임마다 이미지가 필요합니다. Spine 애니메이션은 용량이 매우 작은 뼈대 데이터만을 저장하며 이는 독특한 애니메이션이 많이 있는 게임을 만들 수 있도록 해줍니다.

  • 그림 파일 요구량 Spine 애니메이션은 필요한 그림 파일이 훨씬 적기 때문에 게임에 들어가는 시간과 비용을 현저히 줄일 수 있습니다.

  • 부드러움 Spine 애니메이션은 보간법을 사용하기 때문에 항상 프레임 속도에 맞춰 부드럽습니다. 애니메이션은 품질의 저하 없이 슬로우 모션으로 재생할 수 있습니다.

  • 어태치먼트 뼈에 붙은 이미지를 다른 아이템과 효과에 어울리도록 바꿀 수 있습니다. 다르게 생긴 캐릭터에도 애니메이션을 다시 사용할 수 있어 소중한 시간을 아낄 수 있습니다.

  • 믹싱 애니메이션을 서로 블렌딩할 수 있습니다. 예를 들어 캐릭터는 걷거나 뛰면서, 또는 수영을 하면서 사격을 할 수 있습니다. 한 애니메이션에서 다른 애니메이션으로 바꿀 때 부드럽게 크로스페이드할 수 있습니다.

  • 자연스러운 애니메이션 코드를 통해 뼈를 다룰 수 있어 마우스가 있는 곳으로 사격을 하거나 근처에 있는 적을 향해 움직일 수 있으며 언덕을 오를 때 앞으로 기울일 수 있습니다.

특징

도프시트

도프시트는 애니메이팅에 있어 핵심이라고 할 수 있습니다. 도프시트는 애니메이션을 구성하는 모든 타임라인을 자세하게 보여주며 이를 통해 애니메이션의 타이밍을 정교하게 조정할 수 있습니다.

도프시트

그래프 에디터

그래프 에디터는 키 사이의 보간을 위한 베지어 곡선을 정하여 실제 움직임처럼 생동감 있게 만들어줍니다.

그래프 에디터

IK(Inverse Kinematics)

IK를 사용하여 제약조건을 정할 수 있으며 포즈 툴은 IK를 활용하여 간단하게 뼈대를 포징합니다.

IK 포징

스킨

스킨은 어태치먼트 세트들 간에 전환을 할 수 있도록 해줍니다. 스킨은 어태치먼트의 조직을 제공하며, 어태치먼트를 변경하는 애니메이션을 다른 캐릭터에도 다시 사용할 수 있도록 합니다.

스킨

경계 상자

경계 상자는 뼈에 붙어있는 다각형입니다. 이미지와 같이 이 다각형은 뼈의 움직임을 따릅니다. 이는 히트 판정과 물리학을 융합시키는 데 사용됩니다.

경계

메쉬

직사각형을 그리는 대신 메쉬를 통해 이미지 안의 다각형을 구체화할 수 있습니다. 다각형 외부의 픽셀은 그리지 않기 때문에 채우는 비율을 높일 수 있으며 이는 모바일 게임에서 특히 중요한 점입니다. 메쉬는 또한 FFD와 스키닝도 할 수 있습니다.

메쉬

FFD

FFD(Free-Form Deformation)는 개별 메쉬 정점을 움직여 이미지를 변형시킵니다. FFD는 메쉬를 늘리고 찌그리고, 굽히고 직사각형 이미지를 사용할 때는 불가능했던 방향으로 통통 튈 수 있도록 합니다.

FFD

무게

무게(종종 "스키닝"으로 불림)는 메쉬의 개별 정점이 다른 뼈에 붙을 수 있도록 합니다. 뼈가 움직일 때 정점은 뼈와 함께 움직이며 메쉬는 자동으로 변형됩니다. 굽혀지는 이미지를 가진 캐릭터를 포징하는 것은 뼈를 포지셔닝하는 것처럼 쉬워집니다.

포맷 내보내기

Spine은 애니메이션 데이터를 문서로 된 자체 JSON, 바이너리 포맷으로 내보내며 이는 Spine 런타임과 함께 사용하는 데 가장 좋습니다. Spine은 도한 동영상으로 된 GIF, PNG, JPEG 이미지 시퀀스, AVI 또는 QuickTime 동영상으로도 내보낼 수 있습니다.

포맷 내보내기

가져오기

Spine은 JSON 또는 바이너리 포맷으로 데이터를 가져올 수 있으며 이는 경로를 통해 다른 툴에서 Spine으로 데이터를 가져옵니다. 뼈대와 애니메이션을 다른 프로젝트 파일에서 가져올 수도 있습니다.

가져오기

텍스처 패커

Spine은 텍스처 아틀라스 또는 스프라이트시트로 이미지를 패킹할 수 있으며 이는 게임에서 더욱 효율적인 렌더링으로 나타납니다. Spine의 텍스처 패커는 화이트 스페이스 스트리핑, 회전, 자동 크기 조정 등 많은 기능을 가지고 있습니다.

텍스처 패커

런타임

멋진 애니메이션을 디자인하는 것도 중요하지만 디자인한 애니메이션을 게임 상에서 렌더링하는 것도 중요합니다. Spine 런타임은 일종의 라이브러리로써 게임 툴킷을 불러와 Spine에서 작업하듯이 게임 상에서 애니메이션을 렌더링할 수 있도록 해줍니다.

Spine 런타임은 공식적으로 19가지 게임 툴킷과 7가지 프로그래밍 언어를 지원합니다. 또한 40가지 이상의 제 3자 런타임도 이용할 수 있습니다. Spine 런타임에서 더 많은 정보를 보세요.

개발

Spine은 아직도 개발 중입니다. 저희는 매주 여러 가지 새로운 릴리즈를 내놓습니다. 저희의 세부적인 진행 상황을 변경로그에서 보실 수 있습니다. 로드맵에서의 저희 계획은 Spine Waffle에서 보다 큰 관점에서 보실 수 있습니다. Waffle에서 투표를 하고 의견을 남기실 수 있을 뿐만 아니라 구독하여 완료 시 이메일을 받아 볼 수 있습니다.

저희는 계속해서 새로운 기능을 시도하고 있으며 소프트웨어의 모든 면을 꾸준히 갈고 닦고 있습니다. 이때 사용자의 피드백이 즉각적으로 반영되는 경우가 종종 있습니다. 저희는 프로그램이 잘 작동하는지 사용자의 이야기를 듣고 싶습니다. Spine 포럼에서 여러분의 생각을 들려주세요!