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.

Kompilieren für das Web

Siehe auch

Diese Seite beschreibt, wie man HTML5-Editor und Exportvorlagen-Binärdateien aus den Quellen kompiliert. Wenn Sie Ihr Projekt stattdessen nach HTML5 exportieren möchten, lesen Sie Exportieren für das Web.

Anforderungen

Zum Kompilieren von Exportvorlagen für das Web ist Folgendes erforderlich:

Siehe auch

Um den Godot-Quellcode zum Kompilieren zu erhalten, siehe Beschaffung des Quellcodes.

Eine allgemeine Übersicht über die Verwendung von SCons für Godot finden Sie unter Einführung in das Buildsystem.

Exportvorlagen erstellen

Bevor Sie beginnen, stellen Sie sicher, dass emcc in Ihrem PATH verfügbar ist. Dies wird normalerweise durch das Emscripten-SDK konfiguriert, z.B. beim Aufruf von emsdk activate und source ./emsdk_env.sh/emsdk_env.bat.

Öffnen Sie ein Terminal und navigieren Sie zum Stammverzeichnis des Quellcodes der Engine. Dann weisen Sie SCons an, die Web-Plattform zu bauen. Spezifizieren Sie target entweder als template_release für einen Release-Build oder template_debug für einen Debug-Build:

scons platform=web target=template_release
scons platform=web target=template_debug

Standardmäßig wird das JavaScriptBridge Singleton in die Engine eingebaut. Offizielle Exportvorlagen haben auch das JavaScript Singleton aktiviert. Da eval() Aufrufe ein Sicherheitsproblem sein können, kann die javascript_eval Option verwendet werden, um ohne das Singleton zu bauen:

scons platform=web target=template_release javascript_eval=no
scons platform=web target=template_debug javascript_eval=no

Standardmäßig ist die Unterstützung für WebWorker-Threads aktiviert. Um sie zu deaktivieren und nur einen einzigen Thread zu verwenden, kann die Option Threads verwendet werden, um die Webvorlage ohne Thread-Unterstützung zu erstellen:

scons platform=web target=template_release threads=no
scons platform=web target=template_debug threads=no

Die Engine wird nun von Emscripten in WebAssembly kompiliert. Sobald die Kompilierung abgeschlossen ist, wird die resultierende Datei im Unterverzeichnis bin abgelegt. Ihr Name ist godot.web.template_release.wasm32.zip für Release oder godot.web.template_debug.wasm32.zip für Debug.

Schließlich benennen Sie das Zip-Archiv in web_release.zip für die Release-Vorlage um:

mv bin/godot.web.template_release.wasm32.zip bin/web_release.zip

Und web_debug.zip für die Debug-Vorlage:

mv bin/godot.web.template_debug.wasm32.zip bin/web_debug.zip

GDExtension

Die Default-Exportvorlagen enthalten aus Performance- und Kompatibilitätsgründen keine GDExtension-Unterstützung. Siehe die Export-Seite für weitere Informationen.

Sie können die Exportvorlagen mit der Option dlink_enabled=yes erstellen, um die GDExtension-Unterstützung zu aktivieren:

scons platform=web dlink_enabled=yes target=template_release
scons platform=web dlink_enabled=yes target=template_debug

Wenn Sie fertig sind, wird die resultierende Datei in das Unterverzeichnis bin gelegt. Ihr Name wird mit _dlink ergänzt.

Am Schluss benennen Sie die Zip-Archive in web_dlink_release.zip und web_dlink_release.zip für die Release-Vorlage um:

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

Bauen des Editors

Es ist auch möglich, eine Version des Godot-Editors zu erstellen, die im Browser ausgeführt werden kann. Die Editor-Version wird gegenüber dem nativen Build nicht empfohlen. Sie können den Editor bauen mit:

scons platform=web target=editor

Sobald Sie fertig sind, wird die resultierende Datei im Unterverzeichnis bin abgelegt. Ihr Name ist godot.web.editor.wasm32.zip. Sie können den Zip-Inhalt auf Ihren Webserver hochladen und ihn mit Ihrem Browser besuchen, um den Editor zu benutzen.

Siehe die Export-Seite für die Anforderungen an den Webserver.

Tipp

Das Godot-Repository enthält ein Python-Skript zum Hosten eines lokalen Webservers. Dieser kann verwendet werden, um den Webeditor lokal zu testen.

Nachdem Sie den Editor kompiliert haben, entpacken Sie das ZIP-Archiv, das im Ordner bin/ erstellt wurde, und führen dann den folgenden Befehl im Godot-Repository-Stammverzeichnis aus:

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

This will serve the contents of the bin/ folder and open the default web browser automatically. In the page that opens, access godot.editor.html and you should be able to test the web editor this way.

Beachten Sie, dass dieser auf Python basierende Webserver nicht für Produktionszwecke verwendet werden sollte. Stattdessen sollten Sie einen etablierten Webserver wie Apache oder nginx verwenden.