gpt4 book ai didi

javascript - Three.js 镜像法线贴图翻转 channel

转载 作者:行者123 更新时间:2023-12-03 12:25:57 25 4
gpt4 key购买 nike

我在 Three.js 中向模型添加了一个法线贴图,该贴图在中间镜像。看起来其中一个 channel (也许是绿色?)在镜像一侧翻转。

enter image description here

我有一盏环境灯、一盏定向头灯和一盏聚光灯。这是我用来制作 Material 的代码:

// Create a MeshPhongMaterial for the model
var material = new THREE.MeshPhongMaterial();
material.map = THREE.ImageUtils.loadTexture(texture_color);
// Wrapping modes
//THREE.RepeatWrapping = 1000;
//THREE.ClampToEdgeWrapping = 1001;
//THREE.MirroredRepeatWrapping = 1002;
material.map.wrapS = THREE.RepeatWrapping;
material.map.wrapT = THREE.MirroredRepeatWrapping;
if (texture_normal != null) {
material.normalMap = THREE.ImageUtils.loadTexture(texture_normal);
material.normalMap.wrapS = THREE.RepeatWrapping;
material.normalMap.wrapT = THREE.MirroredRepeatWrapping;
}
material.wrapAround = true;
material.morphTargets = true;
material.shininess = 15;
material.specular = new THREE.Color(0.1, 0.1, 0.1);
material.ambient = new THREE.Color(0, 0, 0);
material.alphaTest = 0.5;
var mesh = new THREE.MorphAnimMesh( geometry, material );
// Turn on shadows
mesh.castShadow = true;

if (shadows) {
mesh.receiveShadow = true;
}

scene.add( mesh );

我尝试了 material.normalMap.wrapSmaterial.normalMap.wrapT 的所有不同组合,但这并没有解决问题(也尝试了漫反射贴图)。我做错了什么?

谢谢!

最佳答案

法线贴图依赖于几何体,因此您不能只是镜像它并期望它像漫反射纹理一样工作。

要使其正常工作,您需要在模型上镜像 UVW 的任何位置翻转法线贴图的红色 channel 。

http://www.polycount.com/forum/showthread.php?t=116922

关于javascript - Three.js 镜像法线贴图翻转 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24208504/

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