为Web平台编译

需求

要编译Web的导出模板, 需要以下内容:

参见

有关Godot的SCons用法的一般概述, 请参阅 构建系统介绍.

构建导出模板

在开始之前,确认 emcc 在你的PATH中是可用的。这通常是由Emscripten SDK配置的,例如在调用 emsdk activatesource ./emsdk_env.sh/emsdk_env.bat 时.

打开终端并导航到引擎源代码的根目录. 然后指示SCons构建JavaScript平台. 为发布版本将 target 指定 release, 或为调试版本将 target 指定 release_debug:

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

默认情况下, JavaScript singleton 将被内置到引擎中. 官方导出模板也启用了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

现在, 引擎将由Emscripten编译为WebAssembly. 完成后, 生成的文件将放在 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

线程和GDNative

由于性能和兼容性的原因,默认的导出模板不包括线程和GDNative支持。参见 export page 以获得更多信息。

你可以使用选项 threads_enabled=yesgdnative_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 后缀.

最后,将压缩文件重命名为 webassembly_release_threads.zipwebassembly_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.zipwebassembly_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内容上传到你的网络服务器上,然后用浏览器访问它来使用编辑器。

关于网络服务器的要求,请参考 导出页面