Файлы Cinema 4D .obj не импортируются правильно - PullRequest
1 голос
/ 01 ноября 2011

У меня есть парсер, написанный на 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?

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

# 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 Ответ

1 голос
/ 01 ноября 2011

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

...