版本发布 0.8.5

版本发布 0.8.5

现代 JavaScript 支持,改进的植被渲染管道,项目模板,以及众多错误修复和性能优化,大大提高了稳定性。

> 完整变更日志

深入了解 

此版本增加了一些非常强大的新功能,建议深入了解:

现代 JavaScript 支持 

虽然这使您可以在 ES6+ 中构建您的自定义组件, 利用 const=>class,但这项功能远不止于此。

它让您可以使用整个 NPM 生态系统,自行打包 JavaScript 代码, 甚至可以使用其他语言如 TypeScript!

由于我们希望 Wonderland Engine 能很好地与您的打包流程集成,我们发布了 两个软件包:[@wonderlandengine/api] 和 @wonderlandengine/components

管道 

对 GPU 管道功能(如混合)的更精细控制,让您能够构建各种效果。管道还允许禁用部分着色器,通过只使用您实际需要的功能来调整性能。

随之而来的是一个强大的新“植被”管道,提供更高质量的带有 alpha 遮罩的植物模型。

项目模板 

Wonderland Engine 的快速开发工作流程已经让您极为高效。不过,根本不需要做某些事情可能会_更快_。为了减少必要的样板工作,我们现在提供了模板来启动您的项目。

如果您需要更多的模板,可以创建自己的模板并与社区共享。

变更日志 

编辑器

  • 通过 V8 支持 JavaScript ES2018
  • 编辑器现在解析结果包而不是源 js 文件
  • 添加了通过 npm 脚本构建 JavaScript 包的选项
  • 开源内置编辑器组件
  • 将编辑器组件发布为 npm 包
  • 为创建项目添加了项目模板
  • 支持自定义项目模板
  • 添加了管道支持
    • 添加了对透明度覆盖(“alpha masking with MSAA”)的支持
    • 添加了任意混合配置的支持
    • 添加了禁用深度测试和深度写入掩码的选项
    • 添加了对双面材料的支持
    • 为具有透明度覆盖的双面材料添加了“植被”管道
  • 为 JavaScript 包添加了源映射生成
  • 为压缩纹理地图添加了实验性多重渐远纹理支持
  • 添加了从属性视图到场景大纲的 Ctrl + 拖放以将组件复制到其他对象
  • 在项目设置中添加了 framebufferScalingFactor 设置
  • 在场景视图中启用了 MSAA 以匹配运行时外观
  • 改进了场景加载时间
  • 在资源浏览器的文件区域中添加了文件夹
  • 修复了打包时进行修改时的少数罕见崩溃
  • 修复了将空白内容拖入资源浏览器时的崩溃
  • 修复了使用 --windowless 标志在失败时的返回值
  • 修复了资源视图中的表行高亮显示
  • 修复了资源视图中无法重命名某些资源的问题
  • 修复了属性下拉菜单中某些资源无法选择的问题
  • 修复了具有父对象的对象在场景视图中的缩放控制
  • 改善了用户界面样式和布局
  • 改善了包含许多对象的场景中转换控制的流畅性
  • 改善了 OBJ 文件导入的支持
  • 删除了多余的日志输出以减少混乱

模板

  • 添加了具有命中测试的“移动 AR”模板
  • 添加了具有手部追踪、控制器、传送运动和光标交互的“VR”模板

运行时

  • 模块化 JavaScript API
  • 开源 API (https://github.com/WonderlandEngine/api)
  • 将 API 发布为 npm 包 (https://www.npmjs.com/package/@wonderlandengine/api)
  • 默认请求并选择最先进的所有 WebXR 参考空间
  • 修复了开发大项目时 WasmMemroy 在 Oculus Quest 上无法分配的问题
  • 修复了停用蒙皮网格时的崩溃
  • 改进了进入 VR/AR 的按钮
  • 添加了背景渐变以在运行时首次绘制前获得更好的外观
  • 修复了在浏览器控制台中错误记录为错误的警告
  • 修复了在编辑器中停用的 JavaScript 组件上调用 start()

引擎

  • 修复了启用辉光时的抗锯齿
  • 改进了对 Box 和 AxisAlignedBox 的射线投射性能
  • 改进了更新文本的性能
  • 显著改进了许多动态对象树(蒙皮网格)的场景图性能

JS API

  • 修复了在访问 WL.Material.* 参数时的异常
  • 添加了 WL.PhysXComponent.shape, extents 和其他属性的 setter 以修改 PhysX 刚体
  • 添加了 WebXR.refSpace 以选择参考空间
  • 修复了 WL.Object.getComponents() 有时返回错误组件类型的问题
  • 添加了 WL.Object.active 以(停用)激活对象上的所有组件
  • 添加了 set WL.Object.transformWorldset WL.Object.transformLocal
  • 修复了在 onActivate() 时改变时 active 状态变为无效的问题
  • 显著改善了堆内存波动和垃圾收集行为

JavaScript 组件

  • cursor: 添加了 cursorRayScalingAxis 以在特定轴上缩放光线对象
  • cursor: 修复了现在 onHover() 接收悬停对象参数
  • teleport: 重构以支持 VR 会话中的摇杆和方向输入
  • teleport: 修复了传送空间中心而不是玩家的问题
  • vr-mode-active-switch: 修复了被停用时的行为,现在避免自我停用
  • hand-tracking: 添加了选项以根据是否提供姿势来显示(停用)显示网格和控制器对象
  • 添加了 finger-cursor 组件,通过碰撞重叠(例如手部追踪时的食指尖)与 cursor-target 交互

Docker 镜像

  • 将基础镜像切换为 ubuntu:20.04
  • 为候选测试者添加 edge 标签
Last Update: June 18, 2021

保持更新。