简体中文
简体中文

Galacean Engine v0.8 发布

Bo Kou
August 02, 20228 min read

历经数月,Galacean Engine v0.8 正式发布,本次里程碑除了原本的 Engine 仓库外,为了生态更健康的发展,还为大家带来了包含一定业务向且具备通用性功能的工具包( Engine Toolkit )仓库。

Engine 物理方面增加了角色控制器,可以大幅减少角色类互动业务的开发成本,同时还引入了物理关节,可以快速完成弹簧、铰链等物理仿真效果。精灵方面增加了 slice(九宫)绘制模式文字方面通过内部机制的优化大幅减少了内存占用,并提升了一定性能。在交互方面增加了** Pointer Button 功能** ,交互功能也逐步趋于完善。

Engine Toolkit 仓库除包含原有 Engine 仓库的相机控制器、GPU 拾取性能数据统计功能外**,本次里程碑还新增了辅助线框绘制、平面阴影材质、蒙皮骨骼预览、Gizmo、后处理外描边、线条绘制**等功能,这些功能通常可以开箱即用,也非常欢迎开发者贡献该仓库。另外 Galacean Editor 的部分核心功能未来也由 Engine toolkit 提供支持,相信很多内行的同学已经看出本次里程碑新增的功能均为编辑器所需的核心功能。

Engine

物理更新

新增角色控制器

新版引擎支持了角色控制器组件,角色控制器支持胶囊体或盒子形状 。通过角色控制器可以为角色提供更多基于物理的反馈,配合 Animator 动画能力可以轻松实现障碍物翻阅,爬坡运动等功能。

Jul-28-2022 2-12-23 PM.gif

新增基础物理关节

另外还新增了固定关节,铰链关节和弹性关节,通过关节可以更加容易的控制动态碰撞器的运动约束,让物理仿真型互动效果更丰富,实现更简单。

Aug-01-2022 11-35-14 AM.gif

2D 更新

文字

文字系统底层大重构,文字的纹理基于单个字符进行缓存,对于大量文字渲染,性能和内存均得到大幅提升,以官网示例 文字弹幕 为例,性能提升** 20%**,如下左为重构前,右为重构后:

image.png
image.png

内存方面,基于字符缓存可以使内部字符纹理得到最大程度的复用,重构后文字弹幕示例内存至少节省了 50%,内存对比如下左为重构前,右为重构后(空画布内存 33.6 M):

image.png
image.png

精灵

精灵部分进行了大量重构,主要迎来两个更新:

  • 首先是渲染器可选择绘制模式 SimpleSlicedSimple 为默认模式对应 0.7 版本中的绘制,Sliced 则为新增的九宫绘制,与之配套的是开发者可以设置 SpriteBorder 达到自己期望的拉伸效果。
94acb9d48272c971662af915de9b90d7.gif
  • 同时,我们将控制渲染尺寸的属性放在了 SpriteRenderer 中,开发者可以通过 widthheight 来设置。

交互更新

InputManager 新增三项能力,已经解除对 H5 原生事件的依赖:

  • 支持滚轮,开发者可以在脚本系统中直接获取本帧滚轮改变的差值。
  • 获取触控按键状态,开发者可通过isPointerHeldDownisPointerDownisPointerUp 获取全局的触控按键状态,
  • 获取触控光标位置,开发者可通过 pointerPositionpointerMovingDelta 获取光标此刻在屏幕空间中本帧的位置与位移。

动画更新

BlendShape 动画在 webgl1.0 模式下能力得到增强,之前版本 webgl 1.0 模式下的 BlendShape 动画最大支持数量有一定限制,超过数量限制则在运行时中永远无法播放。新版本采用动态策略解决最大数量限制,运行时根据动画的权重比,动态播放权重影响较大的几个 BlendShape 动画,提升了 webgl1.0 降级模式下的动画效果和易用性。

其他

  • 相机支持 Color、Depth、Stencil 原子化清除能力,可以更灵活的控制渲染混合效果。
  • Shader.getMacroByName 增加变量宏缓存能力,ShaderData 增加 getMacros() 获取当前宏集合方法。
  • 数学类(Vector3Vector4Color 等)增加 copyFrom() 方法,支持和 Object 对象进行数据交互。
  • Renderer 增加 priority属性,增强渲染排序能力,解决深度相同对象渲染冲突问题。
  • Spritepivotreigion 调整至左下角。
  • 增加组件依赖装饰器 dependentCompoments ,配置组件依赖关系更简单。

0.9 里程碑预告

接下来会把更多的关注点放到用户层关注的高级功能,帮助开发者提升渲染效果和开发效率。渲染方面计划增加可支持大型场景渲染的实时阴影,动画方面会支持任意属性编辑,特效方面会增加拖尾效果。

小彩蛋

编辑器在这个里程碑经过了一次重大设计迭代和代码重构,支持 2D、3D、数字人等三类项目的创建,后续还会扩展更多实用的业务模板,比如 AR、动效等模板。此外,编辑器已支持第三方插件能力,基于插件机制可以快速支撑业务功能。接下去几个月,我们将在内部做进一步的测试和功能完善,期待年底开放与大家见面。

image.png

如下图所示,我们制作了数字人插件,用来实现捏脸、换装、动画等数字人业务需求。

截屏2022-08-01 下午12.05.01.png

如何联系我们

Galacean Engine 开源社区群 (钉钉):

JPG.png

Galacean Engine 开源社区群 (微信):

image.png

如果微信二维码失效,可添加群管理员微信:zengxinxin2010

Galacean Logo
Make fantastic web apps with the prospective
technologies and tools.
Copyright © 2024 Galacean
All rights reserved.