我正在通過Three.js加載網格,並試圖單獨對每個四邊形進行紋理化。現在,我可以紋理每張臉(三),但我不知道如何確定當前和最後一個三角形是否是四邊形的一部分(它們將共享兩個頂點,但是哪些頂點?)查找網格中的所有四邊形
如何可以我想知道兩個三角形是否構成一個四邊形?
var last = null;
for(var i in geometry.faces)
{
var face = geometry.faces[i];
var normal = face.normal.clone().normalize();
if(normal.y >= 0.9999)
{
face.materialIndex = 1;
//Determine if face & last are part of a quad
if(face && last == same quad)
{
face.color = last.color;
}
else
{
face.color = new THREE.Color(Math.random() * 0xFFFFFF);
}
last = face;
}
}
謝謝,我認爲你是對的,這是用戶定義的問題。我可能需要重新思考我是如何努力做到這一點的,如果沒有別的辦法,可以獲得更大的靈活性。 – Shadda
順便說一句,我只記得一些3d軟件包會將這些信息導出爲「平滑組」。具有相同組ID的三角形是一個原始多邊形。我不知道three.js是否暴露了這個。 – starmole