【发布时间】:2017-06-14 14:29:18
【问题描述】:
我正在尝试在从 Blender 导出的 Three.js 中加载一个非常简单的模型,其中包含两种材料(按面应用)。我遇到的问题是,通过网格下方的代码应用的多种材质完全消失了,但我可以轻松地使用materials[0] 或materials[1] 代替materials 并看到一个实体对象。我从搅拌机中导出的设置以及它的外观如下所示,模型的json 在线可见here。
【问题讨论】:
我正在尝试在从 Blender 导出的 Three.js 中加载一个非常简单的模型,其中包含两种材料(按面应用)。我遇到的问题是,通过网格下方的代码应用的多种材质完全消失了,但我可以轻松地使用materials[0] 或materials[1] 代替materials 并看到一个实体对象。我从搅拌机中导出的设置以及它的外观如下所示,模型的json 在线可见here。
【问题讨论】:
我尝试了您的 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
【讨论】:
new THREE.MultiMaterial(materials) 位(除了用materials 单独替换它之外,我的代码几乎相同。)谢谢。