Compiling for the Web

Требования

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

См.также

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

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