33714 glTF2 handle undefined load-time scene.
This commit is contained in:
parent
b7ea22c5d2
commit
80b1604fa9
1 changed files with 10 additions and 3 deletions
|
@ -229,9 +229,16 @@ Error EditorSceneImporterGLTF::_parse_scenes(GLTFState &state) {
|
||||||
|
|
||||||
ERR_FAIL_COND_V(!state.json.has("scenes"), ERR_FILE_CORRUPT);
|
ERR_FAIL_COND_V(!state.json.has("scenes"), ERR_FILE_CORRUPT);
|
||||||
const Array &scenes = state.json["scenes"];
|
const Array &scenes = state.json["scenes"];
|
||||||
ERR_FAIL_COND_V(!scenes.size(), ERR_FILE_CORRUPT);
|
int loaded_scene = 0;
|
||||||
for (int i = 0; i < 1; i++) { //only first scene is imported
|
if (state.json.has("scene")) {
|
||||||
const Dictionary &s = scenes[i];
|
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);
|
ERR_FAIL_COND_V(!s.has("nodes"), ERR_UNAVAILABLE);
|
||||||
const Array &nodes = s["nodes"];
|
const Array &nodes = s["nodes"];
|
||||||
for (int j = 0; j < nodes.size(); j++) {
|
for (int j = 0; j < nodes.size(); j++) {
|
||||||
|
|
Loading…
Reference in a new issue