Spine은 무엇인가요?
Spine은 게임에서 사용하는 2D 애니메이션에 특화된 애니메이션 툴입니다. Spine은 애니메이션을 만들고 그 애니메이션을 게임에 사용할 수 있도록 효율적이고 부드러운 작업을 목표로 합니다.
장점
Spine의 애니메이션은 이미지를 뼈에 부착시키고 그 뼈를 움직여서 만듭니다. 이는 뼈대식 또는 컷아웃 애니메이션이라고 불리며 기존의 프레임 바이 프레임 방식의 애니메이션에 비해 많은 장점이 있습니다:
-
작은 용량 기존 애니메이션은 애니메이션의 각 프레임마다 이미지가 필요합니다. Spine 애니메이션은 용량이 매우 작은 뼈대 데이터만을 저장하며 이는 독특한 애니메이션이 많이 있는 게임을 만들 수 있도록 해줍니다.
-
그림 파일 요구량 Spine 애니메이션은 필요한 그림 파일이 훨씬 적기 때문에 게임에 들어가는 시간과 비용을 현저히 줄일 수 있습니다.
-
부드러움 Spine 애니메이션은 보간법을 사용하기 때문에 항상 프레임 속도에 맞춰 부드럽습니다. 애니메이션은 품질의 저하 없이 슬로우 모션으로 재생할 수 있습니다.
-
어태치먼트 뼈에 붙은 이미지를 다른 아이템과 효과에 어울리도록 바꿀 수 있습니다. 다르게 생긴 캐릭터에도 애니메이션을 다시 사용할 수 있어 소중한 시간을 아낄 수 있습니다.
-
믹싱 애니메이션을 서로 블렌딩할 수 있습니다. 예를 들어 캐릭터는 걷거나 뛰면서, 또는 수영을 하면서 사격을 할 수 있습니다. 한 애니메이션에서 다른 애니메이션으로 바꿀 때 부드럽게 크로스페이드할 수 있습니다.
-
자연스러운 애니메이션 코드를 통해 뼈를 다룰 수 있어 마우스가 있는 곳으로 사격을 하거나 근처에 있는 적을 향해 움직일 수 있으며 언덕을 오를 때 앞으로 기울일 수 있습니다.
특징
도프시트
도프시트는 애니메이팅에 있어 핵심이라고 할 수 있습니다. 도프시트는 애니메이션을 구성하는 모든 타임라인을 자세하게 보여주며 이를 통해 애니메이션의 타이밍을 정교하게 조정할 수 있습니다.
그래프 에디터
그래프 에디터는 키 사이의 보간을 위한 베지어 곡선을 정하여 실제 움직임처럼 생동감 있게 만들어줍니다.
IK(Inverse Kinematics)
IK를 사용하여 제약조건을 정할 수 있으며 포즈 툴은 IK를 활용하여 간단하게 뼈대를 포징합니다.
스킨
스킨은 어태치먼트 세트들 간에 전환을 할 수 있도록 해줍니다. 스킨은 어태치먼트의 조직을 제공하며, 어태치먼트를 변경하는 애니메이션을 다른 캐릭터에도 다시 사용할 수 있도록 합니다.
경계 상자
경계 상자는 뼈에 붙어있는 다각형입니다. 이미지와 같이 이 다각형은 뼈의 움직임을 따릅니다. 이는 히트 판정과 물리학을 융합시키는 데 사용됩니다.
메쉬
직사각형을 그리는 대신 메쉬를 통해 이미지 안의 다각형을 구체화할 수 있습니다. 다각형 외부의 픽셀은 그리지 않기 때문에 채우는 비율을 높일 수 있으며 이는 모바일 게임에서 특히 중요한 점입니다. 메쉬는 또한 FFD와 스키닝도 할 수 있습니다.
FFD
FFD(Free-Form Deformation)는 개별 메쉬 정점을 움직여 이미지를 변형시킵니다. 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 Roadmap에서 보다 큰 관점에서 보실 수 있습니다. 에서 투표를 하고 의견을 남기실 수 있을 뿐만 아니라 구독하여 완료 시 이메일을 받아 볼 수 있습니다.
저희는 계속해서 새로운 기능을 시도하고 있으며 소프트웨어의 모든 면을 꾸준히 갈고 닦고 있습니다. 이때 사용자의 피드백이 즉각적으로 반영되는 경우가 종종 있습니다. 저희는 프로그램이 잘 작동하는지 사용자의 이야기를 듣고 싶습니다. Spine 포럼에서 여러분의 생각을 들려주세요!