Я загружаю сетку через 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-пакеты экспортируют эту информацию как нечто, называемое «сглаживающие группы». Треугольники с одинаковым идентификатором группы являются одним оригинальным многоугольником. Я не знаю, раскрывает ли это три. Js. – starmole