loadScene method
Implementation
Future<Group> loadScene(int sceneIndex) async {
final json = this.json;
final extensions = this.extensions;
Map<String, dynamic> sceneDef = this.json["scenes"][sceneIndex];
// Loader returns Group, not Scene.
// See: https://github.com/mrdoob/three.js/issues/18342#issuecomment-578981172
final scene = Group();
if (sceneDef["name"] != null){
scene.name = createUniqueName(sceneDef["name"]);
}
assignExtrasToUserData(scene, sceneDef);
if (sceneDef["extensions"] != null){
addUnknownExtensionsToUserData(extensions, scene, sceneDef);
}
final List nodeIds = sceneDef["nodes"] ?? [];
for (int i = 0; i < nodeIds.length; i++) {
await buildNodeHierarchy(nodeIds[i], scene, json);
}
return scene;
}