Blender 2.6: Exporting UV Texture Coordinates
There is nothing I admire more then a software development team that is not shy of reorganizing an API to the better even though it means stepping on some peoples feet. Well, I guess the Blender team stepped on my foot; because one of my export scripts was no longer working once I upgraded to Blender 2.6. Actually, I should have known; because it is more the rule then the exception that the Python API changes from release to release…
This time it took me some hours to find how to get to the UV texture coordinates of a mesh. After browsing through the API via the python console for some time I took the easy way out and peaked into the .OBJ model exporter coming with blender. So, here is how you get to the UV textures of a triangle for your mesh:
m = bpy.context.active_object.to_mesh(bpy.context.scene, True, 'PREVIEW') uv1 = m.tessface_uv_textures.active.data[0].uv1 uv2 = m.tessface_uv_textures.active.data[0].uv2 uv3 = m.tessface_uv_textures.active.data[0].uv3
The part of the data path that has changed (at least I was able to get to the UV coordindates differently in the past) is the tessface_uv_textures property.
Note that i am accessing index [0] here. The array indicesĀ correspondĀ to the indices of the faces-array. So, this example is for face zero. Also note that the uv1 to uvx depend on how many vertices the face has. Often you would first triangulate the mesh to have only primitive polygons.
I hope t helps someone because also google mostly shows up with results for accessing the UV coordinates that are deprecated for some time by now and thus are no longer working.

The update to 2.6 fucked me up too but your post really made my day.
I’m working on an Exporter for a 3DEngine and got a couple questions about the UV’s of a triangulated mesh.
For the sake of simplicity I’m using a triangulated surface which contains 4 vertices and 6 indices. So we got 1 UV for each vertex. Let’s get to my Question: When I’m trying to use them in my application do I have to export just the 4 different UV’s or all 6?
Ilheyus
September 10, 2012 at 9:33 pm
if you want to use the same texture for the mulitple uses of the vertex, you can export only the 4. but you might be constraint by this. think about a cube where the same vertex location is used for three different sides of the cube. here, you might consider exporting actually 3 verticies with 3 different texture coordinates (even though it is the same physical location for all three verticies).
cheers,
daniel
38leinad
September 11, 2012 at 3:44 pm