所以我在这里看到了一个老帖子:
上面写着..。如果将环境贴图应用于Scene.environment,它将自动用作场景中所有物理材质的环境贴图(假设未设置材质的环境贴图)。
所以在场景中使用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仍设置为空,并且环境照明不会对材质产生影响。
有什么想法吗?
发布于 2020-10-07 22:28:36
aframe 1.0.4使用three.js修订版111dev。在修订版112 (source)中引入了场景的environment属性。
如果你使用aframe master构建-它似乎是working properly (因为它基于three.js r119)。
否则,您将不得不遍历网格,并手动设置material.envMap属性。
https://stackoverflow.com/questions/64241307
复制相似问题