Spine

덤프버전 :

파일:다른 뜻 아이콘.svg
스파인은(는) 여기로 연결됩니다.
척추동물의 뼈에 대한 내용은 척추 문서
척추번 문단을
척추# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.





그래픽 툴

[ 2D ]
{{{#!wiki style="display:inline-block; min-width:25%"
[ 3D ]
{{{#!wiki style="display:inline-block; min-width:25%">
[ 영상 ]
B PC·모바일 공동 지원 · Μ 모바일 전용 · Ο 오픈 소스 · F 프리웨어 · $ 유·무료 공존/부분유료 · C 컬러 매니지먼트 시스템 · Χ 단종


1. 개요
2. 특징
3. 버전별 추가된 기능
3.1. 3.x 버전 중반 이후
3.2. 3.6 버전 이후
3.3. 3.8.79
3.4. 4.0
4. 평가
4.1. 장점
4.2. 단점
5. 관련 링크
6. Spine을 활용해 제작된 게임


1. 개요[편집]


파일:spine_logo.png
Esoteric Software에서 만든 2D 스켈레탈 애니메이션 제작 프로그램.


2. 특징[편집]


처음엔 킥스타터 펀딩으로 개발 자금을 모아 시작된 프로젝트로써, 창업자인 Nathan Sweet[1]가 다른 애니메이션 툴들을 써보면서 전부 어딘가 한 군데씩 불편한 점이 있다는 것을 깨닫고 직접 툴을 만들기로 결심한 것이 계기라고 한다. 성공적으로 펀딩이 종료되고 Spine을 판매 개시한 뒤 세운 회사가 Esoteric Software로서, 사무실은 워싱턴에 있다(라고는 해도 구글 맵으로 검색해보면 주택가가 나온다. 업계의 인지도와는 다르게, 여전히 소수의 인원이 가내 수공업 형식으로 개발하고 있는 듯).

기본적으로 본(bone, 뼈)과 폴리곤 메쉬를 사용한 리깅(Spine 내에서는 웨이트 weights라고 부른다)이 주가 되는, 2D이지만 기본 원리는 3D와 같은 방식의 애니메이션 툴로서, 3D 모델링을 2D의 평면적인 요소로 극도로 단순화시켰다고 볼 수 있는 형태. 본을 사용하지 않고 이미지를 여러장 돌려가며 사용하는 시퀀스 애니메이션도 가능[2]하며, 본의 종속관계를 이용해 관절을 만들고 이 관절에 폴리곤 메쉬를 씌워 리깅을 할 수 있다. 메쉬는 물론 단독으로 버텍스를 움직여 FFD 애니메이션을 줄 수도 있으나, 작업량이 많아지는 관계로 보통은 리깅 작업을 해서 큰 동작을 만들고 이후에 세세하게 FFD로 어색한 부분을 보완하는 식으로 작업하는 것이 효과적이다. 이런 특성 덕분에 이미 3D 로우 폴리곤 모델링을 경험해 본 사람이라면 작업하기가 더욱 쉬워지지만, 완전 초보라도 해도 인터페이스를 숙지하는 데에는 전혀 문제가 없을 정도로 간단하다.

적극적인 게임 엔진 및 플랫폼 지원으로 2D 그래픽의 게임을 제작하는 게임 회사에서는 표준적인 2D 스켈레탈 애니메이션 툴로 활용되고 있다. 유저들이 보통 Live2D라고 부르는 부드러운 일러스트 애니메이션이 들어가 있는 게임은, 대다수가 실제로는 Live2D가 아니라 Spine을 써서 제작된 경우가 많다. 물론 아직 Live2D를 사용한 경우도 있고 아예 이 두 프로그램을 쓰지 않고 자체 구현한 사례도 존재하기는 하나[3], 현재 업계에서 상용화된 상당수의 게임들이 Spine을 사용하고 있는 추세.

보통은 2D 게임 그래픽에 많이 쓰이나, TV 애니메이션 제작에도 사용되는 등 게임 외의 분야에도 쓰임새가 넓어지고 있다. 이 때문인지는 몰라도 과거엔 'Spine 2D'라는 상표를 사용하고 있었으나 현재는 '2D'를 빼버리고 그냥 'Spine'이라는 명칭을 사용하고 있다.


3. 버전별 추가된 기능[편집]



3.1. 3.x 버전 중반 이후[편집]


유저들의 요청이 많았던 고급 기능들이 하나둘씩 추가되고 있다. 최근에 추가된 기능들 중 가장 실제 작업에 큰 영향을 끼친 것은 패스와 마스킹이다. 패스는 곡선 형태를 가진 오브젝트의 애니메이션이나 곡선으로 움직이는 궤도를 만드는 데에 굉장히 유용하며, 마스킹(Spine 내에서는 클리핑 clipping이라고 부른다)은 아직 불완전한 부분이 있으나 복잡한 구조의 애니메이션에서 원하는 부분을 보이지 않게 감추는 데에 유용하다.


3.2. 3.6 버전 이후[편집]


Spine이 제공하는 대표적인 기능들을 열거하면 다음과 같다.
  • 본과 종속관계를 이용한 관절 애니메이션
  • IK 기능 : 특정 좌표를 기준으로 관절 애니메이션에 지면을 딛는 등의 제약 조건을 부여할 수 있음
  • 스킨 기능 : 관절 애니메이션의 이미지 세트를 지정하여 원하는 타이밍에 스킨을 간단히 변경 가능
  • 메쉬, FFD, 웨이트 리깅 기능 : 리얼하게 느껴지는 유사 3D 표현이 가능
  • 이벤트 키 지정 : 애니메이션 중 특정 시점에 임의의 처리를 하고 싶은 경우 프로그램에서 해당 시간을 알아낼 수 있는 이벤트 키를 삽입할 수 있음
  • 링크드 메쉬 기능 : 메쉬 FFD 애니메이션이 적용된 오브젝트의 텍스처 교체
  • 패스 : 곡선 형태의 오브젝트나 곡선으로 움직이는 궤도를 만들 수 있음
  • 바운딩 박스 : 애니메이션에 충돌 영역 판정을 위한 다각형 설정 가능
  • 고스팅 : 애니메이션 중 임의의 전후 프레임 시점의 형태를 반투명으로 표시하여 새로운 동작을 디자인할 때 마치 밑에 투명 종이를 깔아놓고 작업하는 것처럼 수월하게 할 수 있음
  • 애니메이션 데이터의 익스포트 : 바이너리 / JSON 데이터, 애니메이션 GIF / JPG / 시퀀스 png 출력, AVI / MOV 동영상 저장


3.3. 3.8.79[편집]


  • IK 제약조건의 소프트 할당
  • 스킨에 본 적용 : 키가 작고 큰 캐릭터 두 개를 한 루트에서 작업하여도 스킨을 이용해 팔 다리 등의 본만 따로 변경이 가능
  • 스파인 런처 기능 개선 : 프로그램 실행시 어떤 버전을 실행할 것인지 선택 가능. 이외에도 다른 작업물이나 로그, 도움말 등을 런처에서 확인하는 기능도 있다
  • 애니메이션 탭 : 폴더 추가 및 관리
  • 메쉬 기능 강화 : 메쉬 수정시 이미지를 어둡게 하거나 폴리곤 뷰 온오프, 자동 메시 정점 할당 기능(이미지를 분석하여 자동으로 메쉬를 쪼개 줌)
  • 파일 내보내기 : 스킨의 연속 내보내기 가능


3.4. 4.0[편집]


  • 그래프 커브 에디터 : 타임라인 상에서 그래프를 확인하고 베지어 곡선을 이용해 편집이 가능해짐
  • 64비트 지원 : 메모리 활용 최적화, 퍼포먼스 향상
  • HiDPI 지원 : 고해상도 디스플레이에서 인터페이스 배율 설정을 100% 이상으로 지정했을 때 깔끔한 UI를 보여줌
  • 리니어, 감마 워크플로우
  • 런처 기능개선 : 기동 전에 버전, 언어를 설정 가능. 버전 확인 서버를 자동으로 지정(로딩 시간 단축 및 서버 에러시 타 서버로 자동 연결 등)


4. 평가[편집]



4.1. 장점[편집]


Spine이 업계에 알려지기 시작한 것은 2010년대 중반 정도부터인데, 엇비슷한 시기에 이미 Live2D 같은 것도 등장한 상태였고 비슷한 기능을 제공하는 툴들도 동 시기에 이미 다양하게 공개되고 있었기 때문에, 기능이 매우 특출나게 좋아서 유명해진 것은 아니다. Spine의 가장 큰 장점은 간결하고 배우기 쉬운 인터페이스와, 개발진들의 빠른 소통 및 기능 개선에 있다고 볼 수 있다.

전체적 인터페이스의 뼈대는 2022년 4.1 버전에 이르기까지 거의 바뀐 것이 없다. 그만큼 다양한 기능들을 직관적으로 쓰기 편하게 잘 배치해냈다고 볼 수 있다.

작은 회사로 소수의 인원으로 개발 및 지원을 행하고 있으나, 기능 추가 등의 업그레이드 및 성능 개선, 그리고 유저들로부터의 문의나 버그 리포트 등에 상당히 빠르고 성실하게 대응하고 있는 부분도 Spine의 큰 장점이라 볼 수 있다.


4.2. 단점[편집]


아이러니하게도, 가장 큰 단점도 역시 심플한 UI를 꼽을 수 있다. Spine의 심플한 인터페이스는 분명히 배우기 쉽고 기능을 찾는 것도 간단해 입문자들이 처음 배우기에는 매우 훌륭하지만, 어느 정도 기능에 익숙해지고 난 뒤 빠르고 효율적으로 작업하는 데에는 불편한 점이 적지 않다. 특히 전체 애니메이션의 거의 대부분의 요소를 Tree 윈도우 하나에 몰아넣고 있기 때문에, 실제 작업시에는 Tree 윈도우의 위아래를 그야말로 쉴새없이 움직여 다니면서 원하는 부분을 찾아야 한다. 하다못해 Draw Order나 Constraint 등의 완전히 부가적인 부분은 별도의 윈도우로 빼 주었다면 좀더 작업 편의성이 향상될 수 있었을 것이다.

특히 애니메이션 안에 스켈레톤을 여러 개 넣었다면 이 복잡함은 더욱 배가되는데, 윗쪽 스켈레톤의 드로우 오더 조정하려다가 다른 스켈레톤을 건드린다든지, 화면에서 1번 스켈레톤의 애니메이션을 한참 수정하다가 클릭 한번 잘못해서 한참 아래쪽 스켈레톤으로 휙 날아가 버리거나 하면 수정하던 부분을 찾아서 다시 돌아오는게 보통 일이 아니다.[4] 이 Tree 윈도우의 가독성 및 레이아웃은 Spine의 편의성과 생산성을 떨어뜨리는 가장 큰 원인이다.

이런 경직된 레이아웃과 더불어 UI의 불편함을 야기하는 요소는 플로팅 처리가 되지 않는 윈도우들을 꼽을 수 있다. Adobe의 포토샵 등을 보면 원하는 툴이나 정보 윈도우를 다른 윈도우 위에 끌어내 띄워놓은 채로 작업할 수 있으나, Spine의 UI는 이러한 플로팅을 지원하지 않는다. 개선이 필요한 부분.

인터페이스 외의 불편한 점으로는, 3.x 버전까지 RGB 값의 변경처리와 투명도(알파값) 처리가 그냥 슬롯의 "컬러" 값으로 하나로 묶여 있다는 점이 있었다. 이런 구조 때문에 투명도가 변하는 애니메이션을 만들었다면 차후에 컬러값을 일괄적으로 변경하기가 어려웠으나, 이 부분은 4.0에서 투명도 채널을 별도로 분리하는 기능을 넣으면서 해결되었다.

게임 개발적인 면에서는 런타임 지원에서 단점이 많다. 유니티, 언리얼 엔진으로 대표되는 상용 무료 게임 엔진을 비롯한 게임 엔진들과 플랫폼에서 구동되는 코드를 지원하나, 이들 메이저 엔진과 Godot Engine(spine-godot 런타임) 외의 마이너한 플랫폼에 대해서는 지원이 매우 취약하다.

또한 언리얼의 경우, 일단 메이저 플랫폼인 만큼 런타임 플러그인을 지원하고 있으나, 이 플러그인에 버그가 많고 기능 지원이 빈약하다. 아틀라스와 데이터 적용을 잘못하면 그냥 적용이 안되는 수준이 아니라 크래시를 일으키며 엔진이 뻗어버린다. 게다가 블루프린트 기능도 매우 미약하다.[5][6] 전반적으로 2대 메이저 엔진 지원이라고는 하나, 포럼에 올라오는 글들의 비중을 봐도 유니티를 중점적으로 지원하는 인상이 강하다.


5. 관련 링크[편집]




6. Spine을 활용해 제작된 게임[편집]


  • 가디언 테일즈
  • 그랜드크로스: 에이지 오브 타이탄
  • 다키스트 던전
  • 라스트오리진[7]
  • 리니지W[8]
  • 메이플스토리[9]
  • 뮤즈대시
  • 미해결사건부[10]
  • 블루 아카이브[11]
  • 소녀전선
  • 소울타이드[12]
  • 아이돌 마스터 샤이니 컬러즈
  • 에픽세븐
  • 유희왕 마스터 듀얼[13]
  • 카운터사이드[14]
  • 쿠키런: 킹덤
  • 킹 오브 파이터 올스타
  • 트릭컬
  • 프렌즈타운
  • 승리의 여신: 니케
  • 프린세스 커넥트! Re:Dive
  • Sdorica
  • Slay the Spire
  • Lobotomy Corporation
  • Cult of the Lamb

파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-03 21:26:48에 나무위키 Spine 문서에서 가져왔습니다.

[1] 현재도 Spine 공식 포럼에서 Nate라는 ID로 활동하며 조언과 소통을 하고 있다.[2] 이전 버전들까지는 단순히 일정 타이밍에 이미지를 교체하는 수작업에 가까운 형태였으나, 4.1버전부터는 이 시퀀스 애니메이션을 독립적으로 관리하는 기능이 생겼다.[3] 일례로 리그 오브 레전드의 구 클라이언트 로그인 화면 애니메이션이 있다. 이쪽은 어도비 플래시로 애니메이션을 만들었다.[4] 개발진들도 이 점을 인식하고는 있는지, 4.0 버전때부터 Tree 윈도우의 개체들에 종속 관계를 선으로 표시하는 기능을 넣어서 이 문제를 어느정도 해결하려 했지만 근본적인 해결은 되지 못했다.[5] 스킨의 다중 적용 블루프린트 명령어가 3.7 버전까지 없다가 3.8에서나 추가되었을 정도이며 이조차도 배열을 이용한 일괄 적용이라 커스텀 가능한 부분이 없다. 심지어 이 3.8 버전에서도 스킨을 해제하는 명령어가 없어서 빈 스킨을 따로 만들어줘서 이것을 적용하는 식으로 해야 스킨을 해제할 수 있다.[6] 사실 블루프린트 뿐만 아니라 지원하는 네이티브 함수 자체가 굉장히 약하다. 최적화도 정말 끔찍한데, 예시로 본 드라이버, 팔로워 컴포넌트는 컴포넌트 스스로 틱을 호출하여 매 틱마다 필요한 레퍼런스를 찾고 업데이트하는 굉장히 비효율적인 방식을 이용한다. 특히 팔로워 컴포넌트는 일반적으로 리그의 히트박스와 소켓을 표현하는데에 사용되기 마련인데, 그러기 위해서 캐릭터의 뼈 마다 이 컴포넌트를 붙히면 캐릭터 액터 하나당 못해도 15~20개의 틱이 돌아가는 셈이 된다. 문제는 이런식으로 주먹구구식으로 짜여져있는 것이 한둘이 아니다. 가장 큰 문제는 따로 있다. 언리얼 엔진의 애니메이션과 관련된 대부분의 코드는 스켈레탈 메시 컴포넌트를 기반으로 굴러가는데, 당연히 스파인은 스켈레탈 메쉬 시스템과 전혀 호환이 안된다. 따라서 기존에 엔진이 제공하는 기본적인 애니메이션 시스템이나 피지컬 애니메이션, 레그돌 / 피지컬 에셋, 컨트롤 릭, 컨트롤 릭 시퀀스등 기존의 애니메이션과 관련된 대부분의 기능을 따로 스파인 용으로 구현을 해야만 한다. 그래서 본격적으로 UE4에서 스파인을 쓰고자한다면 정말 모든걸 갈아엎고 필요한 기능을 새로 만들어서 추가해야한다는 다짐을 하고 시작해야한다. [7] 3ds max -> spine[8] 카드 일러스트레이션 모션[9] 직업 선택창 일부 직업 애니메이션 [10] SR, SSR 카드 그래픽, 초대장 그래픽, 터치 상호작용 그래픽[11] 메모리얼 [12] 유료 스킨 배경[13] 전용 소환 연출[14] CBT까지는 Live2D를 사용하였으나 라이센스 비용 문제로 정식 오픈부터는 Spine로 교체하였다.