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.

웹용으로 컴파일하기

더 보기

이 페이지는 소스로부터 HTML5 편집기와 내보내기 템플릿 바이너리를 컴파일하는 방법을 설명합니다. 프로젝트를 HTML5로 내보내고자 한다면, 대신 웹으로 내보내기를 읽으세요.

요구 사항

웹용 내보내기 템플릿을 컴파일하려면 다음이 필요합니다.

더 보기

컴파일을 위한 Godot 소스 코드를 얻으려면 :ref:`doc_getting_source`를 참조하세요.

Godot의 SCons 사용법에 대한 일반적인 개요는 :ref:`doc_introduction_to_the_buildsystem`를 참조하세요.

내보내기 템플릿 구축

시작하기 전에 PATH에서 emcc``를 사용할 있는지 확인하세요. 이는 일반적으로 Emscripten SDK에 의해 구성됩니다. ``emsdk activatesource ./emsdk_env.sh/``emsdk_env.bat``를 호출할 때.

터미널을 열고 엔진 소스 코드의 루트 디렉터리로 이동합니다. 그런 다음 SCons에게 웹 플랫폼을 구축하도록 지시합니다. 릴리스 빌드의 경우 ``target``를 ``template_release``로 지정하고 디버그 빌드의 경우 ``template_debug``로 지정합니다.

scons platform=web target=template_release
scons platform=web target=template_debug

기본적으로 JavaScriptBridge 싱글톤 <doc_web_javascript_bridge>`가 엔진에 내장됩니다. 공식 내보내기 템플릿에는 JavaScript 싱글톤도 활성화되어 있습니다. ``eval()` 호출은 보안 문제가 될 수 있으므로 javascript_eval 옵션을 사용하여 싱글톤 없이 빌드할 수 있습니다.

scons platform=web target=template_release javascript_eval=no
scons platform=web target=template_debug javascript_eval=no

기본적으로 WebWorker 스레드 지원은 활성화되어 있습니다. 이를 비활성화하고 단일 스레드만 사용하려면 threads 옵션을 사용하여 스레드 지원 없이 웹 템플릿을 빌드할 수 있습니다.

scons platform=web target=template_release threads=no
scons platform=web target=template_debug threads=no

이제 엔진은 Emscripten에 의해 WebAssembly로 컴파일됩니다. 완료되면 결과 파일은 bin 하위 디렉터리에 저장됩니다. 릴리스의 경우 이름은 ``godot.web.template_release.wasm32.zip``이고 디버그의 경우 ``godot.web.template_debug.wasm32.zip``입니다.

마지막으로 릴리스 템플릿의 zip 아카이브 이름을 ``web_release.zip``로 바꿉니다.

mv bin/godot.web.template_release.wasm32.zip bin/web_release.zip

디버그 템플릿의 경우 web_debug.zip:

mv bin/godot.web.template_debug.wasm32.zip bin/web_debug.zip

GDExtension

기본 내보내기 템플릿에는 성능 및 호환성상의 이유로 GDExtension 지원이 포함되지 않습니다. 자세한 내용은 :ref:`export 페이지 <doc_javascript_export_options>`를 참조하세요.

GDExtension 지원을 활성화하려면 dlink_enabled=yes 옵션을 사용하여 내보내기 템플릿을 빌드할 수 있습니다.

scons platform=web dlink_enabled=yes target=template_release
scons platform=web dlink_enabled=yes target=template_debug

완료되면 결과 파일은 bin 하위 디렉터리에 저장됩니다. 이름에 ``_dlink``가 추가됩니다.

마지막으로 릴리스 템플릿의 zip 아카이브 이름을 web_dlink_release.zip``web_dlink_release.zip``로 바꿉니다.

mv bin/godot.web.template_release.wasm32.dlink.zip bin/web_dlink_release.zip
mv bin/godot.web.template_debug.wasm32.dlink.zip bin/web_dlink_debug.zip

편집기 실행하기

브라우저에서 실행할 수 있는 Godot 편집기 버전을 구축하는 것도 가능합니다. 편집기 버전은 기본 빌드보다 권장되지 않습니다. 다음을 사용하여 편집기를 빌드할 수 있습니다.

scons platform=web target=editor

완료되면 결과 파일은 bin 하위 디렉터리에 저장됩니다. 이름은 ``godot.web.editor.wasm32.zip``입니다. zip 콘텐츠를 웹 서버에 업로드하고 브라우저로 방문하여 편집기를 사용할 수 있습니다.

웹 서버 요구 사항은 :ref:`export 페이지 <doc_javascript_export_options>`을 참조하세요.

Godot 저장소에는 `로컬 웹 서버를 호스팅하는 Python 스크립트 <https://raw.githubusercontent.com/godotengine/godot/master/platform/web/serve.py>`__가 포함되어 있습니다. 이는 웹 편집기를 로컬에서 테스트하는 데 사용할 수 있습니다.

편집기를 컴파일한 후, bin/ 폴더에 생성된 ZIP 아카이브를 추출한 후 Godot 저장소 루트에서 다음 명령을 실행하세요:

# You may need to replace `python` with `python3` on some platforms.
python platform/web/serve.py

그러면 bin/ 폴더의 내용이 제공되고 기본 웹 브라우저가 자동으로 열립니다. 열리는 페이지에서 ``godot.editor.html``에 액세스하면 이 방법으로 웹 편집기를 테스트할 수 있습니다.

프로덕션 사용 사례의 경우 이 Python 기반 웹 서버를 사용하면 안 됩니다. 대신 Apache 또는 nginx와 같은 확립된 웹 서버를 사용해야 합니다.