summaryrefslogtreecommitdiffstats
path: root/scene/animation/animation_cache.h
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2021-10-11 19:20:58 -0300
committerreduz <reduzio@gmail.com>2021-10-12 20:08:42 -0300
commitec19ed37230c368b3d24050c9f1e99869dd94bec (patch)
tree760147dd005abb3f5b4bf71549c0f9679b7ec8ae /scene/animation/animation_cache.h
parentf9aec342dcd51d65c5970dd395e3c7a66cac446c (diff)
downloadredot-engine-ec19ed37230c368b3d24050c9f1e99869dd94bec.tar.gz
Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone. * Added POSITION_3D, ROTATION_3D, SCALE_3D tracks. * GLTF2, Collada, FBX importers will only import the track types found. * Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed. * AnimationPlayer and AnimationTree animate these tracks separately, only when found. * Removed BakeReset code, is useless with these changes. This is the first in a series of commits designed to make the animation system in Godot more useful, which includes: * Better compatibility with Autodesk products * Better reusability of animations across models (including retargeting). * Proper animation compression. * etc. *Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
Diffstat (limited to 'scene/animation/animation_cache.h')
-rw-r--r--scene/animation/animation_cache.h84
1 files changed, 0 insertions, 84 deletions
diff --git a/scene/animation/animation_cache.h b/scene/animation/animation_cache.h
deleted file mode 100644
index c856e644f7..0000000000
--- a/scene/animation/animation_cache.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*************************************************************************/
-/* animation_cache.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* https://godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
-/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#ifndef ANIMATION_CACHE_H
-#define ANIMATION_CACHE_H
-
-#include "scene/3d/skeleton_3d.h"
-#include "scene/resources/animation.h"
-
-class AnimationCache : public Object {
- GDCLASS(AnimationCache, Object);
-
- struct Path {
- RES resource;
- Object *object = nullptr;
-#ifndef _3D_DISABLED
- Skeleton3D *skeleton = nullptr;
- Node3D *node_3d = nullptr;
-#endif // _3D_DISABLED
- Node *node = nullptr;
-
- int bone_idx = -1;
- Vector<StringName> subpath;
- bool valid = false;
- };
-
- Set<Node *> connected_nodes;
- Vector<Path> path_cache;
-
- Node *root = nullptr;
- Ref<Animation> animation;
- bool cache_dirty = true;
- bool cache_valid = false;
-
- void _node_exit_tree(Node *p_node);
-
- void _clear_cache();
- void _update_cache();
- void _animation_changed();
-
-protected:
- static void _bind_methods();
-
-public:
- void set_track_transform(int p_idx, const Transform3D &p_transform);
- void set_track_value(int p_idx, const Variant &p_value);
- void call_track(int p_idx, const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error);
-
- void set_all(float p_time, float p_delta = 0);
-
- void set_animation(const Ref<Animation> &p_animation);
- void set_root(Node *p_root);
-
- AnimationCache();
-};
-
-#endif // ANIMATION_CACHE_H