Aframe 1.0.4 - 设置 scene.environment 不更新素材
Aframe 1.0.4 - setting scene.environment does not update materials
所以我在这里看到了一个旧的post:
也就是说...“如果将环境贴图应用到 Scene.environment,它会自动用作场景中所有物理 material 的环境贴图(假设 material 的 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;
}
});
环境属性设置成功,但其他对象materials的envMap仍为null,环境光照在materials上不生效
有什么想法吗?
aframe 1.0.4 使用 three.js 修订版 111dev。场景的 environment
属性 是在修订版 112 (source) 中引入的。
如果您使用 aframe master build - it seems to be working properly(因为它基于 three.js r119)。
否则,您将不得不遍历网格,并手动设置 material.envMap
属性。
所以我在这里看到了一个旧的post:
也就是说...“如果将环境贴图应用到 Scene.environment,它会自动用作场景中所有物理 material 的环境贴图(假设 material 的 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;
}
});
环境属性设置成功,但其他对象materials的envMap仍为null,环境光照在materials上不生效
有什么想法吗?
aframe 1.0.4 使用 three.js 修订版 111dev。场景的 environment
属性 是在修订版 112 (source) 中引入的。
如果您使用 aframe master build - it seems to be working properly(因为它基于 three.js r119)。
否则,您将不得不遍历网格,并手动设置 material.envMap
属性。