所以我在这里看到了一个旧帖子:
这就是说...“如果将 env 贴图应用于 Scene.environment,它会自动用作场景中所有物理材质的环境贴图(假设未设置材质的 envmap)。”
因此,在场景中使用 Aframe 组件进行了尝试:
AFRAME.registerComponent('setenvironment', {
init: function () {
var sceneEl = this.el;
var loader = new THREE.CubeTextureLoader();
loader.setPath('./');
var textureCube = loader.load([
'./images/py.png', './images/pz.png',
'./images/nx.png', './images/ny.png',
'./images/px.png', './images/nz.png'
]);
textureCube.encoding = THREE.sRGBEncoding;
sceneEl.object3D.environment = textureCube;
}
});
环境属性设置成功,但其他物体材质的envMap仍然设置为null,环境光照对材质没有影响。
有任何想法吗?