createMesh method
dynamic
createMesh(
- dynamic relationships,
- Map geometryMap,
- dynamic materialMap
)
Implementation
createMesh(relationships, Map geometryMap, materialMap) {
var model;
var geometry = null;
var material = null;
var materials = [];
// get geometry and materials(s) from connections
relationships["children"].forEach((child) {
if (geometryMap.containsKey(child["ID"])) {
geometry = geometryMap[child["ID"]];
}
if (materialMap.containsKey(child["ID"])) {
materials.add(materialMap[child["ID"]]);
}
});
if (materials.length > 1) {
material = materials;
} else if (materials.length > 0) {
material = materials[0];
} else {
material = new MeshPhongMaterial({"color": 0xcccccc});
materials.add(material);
}
if (geometry.attributes["color"] != null) {
materials.forEach((material) {
material.vertexColors = true;
});
}
if (geometry.userData["FBX_Deformer"] != null) {
model = new SkinnedMesh(geometry, material);
model.normalizeSkinWeights();
} else {
model = new Mesh(geometry, material);
}
return model;
}