我正在尝试将gltf模型(link)加载到A帧,但它看起来很暗,我已经使用link对其进行了检查,不同之处在于在gltf查看器中,在灯光下有一个称为环境的字段,该字段设置为“公园(白天)”。
环境设置为:无
如何将此设置应用于我在A-Frame中的模型?
另一个区别是我已经在a场景渲染器中使用“ colorManagement:true”修复了gammeOutput属性。
当前使用的是A-Frame 0.9.0版
答案 0 :(得分:0)
如果看到模型反射的图像,则为environment map。当您希望对象反映其周围环境或任何其他环境时使用。
您可以使用envMap
(立方体贴图)或sphericalEnvMap
(360图像)属性在基元上进行设置:
<a-sphere material="roughness:0; sphericalEnvMap: #myImage>
在this小提琴中检查一下。
对于模型,您需要更深入地研究。您需要traverse
模型,并设置每个网格envMap
属性:
let texture = THREE.TextureLoader()
const mesh = element.getObject3D('mesh');
const envMap = texture;
if (!mesh) return;
mesh.traverse(function (node) {
if (node.material && 'envMap' in node.material) {
node.material.envMap = envMap;
node.material.needsUpdate = true;
}
});