Browse Source

Allow gltf2 morph targets with no default values. Changes for bug 38751

(cherry picked from commit 71ae0ff46d75e0e94cc2ef839b0bc82db2bfc7de)
K. S. Ernest (iFire) Lee 5 years ago
parent
commit
f189d0e1f3
1 changed files with 6 additions and 2 deletions
  1. 6 2
      editor/import/editor_scene_importer_gltf.cpp

+ 6 - 2
editor/import/editor_scene_importer_gltf.cpp

@@ -1230,10 +1230,14 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
 			}
 		}
 
+		mesh.blend_weights.resize(mesh.mesh->get_blend_shape_count());
+		for (int32_t weight_i = 0; weight_i < mesh.blend_weights.size(); weight_i++) {
+			mesh.blend_weights.write[weight_i] = 0.0f;
+		}
+
 		if (d.has("weights")) {
 			const Array &weights = d["weights"];
-			ERR_FAIL_COND_V(mesh.mesh->get_blend_shape_count() != weights.size(), ERR_PARSE_ERROR);
-			mesh.blend_weights.resize(weights.size());
+			ERR_FAIL_COND_V(mesh.blend_weights.size() != weights.size(), ERR_PARSE_ERROR);
 			for (int j = 0; j < weights.size(); j++) {
 				mesh.blend_weights.write[j] = weights[j];
 			}