版本发布 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.transformWorld
和set 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