【发布时间】:2011-12-09 00:04:53
【问题描述】:
是否可以为 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 并且花了一整天的时间试图找到答案,所以如果有人可以提供帮助;非常感谢。
【问题讨论】: