将Cinema 4D模型和纹理放入iPhone应用程序

8
我是一名iPhone开发者,正试图将自己在Cinema 4D中创建的3D模型导入到正在制作的应用程序中。我已经找到了一种方法来导入模型(通过将其导出为.dae或.obj文件并使用Python脚本),这种方法非常好,但是我无法将纹理与之一起导入。我的脚本实际上只能处理1个纹理。
基本上,我需要在c4d中创建和导出UV贴图(但我不知道如何做),或者找出一种用脚本或PowerVR将多个纹理读入我的Open Gl-ES应用程序的方法。(这可能更好)
对于一些初学者的问题感到抱歉,因为我很新手于3D领域。

2
抱歉?不需要道歉。即使是初学者的问题也能扩展人类的知识。当然还有 Stack Overflow 的声望。此外,提出一个好问题还可以得到加分。我很少看到新手的第一个问题就是好问题。 - user142019
你有任何(u, v)坐标能够通过吗? - Tommy
1
我想看看你的脚本输出。我有一种预感,你可能犯了另一个n00b错误,并误以为将模型导出为实际的OpenGL命令是可行的方法 - 在OpenGL-ES中,由于顶点数组的强制执行,这实际上是可行的方法,但你仍然必须小心。 - datenwolf
1个回答

1

我建议您使用Blender。将您的Cinema-4D模型导出到Blender中,并使用Blender创建UVMaps。

您需要制作接缝并展开模型。之后,为您的纹理保存一个targa模板,将纹理应用于该targa上。将其保存为png或jpg格式。在Blender中将该纹理图像应用于您的模型。现在您可以导出Wavefront OBJ文件。

使用OpenGLOBJLoader类在iPhone中呈现您的模型。 还有一件事:您应该在y轴上反转(从1中减去)纹理坐标,以便正确呈现您的纹理。

例如,如果您的纹理坐标如下:

vt 0.800008 0.400000
vt 0.800008 0.150000
...

请确保您已将它们反转,如下所示:

vt 0.800008 0.600000
vt 0.800008 0.850000
...


嘿cruor,感谢回复。我在哪里可以找到OpenGLOBJLoader?我在Google上搜索了它,并在这里找到了一个链接http://iphonedevelopment.blogspot.com/2009/03/wavefront-obj-loader-open-sourced-to.html,但该链接似乎已被删除。你有源代码的副本吗?我想,找出一种将多个纹理读入我的Open Gl-ES应用程序的方法会更容易,因为这将为我提供更多的选择。 - Roksalt
1
在这里你可以找到示例和类:http://bill.dudney.net/roller/objc/entry/wave_front_obj_textures_working - erkanyildiz
1
这是关于使用Blender制作UV贴图的内容:http://www.virtualrealm.com.au/Blog/tabid/62/EntryId/465/Blender-3D-Texturing-a-Box.aspx - erkanyildiz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接