简体中文
简体中文
Galacean Engine v1.4 发布

Galacean Engine v1.4 发布

johanzhu
January 24, 202512 min read

经历了四个月的研发,Galacean Engine 1.4 现已正式发布 🎉

为了拓展更多的应用场景,我们支持了小游戏导出能力,并且初步补齐 GUI 功能,踏出了小游戏开发的第一步!为了满足互动项目不同角色的编辑需求,我们优化了各阶段的编辑体验,比如新增 Shader UIScript 让美术更方便地调整材质参数,又比如预览功能增强可以让程序开发实时预览脚本运行效果。我们也一如既往地坚持深耕渲染、动画、物理等系统的高级功能研发,以满足用户对高品质视觉效果和复杂交互能力的追求。

欢迎体验 Galacean Engine 1.4 版本,释放创作灵感,开启更多可能!以下是部分重点功能。

编辑器功能升级

新增小游戏导出功能

用户可以在新的项目导出面板中选择“微信小游戏”后点击将工程下载到本地,然后导入到微信开发者工具即可预览调试,下面是“像素小鸟”游戏导出到微信小游戏的演示。其他小游戏、小程序的支持也会后续尽快迭代,敬请期待!

预览功能优化

我们对场景编辑窗口的预览模式进行了重大升级,解决了以前无法执行脚本等缺陷,并且大幅提升了预览的加载速度,能够让你更快速地实时查看项目运行效果和调整细节。此外,我们还引入了观察模式,允许你以自由视角查看场景,增加了灵活性。新的预览模式仍然支持在新窗口中打开,并且无论选择哪种方式,你都可以看到编辑器中实时的更改结果。

新增三方登录

我们现在支持使用微信和支付宝登录编辑器平台。已注册用户可以通过侧边栏的头像进入账户设置,将现有邮箱账号绑定到这两个平台。

渲染系统

PBR 材质升级

此次版本对 PBR 材质 进行了升级,新增 Sheen(光泽)、Transmission(透射)和 Refraction(折射)效果,并全面支持兼容这些特性的 glTF 插件,支持模型导入时效果的无缝还原,无需额外转换操作。

  • Sheen:实现如天鹅绒、丝绸等材质的微妙光泽效果,展现柔和的表面反射和独特的质感,适用于高级布料、毛绒玩具等渲染需求。
  • Transmission(透射):可模拟光线穿过透明或半透明物体的效果,让材质呈现真实的光线散射和透明度,实现材质的自然透光表现,例如薄纸、塑料或冰块。
  • Refraction(折射):能够模拟光线在穿过不同介质时的偏折效果,再现透明或半透明材质的光学特性,实现玻璃、水晶、钻石等厚度物体的精美折射效果,同时也适用于液体表面等需要展现复杂光线行为的场景。
  • 此外,我们将 Thin Film Iridescence(薄膜干涉效应)也整合到了 PBR 材质中,你只需新建 PBR 材质即可轻松体验该效果,为材质增添真实的彩虹光泽。

Shader 新增 UIScript 功能

UIScript 能力支持材质 UI 属性直变化后的自定义回调,对于复杂的自定义 Shader 可以大幅简化 UI 面板冗余的属性。同时在编辑器中新建自定义 Shader 时,会自动生成附带 UI 脚本的 Shader 文件,方便个性化定制 UI。

此外,在 Shader 易用性和调试方面也做了诸多优化:

  • 多渲染目标(MRT):支持MRT(多渲染目标),允许在一次 Drawcall 中渲染到多张纹理,大幅减少 Drawcall 数量,同时支持 GLSL100GLSL300 两种声明方式。
  • 编译错误日志升级:ShaderLab提供了更详细、更友好的错误日志,帮助你快速、精准地定位编译错误,提升调试效率。截止 1.4 版本错误日志需通过浏览器控制台手动查看,我们计划在后续版本中新增编辑器控制台,以便更直观地访问相关信息。
  • 内置 Shader 代码查看:编辑器现已支持查看资产目录下内置 Shader 的代码段,便于你参考,提升自定义 Shader 开发效率。
  • Project URL 支持自定义 Shader:导出 Project URL 模式现已支持包含自定义 Shader。

后处理能力升级

新增局部后处理功能,可以在场景中根据局部空间定制后处理效果。并且支持多个后处理组件的效果混合,系统会根据权重和优先级自动混合,例如场景中包含多个局部后处理时,相机在场景移动的过程中后处理效果也会自然过渡。

此外,开放后处理管线支持自定义各种后处理效果,例如黑白胶片颗粒滤镜。

物理系统

新增接触点信息

碰撞回调中支持获取接触点信息,可以让你获取接触点的位置和法线等信息,你可以在接触点生成爆炸、火花或弹痕实现更逼真的效果。

新增关节组件

  • HingeJoint: 可以让碰撞器固定在一个轴上,可以模拟旋转门,车轮等效果。
  • SpringJoint:将碰撞器用弹簧与一个点或其他碰撞器连接,可以模拟弹簧,绳索等效果。
  • FixedJoint: 将两个碰撞器组合在一起,例如将木棍与铁块组合成一个锤子。

新增物理材质

你可以为不同的碰撞体设置不同的摩擦力和弹性,丰富物理表现。

其他物理相关功能更新:

  • 动态碰撞器支持单独开关重力,可以让某个个体不受重力影响。
  • 动态碰撞器新增了质心及转动惯量自动计算的能力,在一个碰撞器中有多个shape的情况,引擎会自动计算,不再需要手动修改。

动画系统

动画状态机新增了三项实用功能:

  • 新增 HasExitTime 配置:HasExitTime 启用后,需要动画播放到指定的 ExitTime 并且满足过渡条件才能触发,例如技能释放等需要播放完指定的时长才能切换到下一个动画。如果不启用只需要满足过渡条件就会切换,适用于被攻击等需要即时响应的动画。
  • 支持 Trigger 类型参数:在触发动画过渡后,参数会自动重置为 false,尤其适用于攻击、跳跃等需要单次响应触发的动画。
  • 支持 FixedDuration 配置:让过渡时间可以从“固定时长”和“动画时长的比例”中选择。

2D 系统

新增 GUI 功能

支持在世界空间与屏幕空间两种模式下编辑 GUI,新增文字、图片、 按钮组件,并实现了 UI 中的事件冒泡传递。现在你可以在编辑器中快速添加 UI ,并调整相关属性设置,新增的 RectTool 工具可以让编辑变得更简单。

Spine 功能升级

支持单独上传 Spine Atlas 并可独立加载,基于加载的 TextureAtlas 产物,可以实现运行时局部换肤,你可以在新的编辑器模板中看到下面的示例。

另外我们还对 Spine 进行了诸多的功能改进和优化:

  • 支持了预乘模式,增加了PremultipliedAlpha 开关。打开开关即可正确渲染 Spine 编辑器导出时勾选了“预乘”选项的贴图了。
  • SpineResource 新增了 API instantiate,支持快速创建 Spine 实例。
  • 支持上传多个 Spine Skeleton 共享一个 Spine Atlas 的资产,降低纹理数量并优化性能。
  • 删除了 scale 配置,动画的缩放效果直接调整 Entity scale参数即可。
  • 删除了部分冗余 API。

声音系统

Galacean 1.4 引入了全新的声音组件。支持用户上传声音资产,为 Entity 添加 AudioComponent

  • 音频资产支持:AudioAsset 允许用户通过资产选择器上传和选择音频文件,支持常见的音频格式(如MP3、WAV等)。文件显示在资产库中供用户后续使用,支持音频预览播放,控制音频的播放。
  • 音频组件管理:AudioComponent允许用户在实体中添加音频播放功能,并支持调节音量、静音和播放时机等属性。

模板案例

基于以上的亮点功能,我们新增了 13 个对应的案例,你可以直接在编辑器的 Templates(模板) 中选择感兴趣的案例,快速体验和学习这些功能。

如何联系我们

Galacean 开源社区群(钉钉)

Galacean 开源社区群(微信)

请添加管理微信 Galacean123, 并备注“galacean加群”

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