From 2a0597d0cbe1f3e98803a431d28a58d0590d74ae Mon Sep 17 00:00:00 2001 From: Lyuma Date: Thu, 27 Apr 2023 01:41:28 -0700 Subject: import: Fix Silhouette used incorrect index. Fixes bind pose mistake from using i (mesh skin index) instead of bone_idx (skeleton bone index). Fixes #76448 (cherry picked from commit d33a734ac51f57043586fda058314075271527be) --- editor/import/post_import_plugin_skeleton_rest_fixer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'editor') diff --git a/editor/import/post_import_plugin_skeleton_rest_fixer.cpp b/editor/import/post_import_plugin_skeleton_rest_fixer.cpp index e105135c11..6214a2b70d 100644 --- a/editor/import/post_import_plugin_skeleton_rest_fixer.cpp +++ b/editor/import/post_import_plugin_skeleton_rest_fixer.cpp @@ -669,7 +669,7 @@ void PostImportPluginSkeletonRestFixer::internal_process(InternalImportCategory StringName bn = skin->get_bind_name(i); int bone_idx = src_skeleton->find_bone(bn); if (bone_idx >= 0) { - Transform3D new_rest = silhouette_diff[i] * src_skeleton->get_bone_global_rest(bone_idx); + Transform3D new_rest = silhouette_diff[bone_idx] * src_skeleton->get_bone_global_rest(bone_idx); skin->set_bind_pose(i, new_rest.inverse() * ibm_diff[bone_idx]); } } -- cgit v1.2.3