From eb7f87e9a87f37fb39c8437f3fa689f5d7b9d770 Mon Sep 17 00:00:00 2001 From: Septian Date: Thu, 13 Jul 2023 23:07:23 +0700 Subject: [PATCH] Fix `tween_property` on "Basis" to properly update its value --- scene/resources/animation.cpp | 6 ++++++ 1 file changed, 6 insertions(+) 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()); }