Javascript 材料don';t似乎没有加载到Three.js中
我正在尝试加载我使用Three.js导出器在Blender中导出的对象(是的,我导出了所有材质),但当我使用Three.js加载对象时,它们似乎没有显示出来 这就是我得到的: 我可以给椅子任何我想要的颜色,但椅子的一部分总是会变成某种奇怪的蓝色或绿色,这是我没有选择的 以下是JSON数据:Javascript 材料don';t似乎没有加载到Three.js中,javascript,json,three.js,blender,Javascript,Json,Three.js,Blender,我正在尝试加载我使用Three.js导出器在Blender中导出的对象(是的,我导出了所有材质),但当我使用Three.js加载对象时,它们似乎没有显示出来 这就是我得到的: 我可以给椅子任何我想要的颜色,但椅子的一部分总是会变成某种奇怪的蓝色或绿色,这是我没有选择的 以下是JSON数据: "materials":[{ "DbgIndex":1, "colorSpecular":[0.5,0.5,0.5], "colorDiffuse":[0.68928,0.21206
"materials":[{
"DbgIndex":1,
"colorSpecular":[0.5,0.5,0.5],
"colorDiffuse":[0.68928,0.212069,0],
"specularCoef":50,
"shading":"phong",
"transparent":false,
"doubleSided":true,
"wireframe":false,
"depthTest":true,
"DbgColor":15597568,
"opacity":1,
"colorEmissive":[0,0,0],
"blending":"NormalBlending",
"depthWrite":true,
"DbgName":"Ch_seat",
"visible":true
},{
"DbgIndex":0,
"colorSpecular":[0.454809,0.454809,0.454809],
"colorDiffuse":[0.4878,0.471319,0.471319],
"specularCoef":74,
"shading":"phong",
"transparent":false,
"doubleSided":true,
"wireframe":false,
"depthTest":true,
"DbgColor":15658734,
"opacity":1,
"colorEmissive":[0,0,0],
"blending":"NormalBlending",
"depthWrite":true,
"DbgName":"Ch_leg",
"visible":true
}],
应该有一种座椅材料和一种腿部材料
我是这样加载的:
var loader = new THREE.JSONLoader();
loader.load('./frontend/base/img/chair.json', function(geometry, materials) {
console.log(geometry, materials);
var material = new THREE.MultiMaterial( materials );
var mesh = new THREE.Mesh(geometry, material);
mesh.translation = geometry.center(geometry);
mesh.scale.x = mesh.scale.y = mesh.scale.z = 8;
scene.add(mesh);
render();
});
那么这里出了什么问题?我忘了什么吗?我不知道你是否解决了这个问题,但我能够通过使用blender Render而不是cycles,让材质最终显示在blender exported.json文件中,并且你必须使材质/纹理显示在视口中,以便正确导出。不太确定导出器出了什么问题,但它将视口材质设置为导出的材质。我不知道您是否修复了此问题,但通过使用blender Render而不是cycles,我最终能够使材质显示在blender exported.json文件中,您必须使材质/纹理显示在视口中,才能正确导出。不确定导出器出了什么问题,但它将视口材质设置为导出的材质。