Javascript 从导出的搅拌机源创建Three.js材质
我从blender导出了带有几何体的简单白色材质。Three.js loader以某种方式从源JSON文件创建了一个MeshPhongMaterial“type”对象:Javascript 从导出的搅拌机源创建Three.js材质,javascript,three.js,blender,Javascript,Three.js,Blender,我从blender导出了带有几何体的简单白色材质。Three.js loader以某种方式从源JSON文件创建了一个MeshPhongMaterial“type”对象: ... "materials":[{ "colorEmissive":[0,0,0], "colorDiffuse":[0.8,0.8,0.8], "DbgName":"Material", "wireframe":false,
...
"materials":[{
"colorEmissive":[0,0,0],
"colorDiffuse":[0.8,0.8,0.8],
"DbgName":"Material",
"wireframe":false,
"opacity":1,
"shading":"phong",
"colorSpecular":[0.5,0.5,0.5],
"blending":1,
"transparent":false,
"specularCoef":50,
"doubleSided":false,
"DbgIndex":0,
"DbgColor":15658734,
"depthTest":true,
"depthWrite":true,
"visible":true
}],
...
我想克隆然后再用不同颜色的几何体,但我没有找到加载程序如何从源代码构建对象。我阅读了文档,但没有找到任何可以帮助我的东西。材质和PhongMaterial上的可设置属性与此源不同。你能帮我做这个吗?:)我不是这方面的专家,如果这是一个愚蠢的问题,我很抱歉^^
谢谢你的回答和时间!:) 如果您使用的是JSONLoader,您的代码可能如下所示:
jsonLoader.load("model.json", function (geometry, materials) {
var mesh = new THREE.Mesh(geometry, materials);
});
如果网格只有一种材质,并且希望将其用于其他几何图形,则可以使用该材质创建一个变量,然后使用clone()
:
var gMaterial;
jsonLoader.load("model.json", function (geometry, materials) {
var mesh = new THREE.Mesh(geometry, materials);
gMaterial = materials[0];
mesh1.material = gMaterial.clone();
});