createNodeMesh method

Future<Object3D?> createNodeMesh(
  1. int nodeIndex
)

Implementation

Future<Object3D?> createNodeMesh(int nodeIndex) async {
  final json = this.json;
  final parser = this;
  Map<String, dynamic> nodeDef = json["nodes"][nodeIndex];

  if (nodeDef["mesh"] == null) return null;

  final mesh = await parser.getDependency('mesh', nodeDef["mesh"]);

  final node = parser.getNodeRef(parser.meshCache, nodeDef["mesh"], mesh);

  // if weights are provided on the node, override weights on the mesh.
  if (nodeDef["weights"] != null) {
    node.traverse((o) {
      if (o is! Mesh) return;//!o.isMesh
      for (int i = 0, il = nodeDef["weights"].length; i < il; i++) {
        o.morphTargetInfluences[i] = nodeDef["weights"][i];
      }
    });
  }

  return node;
}