Threejs OBJLoader 的网格似乎有不正确的顶点排序
Threejs OBJLoader'd mesh appears to have incorrect vertex ordering
我正在使用 OBJLoader 将 OBJ 文件加载到我的场景中。
无论出于何种原因,顶点排序似乎都不正常。
这是我在搅拌机中的模型照片:
这是我模型的三张照片:
我之前在模型中看到过类似的效果,这一直是由于顶点排序造成的,所以我假设那里出了问题。
编辑 顺便说一下,请注意在 Blender 中有 none 的字母交叉的三角形。我相信在某处引入的顶点数中可能存在偏移量......也许吧。
代码:
const mtlLoader = new MTLLoader();
mtlLoader.load('./test.mtl',
(materials) => {
materials.preload();
const objLoader = new OBJLoader();
objLoader.setMaterials(materials);
objLoader.load(
'./test.obj',
(object) => {
scene.add(object);
},
(xhr) => {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
(error) => {
console.log('An error happened');
}
);
},
(xhr) => {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
(error) => {
console.log('An error happened');
}
)
默认情况下,Three.js只渲染三角形的正面。看起来你的一些脸是颠倒的。确保在 3D 编辑器中计算法线,使它们指向“向外”。这样,当您导出它们时,引擎将知道三角形应该面向哪个方向。
此外,Three.js 不会呈现 n-gons,看起来你的信件中有很多。看'U',是一个平面。确保在导出前转换为三角形。或者至少转换为四边形,这样出口商可以轻松地将它们细分为三边形。
我正在使用 OBJLoader 将 OBJ 文件加载到我的场景中。
无论出于何种原因,顶点排序似乎都不正常。
这是我在搅拌机中的模型照片:
这是我模型的三张照片:
我之前在模型中看到过类似的效果,这一直是由于顶点排序造成的,所以我假设那里出了问题。
编辑 顺便说一下,请注意在 Blender 中有 none 的字母交叉的三角形。我相信在某处引入的顶点数中可能存在偏移量......也许吧。
代码:
const mtlLoader = new MTLLoader();
mtlLoader.load('./test.mtl',
(materials) => {
materials.preload();
const objLoader = new OBJLoader();
objLoader.setMaterials(materials);
objLoader.load(
'./test.obj',
(object) => {
scene.add(object);
},
(xhr) => {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
(error) => {
console.log('An error happened');
}
);
},
(xhr) => {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
(error) => {
console.log('An error happened');
}
)
默认情况下,Three.js只渲染三角形的正面。看起来你的一些脸是颠倒的。确保在 3D 编辑器中计算法线,使它们指向“向外”。这样,当您导出它们时,引擎将知道三角形应该面向哪个方向。
此外,Three.js 不会呈现 n-gons,看起来你的信件中有很多。看'U',是一个平面。确保在导出前转换为三角形。或者至少转换为四边形,这样出口商可以轻松地将它们细分为三边形。