Cinema 4D .obj文件无法正确导入

时间:2011-11-01 13:34:25

标签: parsing object wavefront molehill cinema-4d

我有一个用ActionScript编写的解析器,用于导入.obj文件。然后我在Molehill渲染它们,这太棒了。到目前为止,我可以导入我认为是标准的.obj文件,其中包含x,y,z顺序或z,x,y顺序的顶点。但是,从Cinema 4D导出的任何.obj文件都会失败 例如,四面体甚至不渲染z分量(.obj文件具有适当的z深度的索引!)。一个简单的立方体缺少一半的三角形面。我听说Cinema 4D以x,z,y顺序出口,所以我试图解释它,但没有运气。实际上,顶点顺序不应该导致丢失的多边形。

有没有人从.obj文件导入Cinema 4D网格?有什么特别的伎俩吗? 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 

上述内容有什么奇怪之处吗? (如果我从同一个四面体的另一个标准3D软件导出.obj文件,那会有所帮助)

1 个答案:

答案 0 :(得分:1)

我不确定你是如何使用Molehill绘制网格的,但是在使用函数>导出到.obj之前对网格进行三角剖分相当容易。三角测量