Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

為網頁平台進行編譯

也參考

這個頁面描述的是如何從源碼編譯 HTML5 編輯器和匯出範本二進位檔案。如果你要找的是匯出專案到 HTML5,請閱讀 為 Web 匯出

系統需求

要為網頁平台進行編譯,需滿足下列需求:

也參考

要獲取編譯所需的 Godot 源碼,請參閱 取得原始碼

有關配合 Godot 使用 SCons 的一般說明,請參考 建置系統簡介

建置匯出樣板

在開始之前,確認 emcc 在你的 PATH 中是可用的。這通常是由 Emscripten SDK 配置的,例如在呼叫 emsdk activatesource ./emsdk_env.sh/emsdk_env.bat 時。

開啟終端機,並移至 Godot 原始碼的根目錄。接著使用 SCons 來為 JavaScript 平台建置。將如果要建置正式版本,請將 target 指定為 release ,若要建置除錯版本,請將 target 指定為 release_debug

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

預設情況下, JavaScript 單例 會被建置至引擎內。官方的匯出樣板中也有開啟 JavaScript 單例。由於 eval 呼叫有安全性疑慮,因此可以通過 javascript_eval 選項來建置不包含該單例的版本:

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

引擎會通過 Emscripten 來編譯至 WebAssembly。完成之後,產生的檔案會被放在 bin 子資料夾中。正式版本 (release) 的檔案名稱為 godot.javascript.opt.zip ,除錯版本 (debug) 為 godot.javascript.opt.debug.zip

最後,將用於正式樣板 (release) 的 ZIP 檔重新命名為 webassembly_release.zip

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

並將用於除錯樣板 (debug) 的 ZIP 檔重新命名為 webassembly_release.zip

mv bin/godot.web.opt.debug.wasm32.zip bin/web_debug.zip

GDExtension

由於性能和相容性的原因,預設的匯出範本不包括執行緒和 GDNative 支援。更多資訊見:ref:匯出頁面 <doc_javascript_export_options>

你可以使用選項 threads_enabled=yesgdnative_enabled=yes 建構匯出範本,以啟用執行緒或 GDNative 支援:

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

產生的二進位檔會放在 bin/ 子資料夾中。通常來說會依照下列命名慣例:

最後,將用於正式樣板 (release) 的 ZIP 檔重新命名為 webassembly_release.zip

mv bin/godot.web.opt.wasm32.dlink.zip bin/web_dlink_release.zip
mv bin/godot.web.opt.debug.wasm32.dlink.zip bin/web_dlink_debug.zip

內建主題編輯器。

也可以建立一個可以在瀏覽器中運作的 Godot 編輯器版本。編輯器版本需要執行緒支援,不推薦使用本地建構。你可以用以下方法建構編輯器:

scons platform=web target=editor

產生的二進位檔會放在 bin/ 子資料夾中。通常來說會依照下列命名慣例:

關於網路伺服器的要求,請參考:ref:匯出頁面 <doc_javascript_export_options>

小訣竅

Godot 儲存庫包含一個「託管本機 Web 伺服器的 Python 腳本 <https://raw.githubusercontent.com/godotengine/godot/master/platform/web/serve.py>」。這可用於在本地測試網頁編輯器。

編譯編輯器後,提取在「bin/」資料夾中建立的 ZIP 存檔,然後在 Godot 儲存庫根目錄中執行以下命令:

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

這將提供 bin/ 資料夾的內容並自動開啟預設的 Web 瀏覽器。在打開的頁面中,存取“godot.tools.html”,您應該能夠通過這種方式測試 Web 編輯器。

請注意,對於生產用例,不應使用此基於 Python 的 Web 伺服器。相反,您應該使用已建立的 Web 伺服器,例如 Apache 或 nginx。