我在搅拌机中从较大的模型中导出单个碎片,并且一些物体会抛出一些错误并且无法加载。以下是错误:
Uncaught TypeError: Cannot read property 'attributes' of undefined
Uncaught TypeError: Cannot read property 'transparent' of undefined
以下是来自搅拌机的一个json文件的要点:https://gist.githubusercontent.com/jtmkrueger/7b46cf68975be7d27d67/raw/31be5d92c0749d55bcff61822aaec42985f20205/charger.json
json文件正确lint,并且来自同一模型的其他对象加载正常。我不确定这个特别的错误是什么。
这是我加载json的代码:
App.JsonLoader.load(mesh, function (geometry, materials) {
var componentMesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));
componentMesh.scale.set(50, 50, 50);
componentMesh.position.y = 50;
componentMesh.position.x = 0;
App.vehicle.object3d.add(componentMesh);
});
答案 0 :(得分:0)
编辑:这个答案不再相关
您的模型不包含materials
属性,该属性会传递到MeshFaceMaterial
。错误消息的第二行显示Three正在transparent
中查找materials
,但未定义。
你可以:
抛弃new THREE.MeshFaceMaterial(materials)
并建立自己的材料。
在模型中加入materials
。
Here是包含materials
的模型示例。