명령줄(Command line) 튜토리얼

일부 개발자들은 명령줄을 광범위하게 사용하는 것을 좋아합니다. Godot는 그들에게 친절하게 설계되었고, 명령줄에서 완전히 작업하는 순서가 있습니다. 엔진은 외부 라이브러리에 거의 의존하지 않아서, 초기화 시간이 매우 빠르고, 이 워크플로에 적합하게 만듭니다.

명령줄 참조

일반적인 설정

명령 설명
-h, --help, /? 명령줄 설정 목록을 표시합니다.
--version 버전 문자열을 표시합니다.
-v, --verbose Verbose 표준 출력 모드를 사용합니다.
--quiet 조용한 모드. 표준 출력 메시지를 내지 않습니다. 오류는 계속 표시됩니다.

실행 설정

명령 설명
-e, --editor 씬을 실행하는 대신 편집기를 시작합니다 (tools이 켜져있어야 합니다).
-p, --project-manager 프로젝트가 자동으로 감지되어도, 프로젝트 매니저를 먼저 시작합니다. (tools이 켜져 있어야 합니다).
-q, --quit 첫 반복 이후에 종료합니다.
-l <locale>, --language <locale> 특정 로케일 (두 문장 코드로 된 <locale>)을 사용합니다. 더 자세한 정보는 Locales을 참고하세요.
--path <directory> 프로젝트를 향하는 경로 (<directory>에는 'project.godot' 파일이 있어야 합니다).
-u, --upwards 'project.godot' 파일을 찾기 위해 위로 폴더를 스캔합니다.
--main-pack <file> 불러올 팩 (.pck) 파일을 향하는 경로.
--render-thread <mode> 렌더 스레드 모드 ('unsafe', 'safe', 'separate'). 더 자세한 정보는 Thread Model를 참고하세요.
--remote-fs <address> 원격 파일 시스템 (<host/IP>[:<port>] 주소).
--audio-driver <driver> 오디오 드라이버. 사용할 수 있는 드라이버 목록을 표시하려면 --help를 먼저 사용하세요.
--video-driver <driver> 비디오 드라이버. 사용할 수 있는 드라이버 목록을 표시하려면 --help를 먼저 사용하세요.

디스플레이 설정

명령 설명
-f, --fullscreen 전체화면 모드를 요청합니다.
-m, --maximized 최대화된 창을 요청합니다.
-w, --windowed 창모드를 요청합니다.
-t, --always-on-top 항상 위로 고정된(always-on-top) 창을 요청합니다.
--resolution <W>x<H> 창 해상도를 요청합니다.
--position <X>,<Y> 창 위치를 요청합니다.
--low-dpi 낮은 DPI 모드를 강제합니다 (macOS와 Windows만 가능).
--no-window 창 만들기를 끕니다 (Windows만 가능). --script와 함께 쓰면 유용합니다.

디버그 설정

주석

디버그 설정은 편집기와 디버그 내보내기 템플릿에서만 사용할 수 있습니다 (debug 또는 release_debug 빌드 대상이 필요합니다. 더 자세한 정보는 Target(대상)을 참고하세요).

명령 설명
-d, --debug 디버그 (지역 표준 디버거).
-b, --breakpoints 중단점 목록. 소스::라인으로 쉼표로 구분되며, 공백이 없습니다 (대신 %%20을 사용합니다).
--profiling 스크립트 디버거에서 프로파일링을 켭니다.
--remote-debug <address> 원격 디버그 (<host/IP>:<port> 주소).
--debug-collisions 씬을 실행할 때 충돌 모양을 보이기.
--debug-navigation 씬을 실행할 때 내비게이션 폴리곤을 보이기.
--frame-delay <ms> 높은 CPU 점유율을 시험합니다 (각 프레임을 <ms> 밀리초만큼 지연합니다).
--time-scale <scale> 실행 시간 규모를 제한합니다 (1.0이 기본 속도이며, 높은 값일 수록 더 빠릅니다).
--disable-render-loop 렌더 루프를 끕니다. 따라서 스크립트에서 명시적으로 호출할 때만 렌더링을 합니다.
--disable-crash-handler 플랫폼 코드가 지원하는 경우 충돌 핸들러를 끕니다.
--fixed-fps <fps> FPS(초당 프레임)을 고정된 숫자로 제한합니다. 이 설정은 실시간 동기화를 끕니다.
--print-fps 표준 출력에 FPS(초당 프레임)를 프린트합니다.

독립형 도구

명령 설명
-s <script>, --script <script> 스크립트를 실행합니다.
--check-only 오류만 구문 분석하고 종료합니다 (--script와 함께 사용합니다).
--export <target> 주어진 내보내기 대상을 사용해서 프로젝트를 내보냅니다. 경로가 .pck나 .zip으로 확장자 이름으로 끝나는 경우, 메인 팩만 내보냅니다 (tools(도구)가 켜져 있어야 합니다).
--export-debug <target> --export와 비슷하지만 디버그 템플릿을 사용합니다 (tools(도구)가 켜져 있어야 합니다).
--doctool <path> 엔진 API 참조를 주어진 <경로>에 XML 형식으로 덤프합니다. 이미 해당 파일이 있다면 병합합니다. (tools(도구)가 켜져 있어야 합니다).
--no-docbase 기본 유형을 덤프하는 것을 허가하지 않습니다 (--doctool과 함께 쓰며, tools(도구)가 켜져 있어야 합니다).
--build-solutions 스크립팅 솔루션을 빌드합니다 (예: C# 프로젝트 용. tools(도구)가 켜져 있어야 합니다).
--gdnative-generate-json-api GDNative 바인딩을 위해 Godot API의 JSON 덤프를 만듭니다 (tools(도구)가 켜져 있어야 합니다).
--test <test> 단위 테스트를 실행합니다. 테스트 목록을 표시하려면 --help를 먼저 사용합니다. (tools(도구)가 켜져 있어야 합니다).

경로

Godot 바이너리를 PATH 환경 변수에 넣어서, godot를 입력하면 어느 곳이든 쉽게 실행하도록 하는 것을 추천합니다. Linux에서 Godot 바이너리를 /usr/local/bin에 배치하여, godot라고 부르게 하세요.

프로젝트 경로 설정하기

Godot 바이너리의 위치와 현재 작업 디렉토리의 위치에 따라, 다음 명령 중 하나가 제대로 작동하려면 프로젝트의 경로를 설정해야 합니다.

프로젝트의``project.godot`` 파일에 대한 경로를 다음과 같이 첫 번째 인자로 주면 됩니다:

user@host:~$ godot path_to_your_project/project.godot [other] [commands] [and] [args]

혹은 --path 인자를 사용합니다:

user@host:~$ godot --path path_to_your_project [other] [commands] [and] [args]

예를 들어, (아래에서 설명할) 게임을 내보내는 전체 명령은 다음과 같을 것입니다:

user@host:~$ godot --path path_to_your_project --export my_export_preset_name game.exe

프로젝트 생성하기

명령줄에서 프로젝트를 생성하려면 셸을 원하는 위치로 이동하고 project.godot 파일을 작성하십시오.

user@host:~$ mkdir newgame
user@host:~$ cd newgame
user@host:~/newgame$ touch project.godot

프로젝트는 이제 Godot로 열릴 수 있습니다.

편집기 실행하기

편집기는 -e 플래그를 실행해서 실행됩니다. 작업은 프로젝트 디렉토리 또는 하위 디렉토리에서 수행해야 합니다, 그렇지 않으면 명령이 무시되고 프로젝트 관리자가 나타납니다.

user@host:~/newgame$ godot -e

씬을 만들고 저장한다면, 나중에 해당 씬을 인수로 사용하여 동일한 코드를 실행하여 편집할 수 있습니다.

user@host:~/newgame$ godot -e scene.tscn

씬 지우기

Godot는 당신의 파일 시스템과 친하고 추가적인 메타데이터 파일을 만들기 않을 것입니다. rm 을 사용해 씬 파일을 지웁니다. 참조하는 씬이 없다면 오류가 발생할 것입니다.

user@host:~/newgame$ rm scene.tscn

게임 실행하기

게임을 실행하려면, 간단히 프로젝트 디렉토리나 하위 디렉토리에서 Godot를 실행하면 됩니다.

user@host:~/newgame$ godot

특정 씬을 테스트 해야 하는 경우 씬을 명령줄로 전달하세요.

user@host:~/newgame$ godot scene.tscn

디버깅

명령줄에서 에러를 계산하는 것은 그냥 지나칠 수 있기 때문에 어려운 작업이 될 수 있습니다. 이를 위해 명령줄 디버거는 -d를 추가하여 제공합니다. 게임이나 간단한 씬을 실행하는 데 모두 사용됩니다.

user@host:~/newgame$ godot -d
user@host:~/newgame$ godot -d scene.tscn

내보내기(Exporting)

명령줄에서 프로젝트를 내보내는 것도 지원됩니다. 특히 연속적인 통합 설정에 유용합니다. Godot의 헤드리스 버전은 (서버 빌드, 비디오 없음) 이런 점에서 이상적입니다.

user@host:~/newgame$ godot --export "Linux/X11" /var/builds/project
user@host:~/newgame$ godot --export Android /var/builds/project.apk

--export 스위치가 인식하는 플랫폼 이름은 편집기의 내보내기 마법사에 표시된 것과 동일합니다. 명령줄에서 지원하는 플랫폼 목록을 얻기 위해, 인지하지 않는 플랫폼으로 내보내기를 시도하고 그러면 구성이 지원되는 전체 플랫폼 목록이 나타날 것입니다.

게임의 디버그 버전을 내보내기 위해, --export 대신 --export-debug 스위치를 사용하세요. 매개 변수와 사용법은 동일합니다.

스크립트 실행하기

명령줄에서 .gd 스크립트를 간단하게 실행할 수 있습니다.특히 일괄 변환 또는 맞춤 가져 오기/내보내기를 위한, 큰 프로젝트에서 유용합니다.

스크립트는 SceneTree나 MainLoop에서 상속해야 합니다.

어떻게 작동하는 지의 예제입니다:

#sayhello.gd
extends SceneTree

func _init():
    print("Hello!")
    quit()

그리고 어떻게 실행하는 지의 예제입니다:

user@host:~/newgame$ godot -s sayhello.gd
Hello!

project.godot이 경로에 존재하지 않으면, 현재 경로는 (-path 가 지정되지 않는 한) 현재 작업 디렉토리로 가정합니다.