명령줄 인터페이스
내보내기 스크립트를 사용하면 많은 프로젝트를 한 번에 내보낼 수 있습니다.
Spine의 명령줄 인터페이스(CLI)를 사용하면 명령줄에서 Spine을 실행하여 텍스처 아틀라스 등을 내보내고, 가져오고, 패킹할 수 있습니다. 이 방법은 가장 일반적으로 사용되며 사용자의 소프트웨어에 대한 빌드 프로세스의 일부로 모든 프로젝트 내보내기와 텍스처 아틀라스 패킹을 자동화합니다.
이 방식으로 실행하면 Spine이 시작되고, 하나 이상의 내보내기나 텍스처 패킹을 수행한 뒤 종료됩니다.
대부분의 CLI 매개변수는 헤드리스 환경에서도 사용할 수 있습니다. 즉, 사용자 인터페이스를 표시하도록 구성되지 않은 컴퓨터에서도 사용할 수 있다는 의미입니다. 그러나 이미지 또는 동영상을 내보내려면 운영체제의 윈도잉 시스템과 OpenGL이 필요합니다.
사용
CLI 매개변수에 대한 설명은 --help 매개변수로 Spine을 실행할 때 표시됩니다. 또한 고급 매개변수는 --advanced 매개변수로 Spine을 실행할 때 표시됩니다.
편집기
-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 버전을 다운로드하려면 다음과 같습니다.
최신 안정 버전을 다운로드하려면 latest, lateststable 또는 stable을 버전 번호로 지정하면 됩니다. 최신 베타 버전을 다운로드하려면 latestbeta 또는 beta를 지정하면 됩니다.
내보내기
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이 지정된 경우 해당 위치에 파일이 저장되며, 그렇지 않은 경우 프로젝트 파일 옆에 저장됩니다.
가져오기
JSON, 바이너리 또는 프로젝트의 스켈레톤을 다른 프로젝트로 가져오기:
-i, --input 가져올 폴더, 프로젝트 또는 데이터 파일의 경로입니다.
-o, --output 가져올 프로젝트 파일의 경로입니다. 존재하지 않는 경우에 생성됩니다.
-s, --scale 가져올 프로젝트의 크기를 조정합니다.
-r, --import 스켈레톤 가져오기를 수행합니다. 스켈레톤 이름은 생략할 수 있습니다.
입력 경로는 프로젝트, JSON 또는 바이너리 파일입니다. 또는 .spine, .json 또는 .skel 파일이 포함된 폴더일 수 있습니다.
출력 경로는 프로젝트 파일입니다.
--scale이 지정되면 프로젝트의 스켈레톤은 가져오기 전에 크기 조정됩니다.
프로젝트를 다른 프로젝트로 가져오면, 모든 스켈레톤도 가져옵니다. --import를 사용하여 스켈레톤 이름을 지정하고 하나의 스켈레톤만 가져오면 스켈레톤의 이름이 바뀝니다. 여러 스켈레톤을 가져오는 경우 스켈레톤 이름은 무시되고 스켈레톤의 기존 이름은 유지됩니다.
JSON 또는 바이너리 파일을 프로젝트로 가져오고 --import를 사용하여 스켈레톤 이름을 지정하면 스켈레톤의 이름이 바뀝니다. 스켈레톤 이름을 지정하지 않으면 확장자가 없는 JSON 또는 바이너리 파일 이름을 사용하여 스켈레톤 이름이 지정됩니다.
정리
애니메이션 정리:
-i, --input 프로젝트 파일 또는 폴더의 경로입니다.
-m, --clean 애니메이션을 정리한 후 프로젝트를 저장합니다.
애니메이션 정리는 프로젝트의 모든 애니메이션에 대해 수행되며 프로젝트 파일은 변경 사항과 함께 저장됩니다.
입력 경로는 .spine 파일이 포함된 프로젝트 파일 또는 폴더입니다.
팩
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로 설정된 것처럼 무시됩니다.
언패킹
텍스처 아틀라스 언패킹:
-i, --input 아틀라스 이미지 폴더의 경로입니다.
-o, --output 언패킹된 이미지 파일을 쓸 경로입니다.
-j, --project 폴리곤을 사용하여 패킹된 이미지를 복원할 프로젝트의 경로.
-c, --unpack 텍스처 아틀라스 파일의 경로입니다.
--project 옵션을 사용하여 하나 이상의 프로젝트 파일을 지정하면, 패킹 및 패킹 해제 시 메쉬 정보를 활용할 수 있습니다. 이는 메쉬에서 사용하는 이미지를 다각형으로 패킹하고, 패킹 해제 시 메쉬 외곽선 밖의 픽셀을 제거하는 데 필요합니다. 프로젝트를 지정하지 않으면, 패킹 해제된 이미지에 메쉬 외곽선 밖의 인접 이미지에서 유래한 무해한 부분이 포함될 수 있습니다.
정보
프로젝트 정보:
-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/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.exe와 Spine.com의 두 가지 실행 파일이 있습니다. EXE 파일은 GUI 애플리케이션이며 콘솔 창 없이 Spine을 시작하고 Spine이 종료될 때까지 기다리지 않습니다. COM 파일은 명령줄 애플리케이션이며 Spine의 출력을 콘솔 창으로 보내고 Spine이 종료될 때까지 기다립니다.
두 실행 파일 중 하나를 명령줄 인터페이스에 사용할 수 있지만 일반적으로 COM 파일을 사용하는 것이 좋습니다. Spine 설치 폴더가 시스템 경로에 있거나 현재 작업 디렉터리인 경우, 확장자 없이 Spine을 지정하면 항상 Spine.com이 실행됩니다. 예:
Mac
Mac용 Spine을 사용할 때 명령줄 내보내기는 Spine.app을 여는 대신 Spine 실행 파일을 직접 실행하여 수행됩니다. 실행 파일은 Spine.app/Contents/MacOS/Spine의 Spine.app 안에 있습니다. 예:
Linux
Linux용 Spine을 사용할 때 명령줄 내보내기는 Spine.sh 스크립트를 실행하여 수행됩니다. 예: