Могут ли файлы OBJ волнового фронта иметь вершины для каждого объекта (или для группы)? - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть объект, разбитый на множество мелких частей. Я мог бы вести глобальный список вершин и выяснить, какие из них принадлежат каждой небольшой части, но в моем случае использования было бы проще, если бы я мог индексировать относительно.

IE, я указываю, что в части 0 есть 8 вершины и грань 0 части 0 использует вершины 0, 3, 4 этой части .

Есть ли способ сделать это в файлах Wavefront OBJ? Немного неясно, как работают Группы и Объекты.

Например, допустимо ли следующее:

o myObj1
v 3159.000000 203.000000 1959.000000 1.000000
v 3161.000000 203.000000 1959.000000 1.000000
v 3161.000000 203.000000 1961.000000 1.000000
v 3159.000000 203.000000 1961.000000 1.000000
v 3159.000000 205.000000 1959.000000 1.000000
v 3161.000000 205.000000 1959.000000 1.000000
v 3161.000000 205.000000 1961.000000 1.000000
v 3159.000000 205.000000 1961.000000 1.000000
f 1 4 5
f 4 5 8
f 2 3 6
f 3 6 7
f 1 2 3
f 1 3 4
f 5 6 7
f 5 7 8
f 1 2 5
f 2 5 6
f 4 3 8
f 3 8 7
o myObj2
v 3159.000000 203.000000 1961.000000 1.000000
v 3161.000000 203.000000 1961.000000 1.000000
v 3161.000000 203.000000 1963.000000 1.000000
v 3159.000000 203.000000 1963.000000 1.000000
v 3159.000000 205.000000 1961.000000 1.000000
v 3161.000000 205.000000 1961.000000 1.000000
v 3161.000000 205.000000 1963.000000 1.000000
v 3159.000000 205.000000 1963.000000 1.000000
f 1 4 5
f 4 5 8
f 2 3 6
f 3 6 7
f 1 2 3
f 1 3 4
f 5 6 7
f 5 7 8
f 1 2 5
f 2 5 6
f 4 3 8
f 3 8 7

И так далее. (Конечно, при условии, что координаты - это координаты)

РЕДАКТИРОВАТЬ: Википедия заявляет:

Файлы OBJ, благодаря своей структуре списка, могут ссылаться на вершины, нормали и т. Д. c. либо по абсолютной позиции (1 представляет первую определенную вершину, N представляет N-ю определенную вершину), либо по относительной позиции (-1 представляет последнюю определенную вершину). Однако не все программное обеспечение поддерживает последний подход, и наоборот, некоторые программы по своей природе записывают только последнюю форму (из-за удобства добавления элементов без необходимости пересчета смещений вершин и т. Д. c.), Что иногда приводит к несовместимости.

Так это ... должно работать? Однако неясно, как будет выглядеть формат. В любом случае, он не работает должным образом в 3D Viewer.

...