aframe - Aframe 1.0.4 - 设置 scene.environment 不更新材质
问题描述
所以我在这里看到了一个旧帖子:
这就是说...“如果将 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,环境光照对材质没有影响。
有任何想法吗?
解决方案
aframe 1.0.4 使用 three.js 修订版 111dev。在修订版 112(来源)environment
中引入了场景的属性。
如果您使用 aframe主构建 - 它似乎工作正常(因为它基于 three.js r119)。
否则,您将不得不遍历网格,并material.envMap
手动设置属性。
推荐阅读
- javascript - 确保 div 父级包裹 img 子级
- python - 预处理节点/边缘数据或重新格式化,以便 Gurobi 可以更有效地优化
- android - 无法识别的 VM 选项“MaxPermSize=512m”错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序将会退出
- amazon-web-services - EC2 实例的网络输入和网络输出指标正常状态是什么?
- php - Woocommerce:设置税款并根据自定义字段值通过挂钩重新计算总计
- python - Tensorflow/Keras - Building multiple models in a loop with the same layer names
- python-3.x - Python Pandas 使用 for 循环添加列
- javascript - 没有模板字符串的输出
- flutter - 如何在颤动中不在导航项列表中的页面中显示底部导航栏?
- json - Python: Reading and Writing HUGE Json files