From 0498f1488ebd052110dc3a28b6d094c82ec98e71 Mon Sep 17 00:00:00 2001 From: ExMatics HydrogenC <33123710+HydrogenC@users.noreply.github.com> Date: Fri, 30 Jun 2023 12:25:58 +0800 Subject: [PATCH 1/2] Fix space conversion issue --- Source/Engine/Level/Actors/AnimatedModel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/Level/Actors/AnimatedModel.cpp b/Source/Engine/Level/Actors/AnimatedModel.cpp index 882026db7..2db3b6fae 100644 --- a/Source/Engine/Level/Actors/AnimatedModel.cpp +++ b/Source/Engine/Level/Actors/AnimatedModel.cpp @@ -127,7 +127,7 @@ void AnimatedModel::GetCurrentPose(Array& nodesTransformation, bool worl Matrix world; _transform.GetWorld(world); for (auto& m : nodesTransformation) - m = m * world; + m = world * m; } } From 804826fbc793dbc6bafa931e9789c26150937cfa Mon Sep 17 00:00:00 2001 From: ExMatics HydrogenC <33123710+HydrogenC@users.noreply.github.com> Date: Fri, 30 Jun 2023 14:06:52 +0800 Subject: [PATCH 2/2] Fix multiplication mistake --- Source/Engine/Level/Actors/AnimatedModel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Level/Actors/AnimatedModel.cpp b/Source/Engine/Level/Actors/AnimatedModel.cpp index 2db3b6fae..b33878a50 100644 --- a/Source/Engine/Level/Actors/AnimatedModel.cpp +++ b/Source/Engine/Level/Actors/AnimatedModel.cpp @@ -127,7 +127,7 @@ void AnimatedModel::GetCurrentPose(Array& nodesTransformation, bool worl Matrix world; _transform.GetWorld(world); for (auto& m : nodesTransformation) - m = world * m; + m = m * world; } } @@ -144,7 +144,7 @@ void AnimatedModel::SetCurrentPose(const Array& nodesTransformation, boo Matrix invWorld; Matrix::Invert(world, invWorld); for (auto& m : GraphInstance.NodesPose) - m = invWorld * m; + m = m * invWorld; } OnAnimationUpdated(); }