Compilation pour le Web

Pré-requis

Pour compiler des modèles d'exportation pour le Web, ce qui suit est nécessaire :

Voir aussi

Pour un aperçu général de l'utilisation de SCons pour Godot, voir Introduction au buildsystem.

Création de modèles d'exportation

Before starting, confirm that emcc is available in your PATH. This is usually configured by the Emscripten SDK, e.g. when invoking emsdk activate and source ./emsdk_env.sh/emsdk_env.bat.

Ouvrez un terminal et naviguez jusqu'au répertoire racine du code source du moteur. Ensuite, demandez à SCons de construire la plate-forme JavaScript. Spécifiez target comme étant soit release pour une version release, soit release_debug pour une version de débogage :

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

Par défaut, le singleton JavaScript sera compiler dans le moteur.. Les modèles d'exportation officiels ont également le JavaScript singleton activé. Comme les appels eval() peuvent être un problème de sécurité, l'option javascript_eval peut être utilisée pour compiler sans le singleton :

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

Le moteur sera maintenant compilé en WebAssembly par Emscripten. Une fois terminé, le fichier résultant sera placé dans le sous-répertoire bin. Son nom est godot.javascript.opt.zip pour une version release ou godot.javascript.opt.debug.zip pour une version de débogage.

Enfin, renommez l'archive zip en webassembly_release.zip pour le modèle release :

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

Et webassembly_debug.zip pour le modèle de débogage :

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

Threads and GDNative

The default export templates do not include threads and GDNative support for performance and compatibility reasons. See the export page for more info.

You can build the export templates using the option threads_enabled=yes or gdnative_enabled=yes to enable threads or GDNative support:

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

Une fois terminé, le fichier résultant sera placé dans le sous-répertoire bin. Son nom aura le suffixe .threads ou .gdnative.

Enfin, renommez les archives zip en webassembly_release_threads.zip et webassembly_release_gdnative.zip pour le modèle release :

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

Et webassembly_debug_threads.zip et webassembly_debug_gdnative.zip pour le modèle de débogage :

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

Compilation de l'éditeur

It is also possible to build a version of the Godot editor that can run in the browser. The editor version requires threads support and is not recommended over the native build. You can build the editor with:

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

Once finished, the resulting file will be placed in the bin subdirectory. Its name will be godot.javascript.opt.tools.threads.zip. You can upload the zip content to your web server and visit it with your browser to use the editor.

Refer to the export page for the web server requirements.