2.5 - 动画状态机、灵感中心
我们很高兴地宣布,「动画状态机」正式登陆,全新升级的「灵感中心」正式上线!
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
🎬 动画状态机 —— 交互式动画真正“活”起来!
这是一位“动画指挥家”,让互动类型动画的制作变得轻松自如,无论是设计同学还是开发伙伴,都能从中获得「设计即交互」的创作体验!
📖 什么是动画状态机?
「动画状态机」是一种将动画划分为不同“状态”并定义其切换逻辑的架构模式,它广泛应用于游戏开发、人机交互系统与高级 UI 动效设计中,是实现“响应式动画”的核心技术之一。
🙋 为什么你需要动画状态机?
传统方式 | 状态机方案 |
时间轴硬编码跳转 | 可视化逻辑图,逻辑清晰易维护 |
需开发介入实现交互 | 设计师独立完成交互动效 |
动画复用困难 | 模块化片段 + 参数化控制,高复用性 |
难以处理复杂状态 | 层级结构 + 混合模式,应对复杂场景 |
🔁 用【参数】控制状态流转
【参数(Parameters)】支持布尔值、整数、浮点数等类型,你可以通过设置参数条件来触发状态切换。
🔁 用【事件】完成设计独立的交互闭环
通过【事件(Events)】机制,设计师可直接绑定用户操作(如点击、长按、滑动等)来触发状态跳转。
🎨 三种高级混合模式,掌控动画融合艺术
支持【1D(一维)】、【Additive(相加)】、【Layered(分层)】三种主流的动画混合策略,满足不同层级的动效需求。
✂️ 一键生成动画片段
在时间轴上框选任意时间段,快速创建为独立动画片段(Animation Clip),并用于某个状态的播放单元。
⚙️ 参数可编程,状态可驱动,开发更灵活
开发可通过 @galacean/effects 开放的接口动态设置状态机参数(布尔 setBool()
、数字 setFloat()
、触发器 setTrigger()
):
import { Animator } from '@galacean/effects';
// 从场景中获取 Animator 组件,用于控制动画状态机
const animator = composition.getComponent(Animator);
animator.setBool('Boolean1', true);
“让动画不止于‘播放’,而是真正‘响应’与‘思考’。”
👉 了解更多:用户文档 -《动画状态机》
🌟 灵感中心 —— 创意流动,灵感共鸣!
现在,你可以将自己的作品一键上架至灵感中心,无论是炫酷的粒子动画,还是极具想象力的交互设计,都可以在这里被更多人发现、欣赏与复用。在这里,每一个动效作品都不再是孤岛,而是激发下一次创新的火花。
💡 发现属于你的“啊哈时刻”
- 点击“导入”,即可将喜欢的灵感导入编辑器,进行二次创作;
- 所有作品均保留图层结构与动画逻辑,便于你深入学习其时间轴编排策略与动画制作技巧;
- 点击即可浏览你喜爱的灵感,一键即可获得分享链接,与好友或团队成员“品鉴”。
📣 让灵感不再沉睡,让创意自由流动。
我们相信,每一个动效背后,都蕴藏着你的创意光芒。
通过灵感中心,你的创作将触达更广泛的用户群体,成为他人设计旅程中的“灵感锚点”。
现在就行动,分享你的第一个作品!
下一个设计范式,或许就始于你的一次分享。
“好的设计从不凭空诞生,而是源于对优秀范式的理解与重构。”
—— 让灵感中心成为你动效设计的“第二大脑”。
👉 进入灵感中心:https://www.galacean.com/effects/inspiration/
🆕 2.6 版本功能预告
- 网格形状变化动画
- 矢量图形填充/描边渐变色