使用Web编辑器

从Godot 3.3开始,有一个 `Web editor<https://editor.godotengine.org/>`__ ,你可以用它来处理新的或现有的项目.

注解

web编辑器正处于初步阶段.虽然其功能集可能足以满足教学目的,但目前 不建议用于生产工作 .见下文 限制 .

浏览器支持

Web编辑器需要支持WebAssembly的SharedArrayBuffer.这也是支持浏览器中线程的必要条件.以下桌面浏览器支持WebAssembly线程,因此可以运行Web编辑器:

  • Chrome 68或更高版本

  • Firefox 79或更高版本

  • Edge 79或更高版本

目前还不支持Opera和Safari.一旦加入适当的线程支持,Safari可能会在未来支持.

目前不支持移动浏览器.

web编辑器支持GLES3和GLES2渲染器,不过为了更好的性能和对旧的低端硬件的兼容性,建议使用GLES2.

注解

如果你使用的是Linux,由于 `火狐WebGL性能差<https://bugzilla.mozilla.org/show_bug.cgi?id=1010527>`__ ,建议使用基于Chromium的浏览器而不是火狐.

限制

由于受到Godot或Web平台端的限制,目前缺少以下功能:

  • 不支持C#/Mono.

  • 不支持GDNative.

  • 没有项目导出.作为一种解决办法,你可以使用 Project > Tools > Download Project Source [项目 > 工具 > 下载项目源],然后使用 `原生版本的Godot编辑器<https://godotengine.org/download>`__ 导出.

  • 当关闭带有未保存更改的选项卡时,编辑器不会警告您.

  • 不支持光照贴图烘焙.您仍然可以使用现有的光照贴图,如果它们是用本地版本的Godot编辑器烘焙的(例如,通过导入现有的项目).

由于Web平台的固有局限,不太可能支持以下功能:

  • 不支持外部脚本编辑器.

  • 尚不支持 Android 一键部署.

参见

参见GitHub上与网页编辑器相关的 `公开问题列表<https://github.com/godotengine/godot/issues?q=is%3Aopen+is%3Aissue+label%3Aplatform%3Ahtml5+label%3Atopic%3Aeditor>`__ ,了解已知的bug列表.

导入项目

要导入一个现有的项目,目前的流程如下:

  • 使用 Preload project ZIP [预载项目ZIP]输入指定一个ZIP文件以预载到HTML5文件系统.

  • 点击**Start Godot editor** [启动Godot编辑器]来运行编辑器.10-20秒后应出现Godot项目管理器.在较慢的机器或连接中,加载可能需要一分多钟.

  • 在窗口中间出现的对话框中,为要创建的文件夹指定一个名称,然后单击 Create Folder [创建文件夹]按钮(不必与ZIP存档的名称相一致).

  • 点击 Install & Edit [安装与编辑],项目将在编辑器中打开.

注意

将项目文件夹放在 /home/web_user/ 中很重要.如果你的项目文件夹放在 /home/web_user/ 之外,当你关闭编辑器时,将失去项目!

当你按照上述步骤操作时,项目文件夹将始终位于 /home/web_user/projects 中,以保证其安全.

编辑和运行一个项目

与原生版本的Godot不同,web编辑器只限于一个窗口.因此,当运行项目时,它不能打开一个新窗口.当你通过点击运行按钮或按 F5 运行项目时,它将出现 “替换” 编辑器窗口.

web编辑器提供了另一种处理编辑器和游戏窗口的方式(现在是 “选项卡” ).您可以使用顶部的按钮在 编辑器游戏 选项卡之间切换.您也可以通过点击这些选项卡旁边的 × 按钮来关闭正在运行的游戏或编辑器.

我的项目文件在哪里?

由于浏览器的安全限制,编辑器会将项目文件保存到浏览器的IndexedDB存储中.这个存储在你的机器上并不能以普通文件夹的形式访问,而是被抽象在数据库中.

您可以通过 Project > Tools > Download Project Source [项目 > 工具 > 下载项目源文件],将项目文件下载为ZIP档案.这可以用来使用 `原生Godot编辑器<https://godotengine.org/download>`__ 导出项目,因为还不支持从web编辑器导出.

将来可能会使用 HTML5 FileSystem API 来将项目文件存储在用户的文件系统中,就像本地编辑器那样,然而,这还没有实现.