一、动画的核心概念动画 随时间改变属性值在 Kanzi 中任何可动画的属性数值、颜色、位置、纹理路径等都可以通过动画来驱动变化。动画组件动画数据Animation Data定义单个属性如何随时间变化关键帧、累加规则等。动画剪辑Animation Clip容器可包含多个动画数据轨道。动画播放器Animation Player节点组件用于控制动画剪辑的播放开始、停止、循环、速度等。二、创建动画的两种常用方法1. 关键帧动画Keyframe Animation—— 最直观适用场景需要精确控制不同时间点的属性值例如 0→10 线性变化、颜色渐变、分段跳变。步骤在LibraryAnimationsAnimation Clips中创建或打开一个动画剪辑。在Node Tree中找到目标属性例如Common.PFloat1拖拽到动画剪辑编辑器中自动生成轨道。在轨道上添加关键帧时间 0.0 秒 → 值0.0时间 1.0 秒 → 值10.0设置插值模式线性Linear数值均匀变化适合平滑过渡。步进Step数值跳跃变化适合切换纹理/状态。示例PFloat1 从 0.0 到 10.0 线性增加配合绑定中的INT()取整可实现“每增加 1 切换一张图片”。2. 数值累加器Float Value Accumulator—— 更高效适用场景需要属性值周期性或持续递增无需手动设置多个关键帧。步骤选中目标节点如Common在Node Components中添加Float Value Accumulator。设置参数Target Property Type选择要控制的属性如PFloat1。Increment Size每次增加的值例如 1.0。Increment Time Interval (s)增加间隔例如 0.1 秒。Maximum Value上限例如 10.0。Minimum Value下限可选。优点配置简单适合循环计数器、进度条等规律变化。三、动画播放器Animation Player配置要点动画剪辑需要由Animation Player节点组件来播放。常见属性含义属性作用Target Animation Timeline指定要播放的动画剪辑Autoplay Enabled页面加载时是否自动播放Playback ModeNormal正向、Reverse反向、Ping Pong来回Duration Scale播放速度倍率1 为原速2 为两倍快Repeat Count播放次数与Infinite配合Infinite无限循环优先级高于Repeat CountRestore Original Values After Playback播放结束后是否恢复动画开始前的值如何触发播放通过按钮Click触发器 →Play Animation动作选择目标 Animation Player。通过状态机进入某个状态时自动播放。通过代码调用play()方法。四、动画 绑定 动态纹理切换充电线案例这是 Kanzi 中非常经典的组合技法目标效果充电线图片随电量或状态变化而“流动”或“分段点亮”看起来像动态效果。实现原理动画驱动数据动画让Common.PFloat1从 0.0 线性变化到 10.0每 0.1 秒增加 0.1最终到达 10.0。可选同时改变Common.PInt2作为分段状态绑定将数据映射为纹理路径在 Image 节点的Texture属性上使用绑定kzb://cluster_sub/Textures/charge/charge_line/charge_line_ STRING(INT({./Common.PFloat1})) _ STRING({../../Common.PInt2})INT(PFloat1)将浮点数取整0→0, 0.9→0, 1.0→1得到整数索引。每次PFloat1或PInt2变化绑定重新计算路径。Kanzi 自动加载新纹理并显示。用户看到的效果随着动画播放路径从charge_line_0_0→charge_line_1_0→ … →charge_line_10_0依次切换产生“流动”视觉。核心思想动画只负责改数字绑定负责把数字翻译成资源地址。五、状态机和动画的区别维度状态机状态切换属性动画如关键帧动画本质逻辑状态的变化属性值的连续变化变化方式离散的、瞬间的除非加了过渡动画连续的、平滑的随时间插值关注点“现在处于什么模式”白天/黑夜、展开/收起“数值从多少变到多少”位置、颜色、透明度触发方式用户交互、数据绑定、代码调用时间轴播放、状态机过渡、代码调用是否必须连续不必须可以瞬间切换是本质就是连续变化六、常见问题与检查清单问题可能原因解决方法动画不播放未勾选Autoplay且没有触发播放添加触发器或代码调用Play属性没有变化动画轨道未正确连接属性检查Target Property是否指向正确的节点和属性绑定不更新绑定模式为OneTime改为OneWay纹理切换跳变不平滑使用了线性插值但期望步进将关键帧插值改为Step数值累加器不工作未设置Increment Size或Time Interval正确配置参数并确保节点组件已添加到节点上七、总结口诀帮助记忆动画改数字绑定换图片。关键帧放精准累加器省功夫。播放器做开关模式循环看需求。纹理路径拼出来动态效果自然有。