浏览代码

Fix Animation::subtract_variant for affine transforms

(cherry picked from commit 87935ca8376c37e4074400ba7e2345e1a3aa3d37)
kleonc 2 年之前
父节点
当前提交
c6c5b5bf78
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      scene/resources/animation.cpp

+ 2 - 2
scene/resources/animation.cpp

@@ -5565,10 +5565,10 @@ Variant Animation::subtract_variant(const Variant &a, const Variant &b) {
 			return (b.operator Quaternion()).inverse() * (a.operator Quaternion());
 			return (b.operator Quaternion()).inverse() * (a.operator Quaternion());
 		}
 		}
 		case Variant::TRANSFORM2D: {
 		case Variant::TRANSFORM2D: {
-			return (b.operator Transform2D()).inverse() * (a.operator Transform2D());
+			return (b.operator Transform2D()).affine_inverse() * (a.operator Transform2D());
 		}
 		}
 		case Variant::TRANSFORM3D: {
 		case Variant::TRANSFORM3D: {
-			return (b.operator Transform3D()).inverse() * (a.operator Transform3D());
+			return (b.operator Transform3D()).affine_inverse() * (a.operator Transform3D());
 		}
 		}
 		default: {
 		default: {
 			return Variant::evaluate(Variant::OP_SUBTRACT, a, b);
 			return Variant::evaluate(Variant::OP_SUBTRACT, a, b);