Файлы Cinema 4D .obj не импортируются правильно

У меня есть парсер написанный на ActionScript для импорта файлов.obj. Затем я рендерил их в Molehill, и это здорово. До сих пор я могу импортировать, как мне кажется, стандартные файлы.obj с вершинами в порядке x, y, z или z, x, y. Однако любой файл.obj, экспортированный из Cinema 4D, просто не работает.
Например, тетраэдр даже не отображает компонент z (файл.obj имеет индексы с правильной глубиной z!). В простом кубе отсутствует половина граней треугольника. Я слышал, что Cinema 4D экспортирует в порядке x, z, y, и поэтому я попытался объяснить это, но безуспешно. И действительно, порядок вершин в любом случае не должен приводить к отсутствию полигонов.

Кто-нибудь импортировал меши Cinema 4D из файлов.obj? Есть ли какая-то особая хитрость? Cinema 4D просто использует стандарты Wavefront .obj? Заранее благодарю за любую помощь.

Обновление: я считаю, что виновником является то, что индексные данные для полигонов находятся в наборе 4 вместо 3. Например, я хочу это: 1/1 2/2 3/3, но не это: 1/1 2/2 3/3 4/4. Cinema 4D экспортирует файлы.obj как последние. В любом случае, чтобы решить эту проблему на конце синтаксического анализа или экспорта Cinema 4D?

Обновление 2: Теперь индексные данные - это то, что мне нужно, но все равно я не могу правильно отобразить. Следующее для правильного тетраэдра. Когда я пытаюсь сделать это, появляются только два из четырех лиц:

# WaveFront *.obj file (generated by CINEMA 4D)
g __
v -70.571068 -100 122.232675
v 141.142136 -100 0
v 0 100 0
v -70.571068 -100 -122.232675
vt 0.666667 0 0
vt 0.5 0.5 0
vt 0 0 0
vt 1 0 0
vt 0 0.5 0
vt 0.333333 1 0
vt 1 1 0
vt 0.666667 1 0
vt 0.333333 0 0
vt 0.75 0.933013 0
f 4/10 2/5 1/2 
f 1/1 3/8 4/9 
f 2/4 3/7 1/1 
f 4/9 3/6 2/3 

Есть ли что-то странное в вышеуказанном содержании? (Было бы полезно, если бы у меня был файл.obj, экспортированный из другого стандартного программного обеспечения 3D того же тетраэдра)

1 ответ

Решение

Я не уверен, как вы рисуете сетку, используя Molehill, но довольно легко триангулировать сетку перед экспортом в.obj, используя Функции> Триангуляция.

Другие вопросы по тегам