我尝试从Blender导出GLTF模型到Three.js,它可以工作。但是在Three.js上有一些光照和绘画问题。我在Three.js中有线条和正方形,并且不知道为什么。
我在Blender中只使用Principled BSDF节点来绘制我的模型。如果我在Three.js中设置材质(MeshPhongMaterial),它可以很好地工作。但是不能使用来自Blender的Principled BSDF节点。有什么想法吗?
我正在尝试使对象投射阴影并对光照做出反应。这对于MeshPhongMaterial和Principled BSDF都可以很好地工作。但是,在第二种选项中,我不喜欢这些黑色条纹。
const INITIAL_MTL = new THREE.MeshPhongMaterial( { color: 0x575757, shininess: 10 } );
...
let theModel = gltf.scene;
theModel.traverse((o) => {
if (o.isMesh) {
if (o.name == 'Foundation') {
o.material = INITIAL_MTL //Left part on screenshot with MeshPhongMaterial
}
o.castShadow = true;
o.receiveShadow = true;
}
})