loadScene method

Future<Group> loadScene(
  1. int sceneIndex
)

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;
}