명령줄 인터페이스

내보내기 스크립트를 사용하면 많은 프로젝트를 한 번에 내보낼 수 있습니다.

Spine의 명령줄 인터페이스(CLI)를 사용하면 명령줄에서 Spine을 실행하여 텍스처 아틀라스 등을 내보내고, 가져오고, 패킹할 수 있습니다. 이 방법은 가장 일반적으로 사용되며 사용자의 소프트웨어에 대한 빌드 프로세스의 일부로 모든 프로젝트 내보내기와 텍스처 아틀라스 패킹을 자동화합니다.

이 방식으로 실행하면 Spine이 시작되고, 하나 이상의 내보내기나 텍스처 패킹을 수행한 뒤 종료됩니다.

대부분의 CLI 매개변수는 헤드리스 환경에서도 사용할 수 있습니다. 즉, 사용자 인터페이스를 표시하도록 구성되지 않은 컴퓨터에서도 사용할 수 있다는 의미입니다. 그러나 이미지 또는 동영상을 내보내려면 운영체제의 윈도잉 시스템과 OpenGL이 필요합니다.

사용

CLI 매개변수에 대한 설명은 --help 매개변수로 Spine을 실행할 때 표시됩니다. 또한 고급 매개변수는 --advanced 매개변수로 Spine을 실행할 때 표시됩니다.

편집기

Spine [-hvlft] [-x <host:port>] [-u <version>] [<path>]

-h, --help      기본 CLI 도움말을 인쇄하고 종료합니다.
--advanced      고급 CLI 도움말을 인쇄하고 종료합니다.
-v, --version   버전 정보를 인쇄하고 종료합니다.
-l, --logout    로그아웃하고 활성화 코드를 제거합니다.
-u, --update    로드할 Spine 업데이트의 버전 번호입니다.
-f, --force     Spine 업데이트의 강제 다운로드입니다.
-x, --proxy     업데이트를 확인하고 다운로드할 때 사용할 프록시 서버입니다.
-t, --notimeout 업데이트를 확인하고 다운로드할 때 타임아웃을 비활성화합니다.
project.spine   열려는 Spine 프로젝트 파일의 경로입니다.

-u 또는 --update와 함께 사용되는 버전 번호의 패치 부분은 xx가 되어 최신 패치 버전을 다운로드할 수 있습니다. 예를 들어, 최신 4.3 버전을 다운로드하려면 다음과 같습니다.

Spine --update 4.3.xx

최신 안정 버전을 다운로드하려면 latest, lateststable 또는 stable을 버전 번호로 지정하면 됩니다. 최신 베타 버전을 다운로드하려면 latestbeta 또는 beta를 지정하면 됩니다.

내보내기

Spine [-i <path>] [-m] [-o <path>] -e <path>
Spine [-i <path>] [-m] [-o <path>] -e json[+pack]|binary[+pack]

JSON, 바이너리, 이미지 또는 동영상 내보내기:
-i, --input   폴더, 프로젝트 또는 데이터 파일의 경로입니다. 내보내기 JSON을 재정의합니다.
-m, --clean   내보내기 전에 애니메이션을 정리합니다.
-o, --output  내보내기 파일을 쓸 경로입니다. 내보내기 JSON을 재정의합니다.
-e, --export  설정 JSON 파일을 내보낼 경로입니다.
--last-export-settings  프로젝트의 마지막 내보내기 설정 JSON을 생성합니다.

Export 대화 상자 하단의 Save 버튼을 클릭하면 Spine을 사용하여 내보내기 설정 JSON 파일이 생성됩니다.

내보내기를 수행하는 대부분의 빌드 스크립트에서는 --update를 사용하여 Spine 편집기 버전을 지정하려고 합니다.

CLI에 지정된 입력 및 출력 경로는 선택 사항입니다. 지정된 경우 내보내기 설정 JSON 파일에 지정된 입력 또는 출력 경로를 재정의합니다.

입력 경로는 프로젝트, JSON 또는 바이너리 파일의 경로입니다. 출력 경로는 내보내기 설정에 따라 파일이나 폴더가 될 수 있습니다.

--clean-all 매개변수는 모든 내보내기를 정리하므로, 각각의 내보내기에 대해 --clean을 지정할 필요가 없습니다.

--clean 매개변수가 지정되면 내보내기 전에 애니메이션 정리가 수행됩니다. 이 옵션을 사용해도 프로젝트 파일은 수정되지 않습니다.

내보내기 설정 JSON 파일의 경로 대신 json 또는 binary가 지정되면 기본 설정을 사용하여 JSON 또는 바이너리 내보내기가 수행됩니다. json+pack 또는 binary+pack이 지정되면 기본 설정을 사용하여 텍스처 패킹도 수행됩니다.

--last-export-settings가 지정된 경우, 가장 최근 내보내기 시 프로젝트 파일에 저장된 설정을 기반으로 project.export.json 파일이 생성됩니다. --output이 지정된 경우 해당 위치에 파일이 저장되며, 그렇지 않은 경우 프로젝트 파일 옆에 저장됩니다.

가져오기

Spine -i <path> [-s <scale>] -o <path> -r [<name>]

JSON, 바이너리 또는 프로젝트의 스켈레톤을 다른 프로젝트로 가져오기:
-i, --input   가져올 폴더, 프로젝트 또는 데이터 파일의 경로입니다.
-o, --output  가져올 프로젝트 파일의 경로입니다. 존재하지 않는 경우에 생성됩니다.
-s, --scale   가져올 프로젝트의 크기를 조정합니다.
-r, --import  스켈레톤 가져오기를 수행합니다. 스켈레톤 이름은 생략할 수 있습니다.

입력 경로는 프로젝트, JSON 또는 바이너리 파일입니다. 또는 .spine, .json 또는 .skel 파일이 포함된 폴더일 수 있습니다.

출력 경로는 프로젝트 파일입니다.

--scale이 지정되면 프로젝트의 스켈레톤은 가져오기 전에 크기 조정됩니다.

프로젝트를 다른 프로젝트로 가져오면, 모든 스켈레톤도 가져옵니다. --import를 사용하여 스켈레톤 이름을 지정하고 하나의 스켈레톤만 가져오면 스켈레톤의 이름이 바뀝니다. 여러 스켈레톤을 가져오는 경우 스켈레톤 이름은 무시되고 스켈레톤의 기존 이름은 유지됩니다.

JSON 또는 바이너리 파일을 프로젝트로 가져오고 --import를 사용하여 스켈레톤 이름을 지정하면 스켈레톤의 이름이 바뀝니다. 스켈레톤 이름을 지정하지 않으면 확장자가 없는 JSON 또는 바이너리 파일 이름을 사용하여 스켈레톤 이름이 지정됩니다.

정리

정리: Spine -i <path> -m

애니메이션 정리:
-i, --input   프로젝트 파일 또는 폴더의 경로입니다.
-m, --clean   애니메이션을 정리한 후 프로젝트를 저장합니다.

애니메이션 정리는 프로젝트의 모든 애니메이션에 대해 수행되며 프로젝트 파일은 변경 사항과 함께 저장됩니다.

입력 경로는 .spine 파일이 포함된 프로젝트 파일 또는 폴더입니다.

Spine -i <path> [-j <path>]... -o <path> -p <name>
Spine -i <path> [-j <path>]... -o <path> [-n <name>] -p <path>

텍스처 아틀라스 패킹:
-i, --input   패킹할 이미지 폴더의 경로입니다.
-o, --output  텍스처 아틀라스 및 PNG 파일을 쓸 경로입니다.
-j, --project 메쉬에서 사용되는 이미지를 결정하는 프로젝트의 경로입니다.
-n, --name    텍스처 아틀라스 이름, 아틀라스 및 PNG 파일의 접두사입니다.
-p, --pack    텍스처 아틀라스 이름 또는 팩 설정 JSON 파일의 경로입니다.

입력 및 출력 경로는 폴더 경로입니다.

--pack 또는 -p 매개변수는 다음 중 하나입니다.

  • 출력 파일을 쓸 때 사용할 텍스처 아틀라스 이름입니다. 이 경우 기본 텍스처 패킹 설정을 사용하지만 입력 폴더의 pack.json 파일에서 사용자 지정할 수 있습니다.
  • 팩 설정 JSON 파일의 경로입니다. 이는 Texture Packer Settings 대화 상자 하단의 Save 버튼을 클릭하여 Spine에서 생성됩니다. 이름을 지정하지 않으면 파일 확장자가 없는 팩 설정 JSON 파일 이름이 텍스처 아틀라스 이름으로 사용됩니다.

하나 이상의 프로젝트 파일은 --project를 사용하여 지정할 수 있습니다. 화이트스페이스 제거가 활성화되면 텍스처 패커에서는 이러한 프로젝트에서 각 이미지 파일을 찾습니다. 이미지 파일을 사용하는 것으로 확인된 모든 메쉬가 고려되므로 화이트스페이스를 제거해도 메쉬 내의 이미지 부분은 제거되지 않습니다. --project 또는 -j를 지정하면 currentProject 텍스처 패커 설정이 마치 true로 설정된 것처럼 무시됩니다.

언패킹

Spine -i <path> -o <path> -c <path>

텍스처 아틀라스 언패킹:
-i, --input   아틀라스 이미지 폴더의 경로입니다.
-o, --output  언패킹된 이미지 파일을 쓸 경로입니다.
-j, --project 폴리곤을 사용하여 패킹된 이미지를 복원할 프로젝트의 경로.
-c, --unpack  텍스처 아틀라스 파일의 경로입니다.

--project 옵션을 사용하여 하나 이상의 프로젝트 파일을 지정하면, 패킹 및 패킹 해제 시 메쉬 정보를 활용할 수 있습니다. 이는 메쉬에서 사용하는 이미지를 다각형으로 패킹하고, 패킹 해제 시 메쉬 외곽선 밖의 픽셀을 제거하는 데 필요합니다. 프로젝트를 지정하지 않으면, 패킹 해제된 이미지에 메쉬 외곽선 밖의 인접 이미지에서 유래한 무해한 부분이 포함될 수 있습니다.

정보

Spine -i <path>

프로젝트 정보:
-i, --input   폴더, 프로젝트 또는 데이터 파일의 경로입니다.

각 프로젝트 파일의 정보가 출력됩니다. 이 옵션은 프로젝트가 저장된 Spine 버전, 프로젝트에 있는 애니메이션 수 및 기타 정보를 파악하는 데 유용할 수 있습니다.

입력 경로는 .spine 파일, 프로젝트 파일, JSON 또는 바이너리 데이터 파일이 포함된 폴더입니다.

고급

고급:
-Xmx2048m          최대 메모리 사용량을 메가바이트 단위로 설정합니다(기본값은 2048).
--trace            추가 로깅 및 진단 검사를 활성화합니다.
--auto-start       자동으로 시작합니다.
--no-auto-start    자동으로 시작하지 않습니다.
--ping             각 서버의 대기 시간을 테스트합니다(그렇지 않으면 4일마다 수행).
--server x         ping(예: jp/us/eu)에 관계없이 기본 설정 서버를 설정합니다.
--disable-audio    모든 오디오 지원을 비활성화합니다.
--pretty-settings  설정 파일을 더 멋지게 포맷합니다.
--keys             기본적으로 단축키 팝업을 활성화합니다.
--hide-license     런처에 이름과 이메일을 표시하지 않습니다(예: 스트리밍용).
--ui-scale x       인터페이스 크기 조정을 설정합니다(예: 200).
--icc-profile x    색상 관리를 위한 ICC 프로파일 파일의 경로를 설정합니다.
--intro            Esoteric Software 로고 인트로를 표시합니다.
--clean-all        모든 내보내기 전에 애니메이션을 정리합니다.
--mesh-debug       메쉬 위에 디버그 정보를 표시합니다.
--export-selection 편집기 선택은 이미지 및 동영상 내보내기에 표시됩니다.
--ignore-unknown   CLI 매개변수가 인식되지 않으면 오류가 발생하지 않습니다.

Spine --export /path/to/export.json
Spine --export "/path/with spaces/to/export.json"
Spine --input /path/to/project.spine --output /path/to/output/
      --export /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e binary+pack
Spine -e /path/to/export1.json -e /path/to/export2.json
Spine -i /path/to/images/ -o /path/to/output/ --pack /path/to/pack.json
Spine -i /path/to/images/ -o /path/to/output/ -n name -p /path/to/pack.json
Spine -i /path/to/project1.spine -o /path/to/output/ -e /path/to/export1.json
      -i /path/to/project2.spine -e /path/to/export2.json -i /path/to/images/
      -o /path/to/output/ -p /path/to/pack.json
Spine -i /path/to/skeleton.json -o /path/to/project.spine -r skeletonName

위의 몇 가지 예에서 볼 수 있듯이 하나의 Spine 호출에 여러 명령을 지정할 수 있습니다.

폴더가 없는 경우 출력 경로에 대한 폴더가 생성됩니다.

명령이 실패하면 Spine은 0이 아닌 종료 코드를 반환합니다.

Spine의 모든 예제 프로젝트를 내보내는 데 사용되는 스크립트 내보내기는 Spine CLI 사용의 실제 예를 보여주는 스크립트입니다. Windows 사용자는 Cygwin을 사용하여 bash로 유사한 스크립트를 작성할 수 있습니다.

알 수 없는 매개변수

Spine 런처에서는 지정된 매개변수가 허용되는지 확인한 후 지정된 매개변수를 Spine 편집기로 전달합니다. 일부 CLI 매개변수가 허용되지 않는 경우는, Spine 런처가 설치되었을 때 해당 매개변수를 사용할 수 없었다는 것일 수 있지만, 그래도 최신 버전의 Spine 편집기에서는 해당 매개변수를 알 수 있습니다.

이 경우 Spine 런처를 다운로드하여 다시 설치하거나 --ignore-unknown 매개변수를 사용하여 Spine 런처에서 인식하지 못하는 매개변수를 허용하도록 할 수 있습니다. 인식되지 않은 매개변수에 대한 경고가 인쇄되지만, 그래도 매개변수를 Spine 편집기로 전달합니다. Spine 편집기에서 매개변수를 인식하지 못하면 매개변수는 무시됩니다.

CLI 매개변수로 Spine 실행

Windows

Windows용 Spine에는 Spine.exeSpine.com의 두 가지 실행 파일이 있습니다. EXE 파일은 GUI 애플리케이션이며 콘솔 창 없이 Spine을 시작하고 Spine이 종료될 때까지 기다리지 않습니다. COM 파일은 명령줄 애플리케이션이며 Spine의 출력을 콘솔 창으로 보내고 Spine이 종료될 때까지 기다립니다.

두 실행 파일 중 하나를 명령줄 인터페이스에 사용할 수 있지만 일반적으로 COM 파일을 사용하는 것이 좋습니다. Spine 설치 폴더가 시스템 경로에 있거나 현재 작업 디렉터리인 경우, 확장자 없이 Spine을 지정하면 항상 Spine.com이 실행됩니다. 예:

Spine -e C:\path\to\export.json

Mac

Mac용 Spine을 사용할 때 명령줄 내보내기는 Spine.app을 여는 대신 Spine 실행 파일을 직접 실행하여 수행됩니다. 실행 파일은 Spine.app/Contents/MacOS/SpineSpine.app 안에 있습니다. 예:

/Applications/Spine.app/Contents/MacOS/Spine -e /path/to/export.json

Linux

Linux용 Spine을 사용할 때 명령줄 내보내기는 Spine.sh 스크립트를 실행하여 수행됩니다. 예:

./Spine.sh -e /path/to/export.json

다음: 설정 이전: 가져오기