【问题标题】:Three.js Mesh With Multiple Materials Disappears?Three.js 多材质网格消失?
【发布时间】:2017-06-14 14:29:18
【问题描述】:

我正在尝试在从 Blender 导出的 Three.js 中加载一个非常简单的模型,其中包含两种材料(按面应用)。我遇到的问题是,通过网格下方的代码应用的多种材质完全消失了,但我可以轻松地使用materials[0]materials[1] 代替materials 并看到一个实体对象。我从搅拌机中导出的设置以及它的外观如下所示,模型的json 在线可见here

【问题讨论】:

    标签: three.js blender


    【解决方案1】:

    我尝试了您的 JSON 文件,它的显示方式与您的图像一样。这是我使用的代码(three.js r83):

    var mesh = new THREE.Object3D();
    var jsonLoader = new THREE.JSONLoader();
    jsonLoader.load('/js/models/cube.json',
        function (geometry, materials) {
            mesh = new THREE.Mesh(geometry,
                new THREE.MultiMaterial(materials));
            scene.add(mesh);
        }
    );
    

    http://www.threejsworld.com/tutorials/working-with-materials-in-threejs

    【讨论】:

    • 我认为这可能是 Blender 导出器的故障或设置不正确,您使用的是哪个版本以及您使用了哪些设置?我不得不通过将线框修改版本和实体版本拆分为单独的 .json 文件并分别导入来解决它。
    • 导出器版本 1.5.0,搅拌器版本 2.77a。和你一样的设置。如果你的 JSON 对我有用,我看不出 Blender 或 exporter 可能会是什么问题,你知道
    • 我在第一次阅读时错过了new THREE.MultiMaterial(materials) 位(除了用materials 单独替换它之外,我的代码几乎相同。)谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-03-23
    • 2023-03-23
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2013-03-23
    • 2019-07-08
    • 1970-01-01
    相关资源
    最近更新 更多