【问题标题】:Put a Cinema 4D model and Texture into an iPhone App将 Cinema 4D 模型和纹理放入 iPhone 应用程序
【发布时间】:2011-07-10 01:13:38
【问题描述】:

我是一名 iPhone 开发人员,我正在尝试将我在 Cinema 4D 中创建的 3D 模型放入我正在制作的应用程序中。我实际上已经找到了一种方法来获取模型(通过将其导出为 .dae 或 obj 并使用 python 脚本),这种方法非常有效,但是我无法获得它附带的纹理。我的脚本实际上也只能处理 1 个纹理。

基本上,我需要在 c4d 中创建和导出 UV 贴图(但我不知道如何执行此操作),或者我想办法通过脚本或 PowerVR 将多个纹理读取到我的 Open Gl - ES 应用程序中。 (这可能更好)

对于菜鸟问题​​,我很抱歉,但我对 3D 世界很陌生。

干杯

【问题讨论】:

  • 对不起?不需要抱歉。即使是菜鸟问题也能扩展人类知识。当然,还有 Stack Overflow 的声誉。另外:+1 提出一个好问题。我很少看到新人的第一个 Q 很好。
  • 你有任何 (u, v) 坐标通过吗?
  • 我想看看你的脚本的输出。我有一种预感,您正在犯另一个 n00b 错误,并且误以为将模型导出到实际的 OpenGL 命令中-由于顶点数组的强制执行,使用 OpenGL-ES 这实际上是一种可行的方法,但是您必须不过要小心。

标签: iphone opengl-es 3d cinema-4d uv-mapping


【解决方案1】:

我建议您使用 Blender。为 Blender 导出您的 Cinema-4D 模型并使用 Blender 创建 UVMap。

您需要制作接缝并打开模型。之后为您的纹理保存一个 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
...

【讨论】:

猜你喜欢
  • 2012-08-06
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
相关资源
最近更新 更多