Aframe 1.0.4-设置场景.environment不更新材质



所以我在这里看到了一个旧帖子:

https://discourse.threejs.org/t/is-there-a-way-to-increase-scene-environment-map-exposure-without-affecting-unlit-materials/13458/4

也就是说"如果将环境贴图应用于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仍设置为null,并且环境照明不会对材质生效。

有什么想法吗?

aframe 1.0.4使用three.js修订版111dev。场景的environment属性已在修订版112中引入(来源(。

如果您使用aframe主构建,它似乎工作正常(因为它基于three.js r119(。

否则,您将不得不遍历网格,并手动设置material.envMap属性。

相关内容

  • 没有找到相关文章

最新更新