每个顶点UV坐标可以进行混合器导出吗?

时间:2011-10-17 03:43:52

标签: python blender

是否可以为Blender编写一个导出器,该导出器在每个顶点水平上导出网格UV纹理坐标,这些坐标位于面上的标准UV上?

我不是一个真正的python人,并且只使用了两天,但我已经设法为Android编写了一个简单的网格导出器...我能够将顶点和索引导出到数组,但是我无法以相同的方式导出UV ...我只能将它们与面顶点相关联,而这些顶点并没有太大帮助....

由于格式化,我不确定如何发布python代码,但是这里是抓取所有信息并将其放入数组的部分:

    obverts = bpy.context.active_object.data.vertices
    obfaces = bpy.context.active_object.data.faces
    verts = []
    indices = []
    tex = []

    for vertex in obverts:
        verts.append(vertex.co.x)
        verts.append(vertex.co.y)
        verts.append(vertex.co.z)

    for face in obfaces:
        indices.append(face.vertices[0])
        indices.append(face.vertices[1])
        indices.append(face.vertices[2])
        face_index = face.index
        for u,v in bpy.context.active_object.data.uv_textures.active.data[ face_index ].uv:
            tex.append(u)
            tex.append(v)

现在一切正常,除了获得UV坐标的最后四行......这是从面部获取UV的地方......但是如何获得与data.vertices相关的UV?我读了一些关于“粘性uv坐标”的内容,但我在我的Blender版本上找不到该选项。 我正在使用Blender 2.57并且花了一整天时间试图找到答案,所以如果有人可以提供帮助;我会非常感激。

1 个答案:

答案 0 :(得分:2)

  

我能够将顶点和索引导出到数组,但是我无法以相同的方式导出UV ...我只能将它们与面顶点相关联,这对它们没有太大的帮助。 ...

UV必须与面相关,因为每个顶点对于它所属的每个多边形可能有不同的uv。

例如,想想每个面上具有不同纹理的立方体。顶点将位于一个面的左上角,而右侧的顶面位于其旁边。