内容简介:蚂蚁图形引擎 Oasis Engine 0.6 版本已发布,Oasis Engine 是一个移动优先的高性能 Web 图形引擎,被广泛应用在支付宝五福、打年兽等各种互动业务中的图形引擎。 主要变化: 新版本增加离线烘焙工具包,使用户能够...
蚂蚁图形引擎 Oasis Engine 0.6 版本已发布,Oasis Engine 是一个移动优先的高性能 Web 图形引擎,被广泛应用在支付宝五福、打年兽等各种互动业务中的图形引擎。
主要变化:
- 新版本增加离线烘焙 工具 包,使用户能够更快更好地获得高质量的 PBR 渲染效果;
- 增加强大的 PhysX 物理系统,在功能和性能上相比上个版本都有明显提升;
- 增加输入系统,弥补了引擎在交互功能上的短板,大幅减少编写交互功能的代码量;
- 还有其他微小而美好的功能打磨和更新...
渲染系统
新增离线烘焙工具包。在之前的 PBR 美术工作流中,不管是开发者还是美术开发者,都会因为 PBR 的复杂概念和 IBL 烘焙、漫反射球谐烘焙等美术资源的割裂,很难上手整个渲染流程。
因此,我们开发了离线烘焙工具包,并集成到了编辑器和 glTF Viewer 中,用户只需要从网上选择满意的 HDRI 贴图,然后上传到编辑器中,即可绑定环境贴图,其中的 IBL 离线烘焙、漫反射球谐烘焙等过程都会自动处理,就算您是零基础的用户,也能轻易上手。除此之外,我们在渲染侧实现了离线烘焙、HDR 渲染、色彩空间校正,PBR 的渲染效果也比之前更加逼真。
由于编辑器暂未开放,直接使用引擎的开发者可以使用 glTF Viewer ,将 HDRI 贴图拖入到 glTF Viewer 中得到烘焙产物。使用详见教程:https://oasisengine.cn/0.6/docs/light-cn#ibl-%E6%A8%A1%E5%BC%8F
物理系统
新增物理系统。引入了由 WebAssembly 编译的 PhysX 作为物理系统的底层,并且设计了多后端架构。因此,我们对物理组件进行了一次合理的 BreakingChange调整。在一套接口下,我们实现了 Physics-Lite(轻量版,不依赖 PhysX,功能简单) 和 Physics-PhysX(高级版,可以实现复杂的物理效果)两个物理包,前者基于0.5 版本中遗留的物理系统,后者基于 PhysX 4.1,兼容重度轻度物理场景与物理场景。开发者只需要在引擎初始化时进行配置,后续的开发过程中无需关心到底使用了哪种后端物理包。
除了接口的重构,Physics-Lite 在功能上也做了同步升级,支持多 ColliderShape
的组合。未来我们主要会开发 Physics-PhysX,并且适度增强 Physics-Lite 的功能以支持轻量级应用。使用详见文档:https://oasisengine.cn/0.6/docs/collider-cn
编辑器也全面适配最新的物理组件,添加UI列表功能,使得在同一个碰撞器中添加多种 ColliderShape
:
详细接口设计与架构可以参考 Wiki,后续会在公众号等平台推出《Oasis 物理第二弹:物理多后端与组件架构设计》,《Oasis 物理第三弹:实现轻量级碰撞检测算法包》等一系列介绍 PhysX 以及物理组件架构的技术文章。
输入系统
新增输入系统。该系统是引擎功能长期缺失的部分,之前开发者反馈实现点击等交互需求的代码比较繁琐,v0.6 全新的输入系统将大幅减少编写交互功能的代码量。支持了 Pointer 类型的事件,抹平了鼠标和触屏事件的差异,能够满足常用的点击、拖拽等交互需求,并且在脚本组件的生命周期函数中增加对交互事件的响应,简化了注册输入事件的成本。鼠标滚轮(Wheel)、键盘(Keyborad)等事件会在以后的版本中支持。
使用详见文档:https://oasisengine.cn/0.6/docs/input-cn
其他更新
引擎功能
- 动画系统增加了状态机脚本,开发者可以方便的在动画状态开始/更新/结束处编写自己的业务逻辑。
PrimitiveMesh
新增createCapsule()
方法,可快速方便的创建圆柱体。Texture2D
、RenderColorTexture
和RenderColorTexture
的读取像素接口getPixelBuffer()
增加miplevel
参数,可以指定读取像素的纹理等级。- Camera.render() 方法增加
miplevel
参数,可指定渲染的纹理等级。 - glTF 解析
ModelMesh
时支持更多 UV 通道和顶点色。 - Animator 增加
getCurrentAnimatorState()
,可以获取当前播放的动画状态。 - 精灵 Sprite 增加克隆功能。
- 四元数 Quaternion 增加
rotateAxisAngle()
方法。 - SkyBox 材质增加 RGBM HDR 编码格式支持。
- 引擎入参增加色彩空间配置,默认线性空间。
-
直接光照改为物理单位,即除以 PI。如果觉得之前的场景变暗,属于正常现象,可以尝试添加HDR环境贴图。
详见 Change Log:https://github.com/oasis-engine/engine/releases/tag/v0.6.0
编辑器功能
- 资产面板新增目录树功能,支持资产拖拽移动。
- 优化 Gizmo 用户体验。
- 新增脚本组件名字优化。
- 完成雨燕工程的打通。
- 修复若干 Bug,优化体验。
示例
分类 |
示例 |
Mesh |
|
动画 |
|
物理 |
|
材质 |
|
交互 |
|
场景 |
|
0.7 版本预告
- 物理:进一步挖掘 PhysX 物理引擎特性,扩充 DynamicCollider 的方法以支持刚体运动,并且增加刚体约束,角色控制器等组件。
- 纹理:对纹理的结构进行整合重构,并新增 Texture 纹理数组等功能。
- 文字:增加 2D 文字系统,进一步完善功能闭环和 2D 能力。
以上所述就是小编给大家介绍的《蚂蚁图形引擎 Oasis v0.6 发布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。