版本 1.2.0

版本 1.2.0

这是我们迄今为止最强大的版本发布,带来了如 Bloom 和 Tonemapping 等后期处理特效,支持 HDR 环境,图像照明的改进,动画混合,变形目标,以及基于 JavaScript/Typescript 的编辑器 API 来编写自定义工具。

增强测试 

我们创建了一个测试框架,可以比较项目的渲染结果,以自动测试我们的示例

我们将此框架开放源码,以允许您测试自己的项目。

隐藏的更改 

此版本充满了隐形的基础工作,确保引擎和编辑器的架构随着即将到来的功能而扩展:

  • 我们重构了编辑器的内部数据模型,使其更易于维护、更快并能捕获错误。
  • 动画系统现在使用动画图。虽然它们尚未向您暴露,但它们已经启用了新的功能,例如动画混合。
  • 多个场景现可在运行时进行处理。这在从 JavaScript 附加和加载场景时已经很有用,但很快也将允许高效管理跨多个场景和资源包的资源。
  • 自定义组件的序列化格式已更改,支持未来更多的属性类型。

更新日志 

编辑器

  • 添加 “动画工具” 视图,用于为动画添加事件轨道
  • 添加基于 JavaScript/Typescript 的编辑器插件 API,以构建自定义视图和工具
  • 为动画组件添加 1D 和 2D 混合支持
  • 重新设计 UI,修复许多 UX 问题并更有效利用窗口空间

旧:

版本 1.2.0
新:
版本 1.2.0

  • 修复当选择具有静态物理组件的对象时的无限打包循环
  • 在项目向导中添加搜索栏以搜索最近的项目
  • 添加 JSON 解析错误,当加载项目文件或其他 JSON 文件失败时
  • 允许读取带有尾随逗号的 JSON 文件以更容易解决合并冲突
  • 识别 .tsx.jsx 作为脚本扩展
  • 添加对加载 HDR 图像的支持
  • 场景视图:现在可以使用 Shift 加 Num7、Num1 和 Num3 从对齐方向的相反方向查看
  • 场景视图:修复如果轴垂直于视图,Gizmo 轴无法点击的问题
  • 场景视图:使用 Alt 加左键模拟中键
  • 场景视图:修复网格可视化渲染模式
  • 场景视图:添加光可视化的切换
  • 项目设置:在渲染设置中也显示次级纹理坐标
  • 添加关于 iOS Safari 在未压缩图集最大设置上的警告
  • 显著提高整体编辑器性能
  • 资源视图:为材质资源添加复制和粘贴功能
  • 添加选项以禁用将 PBR 材质导入为 Phong
  • 添加启动项目时使用 HTTPS 的复选框,如果 SSL 设置已完成
  • 默认情况下避免打包未引用的网格
  • 支持具有单独的切线和副切线属性的场景文件
  • 修复 npm install 和所需 API 包升级之间的竞争状态
  • 消除图像压缩期间的纹理图集错误
  • 修复初次加载项目时材质缩略图未渲染
  • 添加 Alt+G, Alt+R 和 Alt+S 重置选定对象的位置、旋转和缩放
  • 将 “模拟物理” 快捷键移动到 Alt+Shift+S
  • 用 WEBP 替换未压缩图片
  • 添加 importPhysicalAsPhong 项目设置以允许禁用它
  • 修复 --import 参数未正确编译导入场景的问题
  • 添加对导入 EXR 文件的支持

引擎

  • 添加对 1D 和 2D 动画混合的支持

  • 添加对动画事件轨道的支持

  • 添加对 HDR 环境的支持

    截图:Wonderland 引擎中具有 HDRI 环境的 PBR 渲染

  • 添加从天空和 HDR 环境烘焙镜面和漫射 GI 探针

  • 添加对球谐函数漫射 GI 探针的支持

  • 在自定义材质中支持 16 位浮点(“半浮点”)参数,使用 mediump 声明

  • 添加对变形目标(也称为混合形状)的支持

  • 添加使用 ACES、近似 ACES、Reinhard 或指数方法的色调映射支持
  • 使用高度有效的移动 GPU 友好算法重新实现 bloom
  • 修复禁用 SHADOW_NORMAL_OFFSET_SLOPE_SCALE 时的着色器编译错误
  • shaders: 修复动态索引警告
  • 切换自定义组件参数的内部序列化格式以支持未来的更多类型
  • 为多绘制渲染器实现进一步的 GPU 顶点提取和过度绘制优化
  • windows: 修复不同存储卷上的项目问题

运行时

  • 添加通过场景句柄加载和更改多个场景以及切换活动场景的支持
  • 修复通过 JavaScript API 更新网格数据时的崩溃
  • 修复克隆对象根部的过时变换

JavaScript/TypeScript API

  • 澄清和改进文档
  • 添加 AnimationComponent.setParameterFloat.getParameterFloat 控制混合参数
  • 添加 MeshManager.create()TextureManager.create(),不推荐使用 new Mesh()new Texture()
  • 添加 AnimationComponent.onEvent 以响应动画事件轨道的事件
  • 添加 PhysXComponent.sleepOnActivate
  • 添加 TextComponent.getBoundingBox 以检索渲染文本的边界框
  • 添加 ScenePrefab:可以激活和实例化的场景部分
  • 添加 Property.vector2, Property.vector3Property.vector4
  • 添加 TextComponent.getBoundingBoxTextComponent.getBoundingBoxForText
  • 修复 Object3D.clone() 有时会错误地克隆一个组件两次
  • 修复 Object3DComponent 在被引擎销毁时未标记为已销毁
  • 在资源类中弃用 .equals()。现在您可以使用 =====
  • 弃用 TextComponent.justification 并重命名为 TextComponent.verticalAlignment

组件

  • 添加 orbital-camera 组件
  • 添加 input-profile 组件用于集成 webxr-input-profiles
  • trail: 正确处理停用

开源贡献者 

特别感谢社区的开源贡献,尤其是:

Last Update: May 2, 2024

保持更新。