忽如一夜春风来,千树万树梨花开。经过两个月的努力,从秋天到冬天,Galacean Engine 终于引来了 0.6 版本的发布。
还在等什么,一起来尝鲜吧!
新增离线烘焙工具包。在之前的 PBR 美术工作流中,不管是开发者还是美术开发者,都会因为 PBR 的复杂概念和 IBL 烘焙、漫反射球谐烘焙等美术资源的割裂,很难上手整个渲染流程。因此,我们开发了离线烘焙工具包,并集成到了编辑器和 ** glTF Viewer**,然后上传到编辑器中,即可绑定环境贴图,其中的 IBL 离线烘焙、漫反射球谐烘焙等过程都会自动处理,就算您是零基础的用户,也能轻易上手。除此之外,我们在渲染侧实现了离线烘焙、HDR 渲染、色彩空间校正,PBR 的渲染效果也比之前更加逼真。
由于编辑器暂未开放,直接使用引擎的开发者可以使用 glTF Viewer ,将 HDRI 贴图拖入到 glTF Viewer 中得到烘焙产物。
新增物理系统。引入了由 WebAssembly 编译的** [PhysX](https://developer.nvidia.com/gameworks-physx-overview) 作为物理系统的底层,并且设计了多后端架构。因此,我们对物理组件进行了一次合理的 BreakingChange 调整。在一套接口下,我们实现了 _Physics-Lite_(轻量版,不依赖 PhysX,功能简单)** 和_ Physics-PhysX_**(高级版,可以实现复杂的物理效果)**两个物理包,前者基于0.5 版本中遗留的物理系统,后者基于 PhysX 4.1,兼容重度轻度物理场景与物理场景。开发者只需要在引擎初始化时进行配置,后续的开发过程中无需关心到底使用了哪种后端物理包。除了接口的重构,Physics-Lite 在功能上也做了同步升级,支持多 ColliderShape
的组合。未来我们主要会开发 Physics-PhysX,并且适度增强 Physics-Lite 的功能以支持轻量级应用。
编辑器也全面适配最新的物理组件,添加UI列表功能,使得在同一个碰撞器中添加多种 ColliderShape
:
详细接口设计与架构可以参考 Wiki(https://github.com/galacean/engine/wiki/Physical-system-design),后续我们会在公众号等平台推出《物理第二弹:物理多后端与组件架构设计》,《物理第三弹:实现轻量级碰撞检测算法包》等一系列介绍 PhysX 以及物理组件架构的技术文章。
新增输入系统。该系统是引擎功能长期缺失的部分,之前开发者反馈实现点击等交互需求的代码比较繁琐,v0.6 全新的输入系统将大幅减少编写交互功能的代码量。支持了 Pointer 类型的事件,抹平了鼠标和触屏事件的差异,能够满足常用的点击、脱拽等交互需求,并且在脚本组件的生命周期函数中增加对交互事件的响应,简化了注册输入事件的成本。鼠标滚轮(Wheel)、键盘(Keyborad)等事件会在以后的版本中支持。
PrimitiveMesh
新增 createCapsule()
方法,可快速方便的创建圆柱体。Texture2D
、RenderColorTexture
和 RenderColorTexture
的读取像素接口 getPixelBuffer()
增加 miplevel
参数,可以指定读取像素的纹理等级。miplevel
参数,可指定渲染的纹理等级。ModelMesh
时支持更多 UV 通道和顶点色。getCurrentAnimatorState()
,可以获取当前播放的动画状态。rotateAxisAngle()
方法。详见 Change Log:https://github.com/galacean/engine/releases/tag/v0.6.0
欢迎大家 star 我们的 github 仓库,也可以随时关注我们后续 v0.7 的规划,也可以在 issues 里给我们提需求和问题。开发者可以加入到我们的钉钉群里来跟我们吐槽和探讨一些问题: