diff options
author | reduz <reduzio@gmail.com> | 2022-06-23 08:35:34 +0200 |
---|---|---|
committer | reduz <reduzio@gmail.com> | 2022-06-23 08:35:34 +0200 |
commit | 11805ac01d88cb0256df305d0072706e07ab8a6a (patch) | |
tree | 7cc747a6c6ebc8af107fa3277050b4c39dc4ef63 /scene/animation | |
parent | abb92861f44427e9376fab9ee2f414f14848d6b5 (diff) |
Respect disabled animation tracks
Fixes #25537, supersedes #60509
Diffstat (limited to 'scene/animation')
-rw-r--r-- | scene/animation/animation_player.cpp | 3 | ||||
-rw-r--r-- | scene/animation/animation_tree.cpp | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 5d471c9e84..967b4513a0 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -283,6 +283,9 @@ void AnimationPlayer::_ensure_node_caches(AnimationData *p_anim, Node *p_root_ov setup_pass++; for (int i = 0; i < a->get_track_count(); i++) { + if (!a->track_is_enabled(i)) { + continue; + } p_anim->node_cache.write[i] = nullptr; Ref<Resource> resource; Vector<StringName> leftover_path; diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp index 136285c4dc..d95b00dd32 100644 --- a/scene/animation/animation_tree.cpp +++ b/scene/animation/animation_tree.cpp @@ -965,6 +965,10 @@ void AnimationTree::_process_graph(double p_delta) { #endif // _3D_DISABLED for (int i = 0; i < a->get_track_count(); i++) { + if (!a->track_is_enabled(i)) { + continue; + } + NodePath path = a->track_get_path(i); ERR_CONTINUE(!track_cache.has(path)); |