浏览代码

Merge pull request #98009 from TokageItLab/init-skel-skin

Fix initial skin update timing in Skeleton3D
Clay John 10 月之前
父节点
当前提交
acc3786db2
共有 2 个文件被更改,包括 4 次插入2 次删除
  1. 2 2
      scene/3d/mesh_instance_3d.cpp
  2. 2 0
      scene/3d/skeleton_3d.cpp

+ 2 - 2
scene/3d/mesh_instance_3d.cpp

@@ -332,8 +332,8 @@ void MeshInstance3D::create_multiple_convex_collisions(const Ref<MeshConvexDecom
 
 void MeshInstance3D::_notification(int p_what) {
 	switch (p_what) {
-		case NOTIFICATION_READY: {
-			callable_mp(this, &MeshInstance3D::_resolve_skeleton_path).call_deferred();
+		case NOTIFICATION_ENTER_TREE: {
+			_resolve_skeleton_path();
 		} break;
 		case NOTIFICATION_TRANSLATION_CHANGED: {
 			if (mesh.is_valid()) {

+ 2 - 0
scene/3d/skeleton_3d.cpp

@@ -326,6 +326,8 @@ void Skeleton3D::_notification(int p_what) {
 #ifndef DISABLE_DEPRECATED
 			setup_simulator();
 #endif // _DISABLE_DEPRECATED
+			update_flags = UPDATE_FLAG_POSE;
+			_notification(NOTIFICATION_UPDATE_SKELETON);
 		} break;
 		case NOTIFICATION_UPDATE_SKELETON: {
 			// Update bone transforms to apply unprocessed poses.