Compiling for the Web

См.также

This page describes how to compile HTML5 editor and export template binaries from source. If you're looking to export your project to HTML5 instead, read Экспорт для Интернета.

Требования

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

См.также

To get the Godot source code for compiling, see Получение исходного кода.

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

Building export templates

Перед началом работы убедитесь, что emcc доступен в вашем PATH. Обычно это настраивается Emscripten SDK, например, при вызове emsdk activate и source ./emsdk_env.sh/ emsdk_env.bat.

Откройте терминал и перейдите в корневой каталог исходного кода движка. Затем дайте команду SCons на сборку платформы JavaScript. Укажите target либо как release для сборки release, либо как release_debug для сборки debug:

scons platform=javascript tools=no target=release
scons platform=javascript tools=no target=release_debug

По умолчанию в движок будет встроен JavaScript синглтон. В официальных шаблонах экспорта также включен синглтон JavaScript. Поскольку вызовы eval() могут представлять угрозу безопасности, опция javascript_eval может быть использована для сборки без синглтона:

scons platform=javascript tools=no target=release javascript_eval=no
scons platform=javascript tools=no target=release_debug javascript_eval=no

Теперь движок будет скомпилирован в WebAssembly с помощью Emscripten. После завершения работы полученный файл будет помещен в подкаталог bin. Его имя будет godot.javascript.opt.zip для релиза или godot.javascript.opt.debug.zip для отладки.

Наконец, переименуйте zip-архив в webassembly_release.zip для шаблона релиза:

mv bin/godot.javascript.opt.zip bin/webassembly_release.zip

И webassembly_debug.zip для отладочного шаблона:

mv bin/godot.javascript.opt.debug.zip bin/webassembly_debug.zip

Threads and GDNative

Шаблоны экспорта по умолчанию не включают поддержку потоков и GDNative по причинам производительности и совместимости. Дополнительную информацию см. на странице экспорт.

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

scons platform=javascript tools=no threads_enabled=yes target=release
scons platform=javascript tools=no threads_enabled=yes target=release_debug

scons platform=javascript tools=no gdnative_enabled=yes target=release
scons platform=javascript tools=no gdnative_enabled=yes target=release_debug

По завершению итоговый файл будет сохранен в подкаталог bin. Его имя будет иметь либо суффикс .threads, либо .gdnative.

Наконец, переименуйте zip-архивы в webassembly_release_threads.zip и webassembly_release_gdnative.zip для шаблона релиза:

mv bin/godot.javascript.opt.threads.zip bin/webassembly_threads_release.zip
mv bin/godot.javascript.opt.gdnative.zip bin/webassembly_gdnative_release.zip

И webassembly_debug_threads.zip и webassembly_debug_gdnative.zip для шаблона отладки:

mv bin/godot.javascript.opt.debug.threads.zip bin/webassembly_threads_debug.zip
mv bin/godot.javascript.opt.debug.gdnative.zip bin/webassembly_gdnative_debug.zip

Сборка редактора

Также можно собрать версию редактора Godot, которая может работать в браузере. Версия редактора требует поддержки потоков и не рекомендуется к использованию вместо нативной сборки. Вы можете собрать редактор с помощью:

scons platform=javascript tools=yes threads_enabled=yes target=release_debug

После завершения работы полученный файл будет помещен в подкаталог bin. Его имя будет godot.javascript.opt.tools.threads.zip. Вы можете загрузить содержимое zip-файла на свой веб-сервер и посетить его с помощью браузера, чтобы воспользоваться редактором.

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