소스 검색

Fix get_bone_pose_global_no_override()

(cherry picked from commit 565803ce3dbaabbd1cff76e3191c4297f212a0de)
Lyuma 2 년 전
부모
커밋
9307d851a9
1개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 4
      scene/3d/skeleton_3d.cpp

+ 4 - 4
scene/3d/skeleton_3d.cpp

@@ -925,18 +925,18 @@ void Skeleton3D::force_update_bone_children_transforms(int p_bone_idx) {
 
 			if (b.parent >= 0) {
 				b.pose_global = bonesptr[b.parent].pose_global * pose;
-				b.pose_global_no_override = b.pose_global;
+				b.pose_global_no_override = bonesptr[b.parent].pose_global_no_override * pose;
 			} else {
 				b.pose_global = pose;
-				b.pose_global_no_override = b.pose_global;
+				b.pose_global_no_override = pose;
 			}
 		} else {
 			if (b.parent >= 0) {
 				b.pose_global = bonesptr[b.parent].pose_global * b.rest;
-				b.pose_global_no_override = b.pose_global;
+				b.pose_global_no_override = bonesptr[b.parent].pose_global_no_override * b.rest;
 			} else {
 				b.pose_global = b.rest;
-				b.pose_global_no_override = b.pose_global;
+				b.pose_global_no_override = b.rest;
 			}
 		}
 		if (rest_dirty) {