【问题标题】:How does Jeff Lamarches script binds the texture to objects [duplicate]Jeff Lamarches 脚本如何将纹理绑定到对象[重复]
【发布时间】:2012-07-19 19:20:04
【问题描述】:

可能重复:
Loading model using Jeff Lamarches script

伙计们,这听起来可能是一个非常新手的问题,我对 GLKit 和 OpenGL 还是很陌生

我正在使用此处 (https://github.com/jlamarche/iOS-OpenGLES-Stuff) 的 Jeff Lamarches scipt 从 Blender 生成 Objective C 头文件。

假设我创建了一个立方体并在 Blender 中使用一些图像(假设 image.png)进行了 UV 映射。

所以基本上我想了解标题中有关 3D 模型上纹理映射的信息保存在哪里?因为我只看到其中的顶点坐标和法线。

在他的 MeshVertexModel 示例中是一个三字段数组,即

...
    {/*v:*/{-0.351562, 0.828125, -0.242188}, /*n:*/{-0.183599, 0.982971, 0.005310}, /*t:*/{0.954205, 0.958702}},
...

但是我从生成的头文件中得到的只是以下格式

...
    {/*v:*/{-0.351562, 0.828125, -0.242188}, /*n:*/{-0.183599, 0.982971, 0.005310}},
...

【问题讨论】:

  • 链接到您正在使用的脚本会非常有帮助。我认为它是这个 github 存储库中的那个:github.com/jlamarche/iOS-OpenGLES-Stuff
  • 我也在使用相同的脚本
  • @Sven 到底是什么我被否决了,你提出的问题是我自己的另一个问题,与这个问题完全无关。如果您发现我在此处需要更正的任何内容,请告诉我!

标签: objective-c ios opengl-es glkit


【解决方案1】:

发现类似的问题也有Wavefront export,这里是http://projects.blender.org/tracker/index.php?func=detail&aid=30317&group_id=9&atid=498 in 2.63 Blender。

只需将uv_layer = me.uv_textures.active.data 替换为uv_layer = me.tessface_uv_textures.active.data 就有助于生成纹理坐标。

更新:对于球体和立方体,脚本无法正常工作,即对于立方体,它不会生成任何顶点,而对于球体,它确实会生成一个圆的顶点,对于其他复杂的对象,补丁可以正常工作并正确生成所有数据.

【讨论】:

    猜你喜欢
    • 2020-04-29
    • 2013-12-18
    • 2012-12-11
    • 2011-08-22
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多