我正在使用three.js的JSONLoader()加载模型。加载工作正常,但模型看起来很奇怪。我猜这是因为它自动使用平滑着色而不是平面。我尝试了几种方法来应用平面阴影,但都没有效果 这就是我上次尝试的内容:
loader.load("model.js", function(geometry, materials){
var mat = new THREE.MeshFaceMaterial( materials );
mat.shading = THREE.FlatShading;
var object = new THREE.Mesh( geometry, mat);
scene.add( object );
});
无论我正在尝试什么,它都是平滑的阴影或产生错误 任何想法如何正确完成?
答案 0 :(得分:4)
在THREE.MeshFaceMaterial( materials )
中,materials
是一个数组。
您需要将着色样式应用于该数组的每个元素,如下所示:
materials[ i ].shading = THREE.FlatShading;
three.js r.63