加载 GLTF 后的 Aframe 加载光照贴图 - 光照贴图未显示
Aframe Load lightmap after loading GLTF - lightmap not showing
我试图在从 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;
});
});
如果我用新的 material 替换并设置光照贴图,它就可以工作了。
但我想找到一种无需重新创建所有 material 的方法。
光照贴图已加载,但不容易看到。
默认情况下,在将 GLTF 结果加载到 1.0 级后,Khronos Blender Exporter 的金属度在 threejs 中转换。使用此配置,光照贴图很难看到,并且与我们在 Blender 中看到的不对应。
我希望我的错误可以帮助其他人浪费太多时间。
我试图在从 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;
});
});
如果我用新的 material 替换并设置光照贴图,它就可以工作了。 但我想找到一种无需重新创建所有 material 的方法。
光照贴图已加载,但不容易看到。 默认情况下,在将 GLTF 结果加载到 1.0 级后,Khronos Blender Exporter 的金属度在 threejs 中转换。使用此配置,光照贴图很难看到,并且与我们在 Blender 中看到的不对应。
我希望我的错误可以帮助其他人浪费太多时间。