如何从json导出材料

时间:2015-11-01 11:40:24

标签: three.js

我有一个在搅拌器中制作的低聚树模型,然后使用three.js blender导出器导出到.json中。 Here是这个json文件。您可以看到它包含4种材质,但由于某种原因,uvs数组为空。当我在r74dev

上使用JSONLoader将其加载到我的应用程序中时
var jsonLoader = new THREE.JSONLoader();
jsonLoader.load('tree.json', ( geometry, materials ) => {
    materials.map((material) => {
        material.shading = THREE.FlatShading;
    });
    var material = new THREE.MeshFaceMaterial(materials);
    var mesh = new THREE.Mesh(geometry, material);

    this.scene.add(mesh);

});

它出现了混乱的颜色(左边是它在我的threejs应用程序中的样子,右边是来自搅拌器)。

enter image description here

但有人可以解释一下这些材料是如何应用的。 JSON中的UVs数组为空,结果网格物体没有任何子项,geometry.faceVertexUvs也是空的,那么threejs如何知道何时应该应用每种材料?

enter image description here

此外,如果我在theejs editor加载它,它将显示为全黑 - 没有任何材料,为什么会这样?

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您在这样的材质中使用漫反射颜色,

enter image description here

检查UVs选项以获取uv并取消选中“顶点颜色”以获取diffuse color

enter image description here