스켈레톤 데이터 가져오기

April 18th, 2023

Spine 프로젝트가 없지만 내보낸 파일을 사용하여 스켈레톤을 Spine으로 가져오고 싶은 경우가 있습니다. 이 튜토리얼에서는 이와 관련된 프로세스를 안내해 드립니다.


텍스처 아틀라스 페이지 압축 풀기

텍스처 아틀라스에 압축되지 않은 개별 이미지 파일이 있는 경우 이 단계를 건너뛸 수 있습니다. 이미지가 텍스처 아틀라스에 압축된 경우 Spine 편집기에서 이미지를 사용하려면 먼저 압축을 풀어야 합니다. 이 작업은 Spine UI 또는 명령줄을 통해 수행할 수 있습니다. 아틀라스의 압축을 풀려면 최신 버전의 Spine을 사용하는 것이 가장 좋습니다.

아틀라스가 미리 곱해진 알파로 압축된 경우 Spine은 압축을 풀 때 알파를 미리 곱하지 않아야 합니다. 최신 버전의 Spine으로 압축된 아틀라스의 경우 아틀라스 파일은 아틀라스 이미지에 미리 곱해진 알파가 있음을 감지합니다. 언패커는 아틀라스 파일이 있는 경우 아틀라스 파일의 이 정보를 사용합니다.

이전 버전의 Spine으로 압축된 아틀라스의 경우 아틀라스 이미지가 미리 곱해졌는지를 Spine에 알려야 합니다. 이미지가 미리 곱해지면 이미지의 투명한 부분이 어둡게 나타납니다. 다음은 미리 곱해진 이미지와 미리 곱해지지 않은(스트레이트 알파) 이미지를 비교한 것입니다. :


UI로 압축 풀기

Spine UI를 통해 압축을 풀려면:

  1. 아틀라스 파일과 아틀라스 이미지가 같은 폴더에 있는지 확인합니다.
  2. Spine 편집기를 열고메인 메뉴에서 Texture Unpacker (텍스처 언패커)를 선택합니다.
  1. Texture Unpacker(텍스처 언패커) 창에서:
    • Atlas (아틀라스) 파일의 경로를 입력합니다. spine-unity용으로 스켈레톤 데이터를 내보낸 경우 파일 확장자는 .atlas.txt일 수 있으며 정상적으로 작동합니다.
    • 압축을 푼 이미지를 저장할 폴더의 경로인 Output folder (출력 폴더)를 입력합니다.
    • 아틀라스가 미리 곱해진 알파로 압축된 경우 Unpremultiply alpha (미리 곱하지 않은 알파)를 선택합니다. 아틀라스 파일에 "pma:true"가 있으면 이 체크박스 대신 사용됩니다.

  1. Unpack (압축 풀기)를 클릭합니다. 아틀라스의 각 텍스처 영역에 대해 개별 이미지 파일이 생성됩니다.

CLI로 압축 풀기

명령줄 인터페이스 (CLI)를 통해 압축을 풀려면 다음 매개변수를 지정합니다.

Spine --input <Path to folder of atlas images> --output <Path to write unpacked image files> --unpack <Path to texture atlas file>

다음의 짧은 명령줄 매개변수를 사용하여 동일한 작업을 수행할 수도 있습니다.

Spine -i <Path to folder of atlas images> -o <Path to write unpacked image files> -c <Path to texture atlas file>

특정 버전을 실행할 수 있는 --update 또는 -u를 사용할 수 있습니다. 예를 들어, 위의 예에 -u 4.1.20를 추가하면 Spine 4.1.20가 실행되어 압축이 풀립니다. 베타 버전이 아닌 최신 Spine으로 압축을 푸는 것이 가장 좋으며 -u latest를 사용하여 이를 수행할 수 있습니다.


스켈레톤 데이터 가져오기

스켈레톤 데이터를 가져오려면 먼저 데이터를 내보내는 데 사용된 것과 동일한 버전의 Spine을 사용하고 있는지 확인합니다. 이는 바이너리 데이터에 특히 중요하지만 JSON 데이터에도 적용됩니다.

다음으로 아틀라스 파일에 아틀라스의 크기 조정을 지정하는 줄이 있는지 확인합니다. 이 정보는 가져올 때 필요합니다. 찾을 수 없는 경우 스켈레톤의 아틀라스가 크기 조정 1(원래 이미지 크기)로 압축되었거나 아틀라스가 이전 버전의 Spine으로 압축되었음을 의미합니다.

스켈레톤 데이터를 가져오려면:

  1. 메인 메뉴를 열고 Import Data(데이터 가져오기)를 선택합니다.
  1. Import Data (데이터 가져오기) 창에서:
    • File (파일)에는 가져올 JSON 또는 바이너리 파일의 경로를 입력합니다.
    • 텍스처 아틀라스의 크기가 조정된 경우 스켈레톤의 크기가 압축이 풀린 아틀라스 이미지와 일치하도록 Scale (크기 조정) 값을 설정합니다.
    • 가져올 스켈레톤의 이름을 입력합니다.

  1. Import (가져오기)를 누르면 스켈레톤이 표시되지만 올바른 이미지 대신 MISSING (누락된) 이미지가 표시됩니다. 이는 이미지 경로 가 설정되지 않았기 때문에 발생하며 다음 단계에서 이 문제를 해결할 것입니다. 먼저 Spine 프로젝트를 저장합니다.
  1. Tree(트리) 뷰에서 Images(이미지) 노드를 선택하고 Path (경로)에 이미지 폴더의 경로를 입력합니다.

이제 다음과 같이 스켈레톤 이미지가 올바르게 표시됩니다.


문제 해결

올바른 이미지 경로를 설정했는데도 내 이미지가 표시되지 않는 이유는 무엇인가요?

스켈레톤이 Spine Professional에서 생성되었지만 Spine Essential을 사용하여 스켈레톤 데이터를 가져온 경우 메쉬 어태치먼트제약 조건 은 Spine Professional에서만 사용할 수 있으므로 가져올 수 없습니다. Spine Professional을 사용하여 Spine Professional 기능이 포함된 스켈레톤을 가져옵니다.

내 이미지의 투명 영역 주위에 어두운 테두리가 있는 이유는 무엇인가요?

아틀라스 이미지에 미리 곱해진 알파가 있고 아틀라스의 압축을 풀 때 Unpremultiply alpha (미리 곱하지 않은 알파)를 선택하지 않았습니다. Unpremultiply alpha (미리 곱하지 않은 알파)를 선택한 상태에서 압축 풀기를 다시 시도하세요.

내 어태치먼트 이미지의 투명 영역 주위에 흰색 테두리가 생기는 이유는 무엇인가요?

아틀라스 이미지에 미리 곱해진 알파가 없었고 아틀라스의 압축을 풀 때 Unpremultiply alpha (미리 곱하지 않은 알파)를 선택했습니다. Unpremultiply alpha (미리 곱하지 않은 알파)를 선택하지 않은 상태에서 압축 풀기를 다시 시도하세요.

어떤 부분이 올바른 크기보다 작거나 큰 이유는 무엇인가요?

아틀라스는 1보다 크거나 작은 크기 조정으로 압축되었습니다. 스켈레톤을 다시 가져오기하고 아틀라스를 압축하는 데 사용된 것과 동일한 크기 조정 값을 지정합니다. 크기 조정 값을 모르는 경우 0.5 또는 0.25와 같은 일반 값을 사용해 볼 수 있습니다.

가져온 스켈레톤의 애니메이션이 올바르지 않은 이유는 무엇인가요?

올바르게 가져오려면 반드시 데이터를 내보내는 데 사용된 것과 동일한 버전의 Spine을 사용해야 합니다. 다음과 같이 내보낸 데이터를 텍스트 편집기로 열고 파일 시작 부분 근처를 보면 내보낸 데이터에서 Spine 버전을 찾을 수 있습니다.

파일을 바이너리 형식으로 내보내는 경우 헥스 에디터를 사용하여 버전 번호를 확인할 수 있습니다.

이전 버전의 Spine에서 가져온 데이터인 경우 해당 버전을 실행하여 데이터를 가져온 다음, Spine 프로젝트 파일을 저장하고 사용하려는 최신 버전의 Spine으로 해당 파일을 엽니다.

뼈의 아이콘이 기본 아이콘으로 변경되는 이유는 무엇인가요?

뼈 아이콘 정보는 내보낸 스켈레톤 데이터에는 포함되지 않으며, 이는 Spine에서만 필요하기 때문에 가져온 스켈레톤은 모든 뼈에 대해 기본 아이콘을 사용합니다.

뼈의 색상이 재설정되고 메쉬 정점 사이의 가장자리가 사라지는 이유는 무엇인가요?

Nonessential data(불필요한 데이터) 를 선택하지 않고 스켈레톤 데이터를 내보낼 경우, 런타임에 일반적으로 필요하지 않은 일부 정보는 내보내지지 않습니다. 가져온 스켈레톤은 계속 작동하지만 불필요한 정보는 누락됩니다. 향후 데이터를 가져올 계획이라면 내보낼 때 Nonessential data (불필요한 데이터)를 반드시 선택해야 합니다.


내보낸 파일에서 스켈레톤을 가져오는 데 문제가 있는 경우 Spine 포럼에서 기꺼이 도와드리겠습니다!