Wonderland Engine 1.5.0
支持 WebGPU,具备完整的 WebGL2 功能对等性,探针体积方案、运行时烘焙、音频资源和粒子效果 JS API。
物理透明涂层
默认的 Physical 渲染管道添加了透明涂层支持。


模型 ZIS-101A Sport (1938),由 Comrade1280 提供
更新日志
编辑器
- 新增探针体积方案资源
- 拆分探针体积体素化和烘焙。现在可以在烘焙之前查看体素化结果。
- 使探针体积烘焙可以被取消。如果重新启动,将从取消的地方继续。
- 加速探针体积烘焙的场景体素化
- 允许选择 WebGPU 作为仅渲染 API
- 可以配置阴影地图的大小,运行时限制在支持的大小内
- 在分析视图中显示更细粒度的 GPU 计时
- 优化场景视图调试可视化渲染
- 允许从场景大纲在工作区中切换项目
- 修复一些切换项目后数据过时的情况
- 重新实现撤销/重做功能,使其在切换项目后正常工作
- 项目加载失败时显示弹窗
- 新增项目文件导出和导入功能。导出会创建一个包含所选对象和所有引用资源的新 .wlp。导入会将导出的 .wlp 合并到当前项目中。
- 添加新的粒子效果资源。目前可以从新的
ParticleEffectComponentJS 组件使用,用于程序化创建效果。未来版本计划推出无代码效果创建界面。 - 添加新的音频片段资源。音频文件将与打包的 .bin 一起部署为单独的文件。
- 允许在场景视图中仅对选定对象过滤碰撞和物理调试可视化
- 插件视图中添加安装按钮,简单安装捆绑插件
- 新增
loadUncompressedImagesAsBitmap运行时设置,用于将未压缩的图像作为ImageBitmap加载(而不是HTMLImageElement等) - 新增
deferSkinningCompilation渲染设置,将蒙皮着色器编译延迟到第一次使用 - 在旧项目上正确回退到
importPhysicalAsPhongMaterials编辑器设置 - 修复拖放资源到对象时的一次回归
- 如果必要,将材质颜色转换到 sRGB
- 在管道变化时最小化着色器重新编译
- 处理包含空轨道列表的动画
- 关闭动画预览时重置所有变换
- 消除压缩图像时的竞争条件
- 修复撤销创建资源的操作
- 在控制台视图中滚动至底部活动时使用正确的偏移量
- 改进不同 Windows 驱动器上项目的路径处理
- 在所有操作系统上使文件监视更加可靠
- 更优雅地处理一些无效组件异常情况
- 反应对 app.js 和 index.js 的变化
- 修复编辑长字符串文本输入时的罕见崩溃
- 修复切换
enableRuntimeGltf时的崩溃 - 修复多个与 webserver 相关的崩溃
- 在无窗口模式下启用崩溃处理
- 在资源视图中添加“替换引用”工具
引擎
- 实现具有完整功能对等性的 WebGPU 渲染后端
- 启用多重绘制时避免不必要的蒙皮网格更新
- 将探针体积方案打包为延迟加载的 .bin 文件
- 修复变形目标有时会错误定位到网格的问题
- 初始化克隆的动画组件时不带蒙皮
- 在启用 usePreZ 时消除 Meta Quest 上的伪影
- 使用物理着色器输出的反照率 alpha 值
- 为物理着色器添加
CLEARCOAT功能,用于渲染类似车漆的光滑透明材料 - 使用环境探针在物理着色器中渲染多重散射
- 优化移动 GPU 上的物理着色器
- 对于缩放为 0 的网格跳过一些顶点着色器工作
- 改善与一些旧移动 GPU 的蒙皮着色器兼容性
- 修复几个浏览器警告
运行时
- 捆绑所有启用 WebGPU 的运行时变体
- 启用 WebGPU 时使用正确的线程运行时
- 如果不支持或初始化失败回退到 WebGL2 运行时
- 使用多线程加载 glTF 以减少卡顿并提高加载多个文件时的性能。可以通过
GLTFOptions.async进行切换。 - 将嵌入的 glTF 图像 blob 直接传递给浏览器进行解码,跳过昂贵的 base64 转换
- 添加对 WebXR 图层的支持。通过请求
layersWebXR 功能启用。 - 在 Meta Quest 上使用
WEBGL_multisampled_render_to_texture与 WebXR 图层搭配 - 修复碰撞器可视化
编辑器 API
- 将
project重命名为workspace - 添加
workspace.projects[]用于访问每个项目的数据 - 添加
tools.saveProject() - 添加
tools.getComponentTypes() - 添加
ui.inputTextPassword() - 添加多个缺失的类型声明
- 消除调用
tools.packageProject()时编辑器挂起 - 修复
tools.computeMeshBounds()返回错误值 - 修复删除引用资源引发的编辑器崩溃
- 隐藏一些不可枚举的属性
JS API
- 添加
Environment.requestBake()用于从当前天空材质烘焙环境 - 添加
GLTFOptions.generateSimpleTangents以生成简单切线而不是使用 mikktspace。加速加载,但可能产生渲染伪影。 - 新增
ParticleEffectComponent用于生成和渲染实例化粒子效果 - 新增
ParticleEffect资源 - 新增
AudioClip资源 - 添加
Resource.origin获取一个资源加载的场景 - 添加
ResourceManager.loadedFromScene()查询从指定场景加载的所有资源 - 添加
ResourceManager.all()查询所有存在的资源 - 添加
Prefab.destroyResources()用于销毁从一个场景加载的所有资源 - 添加
AnimationGraphManager用于从多个动画创建 1D 混合图 - 添加
AnimationGraph.setPlaybackSpeed()用于控制单个动画图采样器的播放速度 - 添加
ViewComponent.getDirectionForScreenPosition()获取一组画布坐标的视图空间方向(例如用于射线投射鼠标点击) - 添加
visualize设置到CollisionComponent和PhysXComponent用于控制每个组件的调试可视化可见性 - 确保切换
LightComponent.shadows实际更新阴影渲染 - 修复
ViewComponent.getViewport()返回无效数据的问题
Last Update: January 23, 2026
