threejs无法解析json对象中的材质

时间:2017-08-25 15:19:23

标签: json parsing three.js material

亲爱的我正在使用角度2.4.10和三个js 0.85.0。从服务器下载JSON文件后,我可以使用以下JSON对象:

https://drive.google.com/file/d/0B7IcIHZN137RdmVRTXpLZmlPaDg/view?usp=sharing

我正在尝试使用另一个StackOverflow帖子中建议的以下代码加载对象而不使用加载器URL:

loadModel(aJSONObject) {
    console.log(aJSONObject);

    let loader = new THREE.ObjectLoader();

    let model = loader.parse( aJSONObject );

    console.log(model);

    .....
}

它正在运作,但它没有得到材料。如何从JSON文件中获取材料?

1 个答案:

答案 0 :(得分:0)

我尝试加载您的模型并正确导入了唯一的材料。

但是,在JSON模型中没有为此材质定义纹理或颜色。因此,对象将看起来是白色,这是用于three.js材质的默认颜色。

Fiddle here.

要在three.js中查看您的模型,请确保根据您的相机位置进行适当缩放(我必须将其缩小)。
此外,由于模型使用THREE.MeshPhongMaterial,请&忘记添加一些灯光。

顺便说一句,您的模型中定义了一些XYZ个别属性,无用地增加了它的大小(three.js不会使用它们)