명령줄 인터페이스

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

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

대부분의 CLI 매개변수는 헤드리스에 사용될 수 있으며, 이는 사용자 인터페이스를 표시하도록 구성되지 않은 컴퓨터에서 사용할 수 있다는 의미입니다. 그러나 이미지 또는 동영상을 내보내려면 OS 윈도 시스템과 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.0 버전을 다운로드하려면 다음과 같습니다.

Spine --update 4.0.xx

내보내기

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 파일을 내보낼 경로입니다.

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

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

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

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

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

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

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

가져오기

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 언패킹된 이미지 파일을 쓸 경로입니다.
-c, --unpack 텍스처 아틀라스 파일의 경로입니다.

정보

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

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