我尝试将 GLTF 模型从 Blender 导出到 Three.js。有用。但是我在 Three.js 上有一些带有光照和绘画的工件。我在 Three.js 中有线条和方 block ,我不知道为什么。
我只使用 Blender 中的 Principled BSDF 节点来绘制我的模型。如果我在 Three.js (MeshPhongMaterial) 中设置 Material ,它工作正常。但不是来自 Blender 的 Principled BSDF 节点。有什么想法吗?
我试图让物体转换阴影并对光照使用react。这适用于 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;
}
})
最佳答案
减轻自阴影伪影的常用方法是调制阴影转换光的 bias
属性。试试看:
light.shadow.bias = - 0.002;
关于three.js - 将绘制的模型从 Blender 导出到 Three.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71466789/