GLTF: Implement KHR_animation_pointer for animating custom properties

This commit is contained in:
Aaron Franke 2024-10-04 00:37:44 -07:00
parent d373d207c1
commit 0513943f70
No known key found for this signature in database
GPG key ID: 40A1750B977E56BF
4 changed files with 289 additions and 61 deletions

View file

@ -90,8 +90,12 @@ HashMap<int, GLTFAnimation::NodeTrack> &GLTFAnimation::get_node_tracks() {
return node_tracks;
}
HashMap<String, GLTFAnimation::Channel<Variant>> &GLTFAnimation::get_pointer_tracks() {
return pointer_tracks;
}
bool GLTFAnimation::is_empty_of_tracks() const {
return node_tracks.is_empty();
return node_tracks.is_empty() && pointer_tracks.is_empty();
}
GLTFAnimation::GLTFAnimation() {

View file

@ -64,6 +64,7 @@ public:
String original_name;
bool loop = false;
HashMap<int, NodeTrack> node_tracks;
HashMap<String, Channel<Variant>> pointer_tracks;
Dictionary additional_data;
public:
@ -77,6 +78,7 @@ public:
void set_loop(bool p_val);
HashMap<int, GLTFAnimation::NodeTrack> &get_node_tracks();
HashMap<String, GLTFAnimation::Channel<Variant>> &get_pointer_tracks();
bool is_empty_of_tracks() const;
Variant get_additional_data(const StringName &p_extension_name);