在从GLTF文件加载网格后,我正在尝试将光照图添加到某些网格。 我所有的物体都有2UV通道。
我正在等待'object3dset',这是我的代码:
const mesh = this.el.getObject3D('mesh');
var textureLoader = new THREE.TextureLoader();
textureLoader.load("lightmap.png", function(lmap){
mesh.traverse((node) => {
if (!node.isMesh) return;
node.material.lightMap = lmap;
lmap.flipY = node.material.map.flipY; //needed to flip the texture
node.material.needsUpdate = true;
});
});
如果我将材质替换为新材质并设置了光照贴图,则说明该材质可以正常工作。 但我想找到一种无需重新创建所有材料的方法。
答案 0 :(得分:0)
已加载光照贴图,但不容易看到。 默认情况下,在将GLTF结果加载到1.0级后,来自Khronos Blender Exporter的金属度以threejs转换。通过这种配置,光照贴图很难看到,并且与我们在Blender中看到的不一样。
我希望我的错误可以帮助其他人浪费太多时间。