Я импортирую модель FBX как объект модели XNA и читаю через вершинный буфер, чтобы получить треугольники, индексы, UV и поместить их в свой собственный класс модели. Проблема в том, что в буфере хранятся данные только о каждом треугольнике, а не о четырехугольниках, которые когда-то были в 3dsmax.
Мне нужно сохранить четырехугольную структуру, чтобы использовать сетку по своему усмотрению. Следующие пункты - это разные способы, которыми я могу достичь этого, но мне понадобится помощь, чтобы это сделать.
Один из методов, который я пробовал, - это просто создавать квадраты в том порядке, в котором появляются треугольники. Это отлично работает для примитивов, которые имеют правильный порядок вершин / треугольников, где каждый треугольник четырехугольника идет за другим, но редактируемые сетки имеют порядок препятствий, который прерывает поток. Если кто-то знает способ изменить порядок вершин / треугольников перед экспортом, это все равно будет работать.
Есть ли способ прочитать файл FBX (желательно после его загрузки в качестве объекта модели, чтобы избежать переписывания отдельного конвейера модели), в котором треугольники соединены как четырехугольники?
«Кодирующий» подход. Учитывая список вершин / индексов, упорядочите их соответственно так, чтобы структура квадратов стала очевидной. В 3dsmax есть кнопка «quadrify», которая работает довольно хорошо, но не может найти простой способ сделать это. редактировать; Для этого подхода я имею в виду, что это оптимальный способ взглянуть на неупорядоченную структуру треугольников, чтобы найти лучшую «четырехугольную» версию меша, аналогично «квадрификации» в инструментах 3dsmax.