我从搅拌机中导出了一个带有几何体的简单白色材料。 Three.js加载器以某种方式创建了一个MeshPhongMaterial" type"来自源JSON文件的对象:
...
"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
}],
...
我想克隆然后重复使用不同颜色的几何体,但我没有找到加载器如何管理从源构建对象。我阅读了文档,但我没有找到任何可以帮助我的东西。 Material和PhongMaterial上的可设置属性与此源不相似。你能帮我解决这个问题吗? :)我离这位专家很远,如果这是一个愚蠢的问题,那就很抱歉^^
谢谢你的回答和时间! :)
答案 0 :(得分:0)
如果您使用的是JSONLoader,则代码可能如下所示:
jsonLoader.load("model.json", function (geometry, materials) {
var mesh = new THREE.Mesh(geometry, materials);
});
如果您的网格物体只有一种材质而您想将其用于其他几何体,则可以使用它创建一个var而不是使用clone()
函数:
var gMaterial;
jsonLoader.load("model.json", function (geometry, materials) {
var mesh = new THREE.Mesh(geometry, materials);
gMaterial = materials[0];
mesh1.material = gMaterial.clone();
});