如何解决Aframe 1.0.4-设置scene.environment不会更新材质
所以我在这里看到了一条旧帖子:
这表示...“如果将env贴图应用于Scene.environment,它将自动用作场景中所有物理材质的环境贴图(假定未设置材质的env贴图)。”
因此,在场景中使用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(source)中引入的。
如果使用无框架master构建-好像是working properly(基于基于three.js r119的构建)。
否则,您将不得不遍历网格,并手动设置material.envMap
属性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。