Sfoglia il codice sorgente

Merge pull request #33799 from fire/gltf2-scene

33714 glTF2 scene count change try two.
Rémi Verschelde 5 anni fa
parent
commit
91b60a74df
1 ha cambiato i file con 10 aggiunte e 3 eliminazioni
  1. 10 3
      editor/import/editor_scene_importer_gltf.cpp

+ 10 - 3
editor/import/editor_scene_importer_gltf.cpp

@@ -229,9 +229,16 @@ Error EditorSceneImporterGLTF::_parse_scenes(GLTFState &state) {
 
 	ERR_FAIL_COND_V(!state.json.has("scenes"), ERR_FILE_CORRUPT);
 	const Array &scenes = state.json["scenes"];
-	ERR_FAIL_COND_V(!scenes.size(), ERR_FILE_CORRUPT);
-	for (int i = 0; i < 1; i++) { //only first scene is imported
-		const Dictionary &s = scenes[i];
+	int loaded_scene = 0;
+	if (state.json.has("scene")) {
+		loaded_scene = state.json["scene"];
+	} else {
+		WARN_PRINT("The load-time scene is not defined in the glTF2 file. Picking the first scene.")
+	}
+
+	if (scenes.size()) {
+		ERR_FAIL_COND_V(loaded_scene >= scenes.size(), ERR_FILE_CORRUPT);
+		const Dictionary &s = scenes[loaded_scene];
 		ERR_FAIL_COND_V(!s.has("nodes"), ERR_UNAVAILABLE);
 		const Array &nodes = s["nodes"];
 		for (int j = 0; j < nodes.size(); j++) {