gpt4 book ai didi

three.js - 环境遮挡未在three.js中显示

转载 作者:行者123 更新时间:2023-12-05 00:48:20 26 4
gpt4 key购买 nike

我在 three.js 中使用 MeshStandardMaterial,当我创建和应用 Material 时,除了 aoMap 之外,所有贴图都可以正常工作,它对该模型。我怀疑这是因为我没有第二组 UV(我的 UV 展开是通过 Blender 完成的,我根本没有在 three.js 中手动应用任何 UV),如 documentation说:

The red channel of this texture is used as the ambient occlusion map. Default is null. The aoMap requires a second set of UVs, and consequently will ignore the repeat and offset Texture properties.

我已经尝试使用下面的代码来解决这个问题:

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

但没有运气。如何将我的 UV 贴图复制到 uv2 属性,或任何需要使环境光遮蔽起作用的地方?

最佳答案

aoMap是一个环境光遮蔽贴图,正如它的名字所说,它会遮蔽环境光。这就是它所遮挡的全部内容。

目前在 three.js 中有三种环境(或间接)光源:AmbientLight , HemiSphereLight , 和 LightMap .

所以 aoMap屏蔽这三个来源。它不会遮挡直接光源。直接光源包括DirectionalLight , SpotLight , PointLight , 和 AreaLight .

three.js r.95

关于three.js - 环境遮挡未在three.js中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52103784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com