몇몇 개발자는 널리 커맨드라인을 이용하는 것을 좋아합니다. 고도는 이들에게 친화적으로 설계되었습니다. 그래서 완전히 커맨드라인을 이용해 작업하는방법을 단계적으로 보여드리죠. 엔진이 외부 라이브러리에 거의 의존하지 않는 경우 초기화 시간이 매우 빠르므로 이 워크플로우에 적합합니다.
경로
고도 바이너리는 결로 설정 환경 변수에 포함 시키는 것이 좋으며, 그러면 godot을 입력해 어디에서나 쉽게 실행할 수 있습니다. 리눅스에서는 /usr/usr/local/bin에 고도 이진파일을 넣고 godot이라고 불리는 것을 확인해 그렇게 할 수 있습니다.
프로젝트 만들기
커맨드라인으로 프로젝트를 만드는 것은 간단합니다. 쉘을 다니다가 원하는 곳에 만약 비어있다면 engine.cfg 파일을 만드세요.
user@host:~$ mkdir newgame
user@host:~$ cd newgame
user@host:~/newgame$ touch engine.cfg
그것만으로도 고도 프로젝트는 텅 빈 상태로 만들어집니다.
에디터 실행하기
고도를 -e 플래그와 함께 실행하면 에디터가 실행됩니다. 프로젝트 폴더 안이나 하위 폴더 안에서 해야만 합니다, 그렇지 않으면 커맨드는 무시되고 프로젝트 매니저가 나타날 겁니다.
user@host:~/newgame$ godot -e
씬이 생성되고 저장되면, 나중에 해당 씬에서 인수(argument)와 동일한 코드를 실행하여 편집할 수 있습니다.
user@host:~/newgame$ godot -e scene.xml
씬을 지우기
고도는 여러분의 파일시스템 친화적이며 추가적인 메타데이터 파일을 생성하지 않으므로 간단하게 rm 명령어를 사용해 파일을 지울 수 있습니다. 씬을 참조하는 것이 아무것도 없게 하지 않으고 삭제하면 나중에 열 때 오류가 발생합니다.
user@host:~/newgame$ rm scene.xml
게임을 실행하기
게임을 실행하기 위해, 간단하게 프로젝트 디렉토리나 하위 디렉토리에서 고도를 실행하세요.
user@host:~/newgame$ godot
특정 씬이 테스트 되어야하면 그 씬을 커맨드라인에 주세요.
user@host:~/newgame$ godot scene.xml
디버깅
user@host:~/newgame$ godot -d
user@host:~/newgame$ godot -d scene.xml
출력(실행)
user@host:~/newgame$ godot -export "Linux X11" /var/builds/project
user@host:~/newgame$ godot -export Android /var/builds/project.apk
-export 스위치로 인식되는 플랫폼 이름은 편집기의 출력 마법사에 표시되는 것과 동일합니다. 커맨드라인에서 지원되는 플랫폼 목록을 가져오려면 인식할 수 없는 플랫폼으로 내보내기만 시도하면 구성에서 지원하는 플랫폼의 전체 목록이 표시됩니다.
디버그 버전의 게임을 출력하기 위해서 -export_debug 스위치를 -export 대신 사용하세요. 매개 변수 사용은 똑같습니다.
스크립트 실행
커맨드라인에서 간단한 .gd 스크립트를 실행할 수 있습니다. 이 특징은 큰 프로젝트에서 에셋의 배치 변환 또는 사용자 가져오기/내보내기에 유용합니다.
스크립트는 씬 트리나 메인루프에서 상속되어야 합니다.
어떻게 작동하는 지에 대해 간단한 예입니다 :
#sayhello.gd extends SceneTree func _init(): print("Hello!") quit()
그리고 어떻게 실행하는 지에 대한 예입니다 :
user@host:~/newgame$ godot -s sayhello.gd Hello!
만약 engine.cfg가 경로에 없다면, 현재 경로가 현재 작업 경로로 가정될 것입니다(-path가 지정되지 않은 경우).
'레퍼런스 > 고도엔진' 카테고리의 다른 글
고도엔진 튜토리얼 #18 행렬과 변환(Matrices and transforms) (0) | 2018.02.05 |
---|---|
고도엔진 튜토리얼 #17 벡터 수학(Vector math) (0) | 2018.02.05 |
고도엔진 튜토리얼 #15 유니티에서 고도엔진까지(From Unity3D to Godot Engine) (0) | 2018.02.03 |
고도엔진 튜토리얼 #14 2D와 3D 키바인딩(2D and3D keybindings) (0) | 2018.02.03 |
고도엔진 튜토리얼 #13 하나씩 일어나는 일(오토로드) (Singletons (AutoLoad)) (0) | 2018.02.03 |