Threejs UV贴图失真

时间:2018-11-27 02:05:21

标签: three.js

我有以下问题图像在脸部变形(红线)。 我在每个图层上都有这样的几层,它们具有相同的变形。 我仔细检查了UV贴图,并且两个面对于相同的2个点都具有相同的2个UV坐标。我会粘贴一些代码,但这是一些复杂的UV计算。我正在尝试看看是否有人遇到类似的问题。

enter image description here

此部分的紫外线映射(红线与上图匹配) enter image description here

这是UV计算的代码,但您可能无法在其中找到错误。

calculateNewUvMapping(vertices: Array<Vector3>): Array<Vector2> {
const orderedVertices = _.clone(vertices).reverse();
const newArray: Array<Vector2> = new Array<Vector2>();

const startV3 = orderedVertices[0];
const endV3 = orderedVertices[orderedVertices.length - 1];

const start = new Vector2(startV3.x, startV3.z);
const end = new Vector2(endV3.x, endV3.z);

// Distance between two vertices on scale from 0 to 1
const distanceAlpha = 1 / (orderedVertices.length - 1);

newArray.push(start);
for (let i = 1; i < orderedVertices.length - 1; i++) {
  const newUv = new Vector2();
  const interpolationValue = distanceAlpha * i;
  newUv.lerpVectors(start, end, interpolationValue);
  newArray.push(newUv);
}
newArray.push(end);

return newArray;
}

编辑:它不是法线计算。

0 个答案:

没有答案