Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从导出的搅拌机源创建Three.js材质_Javascript_Three.js_Blender - Fatal编程技术网

Javascript 从导出的搅拌机源创建Three.js材质

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,

我从blender导出了带有几何体的简单白色材质。Three.js loader以某种方式从源JSON文件创建了一个MeshPhongMaterial“type”对象:

     ...
     "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();
});