diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index 1ab6e714a80..7c0db810be7 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -5508,6 +5508,9 @@ Variant Animation::add_variant(const Variant &a, const Variant &b) { const ::AABB ab = b.operator ::AABB(); return ::AABB(aa.position + ab.position, aa.size + ab.size); } + case Variant::BASIS: { + return (a.operator Basis()) * (b.operator Basis()); + } case Variant::QUATERNION: { return (a.operator Quaternion()) * (b.operator Quaternion()); } @@ -5555,6 +5558,9 @@ Variant Animation::subtract_variant(const Variant &a, const Variant &b) { const ::AABB ab = b.operator ::AABB(); return ::AABB(aa.position - ab.position, aa.size - ab.size); } + case Variant::BASIS: { + return (b.operator Basis()).inverse() * (a.operator Basis()); + } case Variant::QUATERNION: { return (b.operator Quaternion()).inverse() * (a.operator Quaternion()); }