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.

Компиляция для Web-Браузера

См. также

На этой странице описывается, как скомпилировать HTML5-редактор и экспортировать двоичные файлы шаблонов из исходного кода. Если вы хотите экспортировать свой проект в HTML5, прочтите Экспорт в Web.

Требования

Для составления шаблонов экспорта для Web необходимо следующее:

См. также

Чтобы получить исходный код Godot для компиляции, см. Получение исходного кода.

Для общего обзора использования SCons в Godot, смотрите Введение в систему сборки.

Создание шаблонов экспорта

Перед началом работы убедитесь, что emcc доступен в вашем PATH. Обычно это настраивается Emscripten SDK, например, при вызове emsdk activate и source ./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 singleton. В официальных шаблонах экспорта также включен одиночный объект 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 из соображений производительности и совместимости. Подробнее см. на с export page.

Вы можете создать шаблоны экспорта, используя опцию dlink_enabled=yes для включения поддержки GDExtension:

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-архива на свой веб-сервер и открыть его в браузере, чтобы воспользоваться редактором.

Требования к веб-серверу см. на странице экспорта.

Совет

Репозиторий Godot включает скрипт Python для размещения локального веб-сервера. Его можно использовать для локального тестирования веб-редактора.

После компиляции редактора извлеките ZIP-архив, созданный в папке bin/, затем выполните следующую команду в корневом каталоге репозитория Godot:

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

Это действие автоматически загрузит содержимое папки bin/ и откроет веб-браузер по умолчанию. На открывшейся странице перейдите к godot.editor.html, и вы сможете протестировать веб-редактор таким образом.

Обратите внимание, что в вариантах использования в производстве, этот веб-сервер на базе Python использовать не следует. Вместо этого следует использовать проверенный веб-сервер, например Apache или nginx.