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

Avant de commencer, confirmez que emcc est disponible dans votre PATH. Ceci est généralement configuré par le SDK Emscripten, par exemple lors de l'invocation de emsdk activate et 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 et GDNative

Les modèles d'exportation par défaut n'incluent pas le support des threads et de GDNative pour des raisons de performance et de compatibilité. Voir la page export pour plus d'informations.

Vous pouvez compiler les modèles d'exportation en utilisant l'option threads_enabled=yes ou gdnative_enabled=yes pour activer les threads ou le support 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

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

Il est également possible de compiler une version de l'éditeur Godot qui peut fonctionner dans le navigateur. La version de l'éditeur nécessite le support des threads et n'est pas recommandée par rapport à la version native. Vous pouvez compiler l'éditeur avec :

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

Une fois terminé, le fichier résultant sera placé dans le sous-répertoire bin. Son nom sera godot.javascript.opt.tools.threads.zip. Vous pouvez télécharger le contenu du zip sur votre serveur web et le visiter avec votre navigateur pour utiliser l'éditeur.

Reportez-vous à la page exportation pour connaître la configuration requise du serveur Web.