管理您的 Cookie 设置。您可以在下方启用或禁用不同种类的 Cookie。详情请查看我们的隐私政策

Wonderland Engine 1.4.0 - GI 探测体积, Reverse-Z, 数组属性

稀疏全局光照探测体积, Reverse-Z, 新的自定义组件参数类型(数组和记录)。查看完整变更日志如下。

稀疏全局光照探测体积 

本次发布的亮点是我们高端的探测体积实现技术。我们的方法是通过对场景进行体素化,在场景中放置球谐函数漫射光探测器,并在表面附近分布这些探测器。由于我们仅在必要的地方放置探测器并高效地利用数据,因此在 GPU 和下载时间上都非常轻量。

探测器直接从编辑器中烘焙。间接光照甚至应用到动态和蒙皮对象上。

上述场景大约有 52,000 个探测器,总共需要下载约 2.5MB 的 GI 数据。

Reverse Z 

感谢 Playko 对此功能的赞助。

Reverse Z 示例。

由于 32 位浮点数在接近零时具有较高的精度,因此通常用于 NDC 坐标(投影结果)的精度范围从 -1 到 1 是次优的,可能导致在近距离和远距离产生明显的 z-fighting 伪影。非常近或远的裁剪平面距离设置会加剧这一效果。

Reverse-Z 配置 NDC 空间和投影矩阵,以便最佳地利用 32 位浮点数的精度分布,从而能渲染非常近和非常远的对象,没有通常的 z-fighting 伪影。

查看Reverse-Z 示例。

始终使用 SIMD 

由于 WebAssembly SIMD 的广泛采用,我们去除了所有非 SIMD 版本的运行时。这意味着,-simd 后缀不再使用并隐含在运行时名称中。

支持旧版本 1.0.0 之前的项目 

很难相信 Wonderland Engine 1.0.0 已经在两年前发布。

在 1.4.0 版本中,我们移除了 38 个用于更新 1.0.0 之前版本项目文件的迁移。这表明我们对向后兼容性是多么看重。

如果您有一个旧版本少于 1.0.0 的项目文件,并希望在 1.4.0 中继续使用它,可以首先在 1.3.4 或更早版本的 Wonderland Engine 中打开并迁移到 1.0.0 之后的版本。

变更日志 

编辑器

  • 在项目设置中新增全局光照部分,用于创建和配置探测体积。
  • 修复了删除的场景文件导入导致实例化旧文件内容的问题。
  • 在资源视图 > 图片中公开图像压缩质量和率失真优化(RDO)设置。
  • Linux: 启用崩溃报告。
  • 改进编辑器内的登录界面,实现从浏览器登录(方便密码管理器使用)。
  • 修复各种崩溃问题。

引擎

  • EXT_clip_control 可用时使用 Reverse-Z。
  • 通过稀疏 GI 探测体积引入新的烘焙全局光照。
  • 修复 EPSILON_F 常量在低端安卓设备上无效的问题。
  • 更新到 meshoptimizer 0.23(可能带来约 5-10% 的网格文件大小优化)。
  • 修复插件热重载可能导致插件视图中多余插件条目的问题。
  • 优化在低端设备上的瓦片反馈缓冲区评估。
  • 修复点光源阴影上的伪影。

运行时

  • 去除 WebAssembly 运行时的非 SIMD 版本。
  • 通过 ImageBitmap 优化未压缩纹理上传。
  • 允许从 ImageBitmap 上传纹理。

运行时 API

  • 增加 Property.array()Property.record()

Docker 镜像

  • 基础镜像从 Ubuntu 20.04 切换到 22.04。

插件 API

  • 我们现在要求插件的 package.json 中必须存在 "wonderlandengine" 键。
  • 增加实验性 tools.computeMeshBounds(mesh)
  • 增加 ui.inputTextMultiline()
Last Update: June 4, 2025

保持更新。