Godot 4.2.2中两条动画轨道无法同时播放的问题
Godot双动画轨道仅播放其一的修复方案
快速排查与修复步骤
- 拆分动画播放器:给移动和旋转动画分别创建独立的
AnimationPlayer节点(比如命名为MovePlayer和RotatePlayer),各自开启Autoplay on Load。这种方法最直接,避免单个播放器的播放冲突。 - 调整动画混合设置:如果坚持用单个
AnimationPlayer,在动画编辑器中选中第二个动画的轨道,在检查器里将Blend Mode设为Additive(针对position、rotation这类数值型属性),确保两个轨道的属性修改互不覆盖。 - 手动触发双动画:
- Godot 3.x:在场景根节点的
_ready()函数中强制启动两个动画(仅适用于属性无冲突的情况):func _ready(): $AnimationPlayer.play("移动动画") $AnimationPlayer.play("旋转动画", blend_time=0.0) - Godot 4.x:直接用
play_many()方法同时启动多个动画:func _ready(): $AnimationPlayer.play_many(["移动动画", "旋转动画"])
- Godot 3.x:在场景根节点的
关键原理
动画编辑器预览时会同时渲染所有轨道效果,但运行时单个AnimationPlayer默认会用新播放的动画覆盖当前动画的属性修改。拆分播放器或启用混合模式,能让两个动画的属性调整独立生效。
内容的提问来源于stack exchange,提问作者ficsh
相关产品推荐
相关产品推荐

