SuperAPI AI 工具集

godot-animation

设计与创作

查看项目

更新于 10-15 21:49

技能介绍

用途:在 Godot 4.7 中播放关键帧动画、混合行走/奔跑/待机状态、播放精灵表动画,或用代码对 UI 与对象做补间。不适用于决定播放哪个状态的移动逻辑、UI 布局本身或着色器特效。

主要能力:AnimationPlayer 用于制作关键帧片段(变换、属性、方法调用、音频乃至其他动画),是片段数据的来源;AnimationTree 在运行时用状态机和/或混合空间混合与过渡这些片段,需引用一个 AnimationPlayer;Tween 通过 create_tween() 在代码中做一次性过程插值,适合 UI 弹出、淡入淡出和单次移动。2D 精灵表可用 AnimatedSprite2D + SpriteFrames,或在 AnimationPlayer 中给 frame 属性打关键帧。角色动画先在 AnimationPlayer 建片段,再加 AnimationTree(active = true)、设置 anim_player,并以 AnimationNodeStateMachine 或 AnimationNodeBlendSpace2D 作为树根。

使用方式:通过 playback 对象(travel)或设置混合参数驱动过渡;用 animation_finished 信号与方法/调用轨道响应片段事件。示例:anim.play("attack") 后 await anim.animation_finished 再播放 idle;tree.active = true 后取 parameters/playback 调用 sm.travel(state);混合空间参数路径为 parameters/<节点名>/blend_position;Tween 用 tw.tween_property(node, "scale", Vector2.ONE, 0.2) 并可用 set_parallel(true) 并行。

限制与注意:AnimationTree.active 为 false 时不会播放且 travel() 看似无效;参数路径必须与树中节点名完全一致,拼错会静默失效;AnimationTree 激活时不要再对同一轨道调用 AnimationPlayer.play();4.x 已无 Tween 节点,需用 create_tween(),补间自动开始并自行释放;补间是一次性的,重复需重新创建,循环用 set_loops();yield 已废弃,改用 await;子属性补间用冒号如 "modulate:a",否则会覆盖同级属性。更多细节见 references/animation-tree-and-tween.md。