Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
내보내기 소개
이 가이드에서 다음 내용을 배울 것입니다:
Godot 편집기 뒤에 있는 디자인 결정.
Godot 편집기의 C++ 코드에서 효율적으로 작업하는 방법.
이 가이드는 현재 또는 미래의 엔진 기여자를 대상으로 합니다. GDScript에서 편집기 플러그인을 생성하려면 대신 :ref:`doc_making_plugins`를 참조하세요.
더 보기
Godot를 처음 사용하신다면 계속하기 전에 :ref:`doc_godot_design_philosophy`를 읽어보시길 권장합니다. Godot 편집기는 C++로 작성된 Godot 프로젝트이므로 엔진 철학의 대부분이 편집기에 적용됩니다.
파트 개요
Godot 편집기는 Godot의 렌더러와 :ref:`UI system <doc_user_interface>`을 사용하여 그려집니다. GTK나 Qt와 같은 툴킷에 의존하지 않습니다. 이는 블렌더(Blender)와 같은 소프트웨어와 정신적으로 유사합니다. 툴킷을 사용하면 "기본" 모양을 쉽게 얻을 수 있지만, 상당히 무겁고 라이센스가 Godot의 라이센스와 호환되지 않습니다.
편집기는 C++로 완전히 작성되었습니다. GDScript 또는 C# 코드를 포함할 수 없습니다.
파일 구조
편집자의 코드는 Godot 소스 저장소의 editor/ 폴더에 완전히 독립적으로 포함되어 있습니다.
일부 편집기 기능은 :ref:`modules <doc_custom_modules_in_cpp>`을 통해서도 구현됩니다. 이들 중 일부는 내보내기 템플릿의 바이너리 크기를 줄이기 위해 편집기 빌드에서만 활성화됩니다. Godot 소스 저장소의 `modules/ <https://github.com/godotengine/godot/tree/master/modules>`__ 폴더를 참조하세요.
편집기의 몇 가지 중요한 파일은 다음과 같습니다.
scene/ 파일의 편집기 종속성
편집기 기능 작업을 할 때, scene/ 폴더에 있는 Godot의 GUI 노드에서 파일을 수정해야 할 수도 있습니다.
명심해야 할 한 가지 규칙은 scene/``와 같은 다른 폴더에 있는 ``editor/ 포함에 새로운 종속성을 도입해서는 **안 됩니다**는 것입니다. 이는 ``#ifdef TOOLS_ENABLED``를 사용하는 경우에도 적용됩니다.
코드베이스를 더 쉽게 따르고 더 독립적으로 만들기 위해 허용되는 종속성 순서는 다음과 같습니다.
editor/->scene/->servers/->core/
이는 editor/``의 파일이 ``scene/, servers/ 및 core/``의 포함에 종속될 수 있음을 의미합니다. 그러나 예를 들어 ``scene/``는 ``servers/ 및 ``core/``의 포함에 종속될 수 있지만 ``editor/``의 포함에는 종속될 수 없습니다.
현재 scene/ 파일에는 ``editor/``에 대한 일부 종속성이 포함되어 있지만 제거되는 과정에 있습니다.
개발
편집기에서 빠르게 반복하려면 테스트 프로젝트를 설정하고 편집기를 컴파일한 후 :ref:`명령줄 <doc_command_line_tutorial>`에서 이를 여는 것이 좋습니다. 이렇게 하면 Godot를 시작할 때마다 프로젝트 관리자를 거칠 필요가 없습니다.