【问题标题】:Three.js material creation from exported blender source从导出的搅拌机源创建 Three.js 材质
【发布时间】:2018-10-01 20:17:30
【问题描述】:

我从搅拌机中用我的几何图形导出了一个简单的白色材质。 Three.js 加载器以某种方式从源 JSON 文件创建了一个 MeshPhongMaterial “类型”对象:

     ...
     "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 上的可设置属性与此来源不同。你能帮我解决这个问题吗? :) 我远不是这方面的专家,如果这是一个愚蠢的问题,我很抱歉^^

感谢您的回答和时间! :)

【问题讨论】:

    标签: javascript three.js blender


    【解决方案1】:

    如果您使用的是 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();
    });
    

    【讨论】:

      猜你喜欢
      • 2013-09-28
      • 2017-04-18
      • 2015-08-16
      • 2017-08-17
      • 2015-06-23
      • 2015-08-24
      • 2022-07-15
      • 2014-08-19
      • 1970-01-01
      相关资源
      最近更新 更多