代码之家  ›  专栏  ›  技术社区  ›  Eärendil Baggins

环境光遮挡未显示在三.js

  •  1
  • Eärendil Baggins  · 技术社区  · 6 年前

    我用的是 MeshStandardMaterial 在三.js当我创建和应用材质时,除了 aoMap ,对模型没有影响。我怀疑这是因为我没有第二组UV(我的UV展开是通过搅拌机完成的,我根本没有手动应用任何UV)三.js),作为 documentation 说:

    默认值为空。 aoMap需要第二组UV ,和 因此将忽略“重复”和“偏移”纹理属性。

    var geometry = mesh.geometry;
    geometry.addAttribute( 'uv2', new THREE.BufferAttribute( geometry.attributes.uv.array, 2 ) );
    

    但是没有运气。如何将UV贴图复制到 uv2 属性,或使环境光遮挡工作所需的任何位置?

    2 回复  |  直到 6 年前
        1
  •  4
  •   WestLangley    6 年前

    aoMap 是一个 环境光遮挡贴图 ,正如它的名字所说,它阻挡了环境光。这就是它所阻挡的一切。

    AmbientLight , HemiSphereLight ,和 LightMap

    所以 aoMap公司 堵住这三个源头。它不会阻挡直接光源。直接光源包括 DirectionalLight , SpotLight , PointLight ,和 AreaLight .

        2
  •  3
  •   M -    6 年前

    你用的是什么样的灯?我重现了你的处境,一切如期。需要注意的是aoMap会显示三、环境光,但与三、聚光灯. 如果你使用 envMap on your MeshStandardMaterial

    enter image description here