[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1924] contrib/py/scripts/addons/ io_import_fbx.py: Now supports multi uv maps.
Kalle-Samuli Riihikoski
haikalle at gmail.com
Sat May 14 16:55:00 CEST 2011
Revision: 1924
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=1924
Author: haikalle
Date: 2011-05-14 14:54:59 +0000 (Sat, 14 May 2011)
Log Message:
-----------
Now supports multi uv maps.
Modified Paths:
--------------
contrib/py/scripts/addons/io_import_fbx.py
Modified: contrib/py/scripts/addons/io_import_fbx.py
===================================================================
--- contrib/py/scripts/addons/io_import_fbx.py 2011-05-14 14:51:19 UTC (rev 1923)
+++ contrib/py/scripts/addons/io_import_fbx.py 2011-05-14 14:54:59 UTC (rev 1924)
@@ -342,6 +342,43 @@
ed.crease = crease_edges[idx]
else:
print("WARNING: %s, unsupported smoothing type: %s" % (fbx_name, type))
+
+ # Create the Uv-sets
+ for i in tag_get_iter(value2, "LayerElementUV"):
+ i=i[1]
+ uv_in = 0
+ uv_face = []
+ uv_name = tag_get_single(i,"Name")[1]
+ print(uv_name)
+ uv_verts = tag_get_single(i, "UV")[1]
+ uv_index = tag_get_single(i, "UVIndex")[1]
+
+ if(uv_verts):
+ blen_uv_verts = [uv_verts[i - 2:i] for i in range(2, len(uv_verts) + 2, 2)]
+
+ for ind,uv_i in enumerate(uv_index):
+ if(uv_i == -1):
+ uv_face.append([-0.1,-0.1])
+ else:
+ uv_face.append(blen_uv_verts[uv_in])
+ uv_in +=1
+
+ me.uv_textures.new(uv_name)
+ uv_layer = me.uv_textures[-1].data
+ uv_counter = 0
+ if uv_layer:
+ for fi, uv in enumerate(uv_layer):
+ if(len(me.faces[fi].vertices) == 4):
+ uv.uv1 = uv_face[uv_counter]
+ uv.uv2 = uv_face[uv_counter+1]
+ uv.uv3 = uv_face[uv_counter+2]
+ uv.uv4 = uv_face[uv_counter+3]
+ uv_counter += 4
+ else:
+ uv.uv1 = uv_face[uv_counter]
+ uv.uv2 = uv_face[uv_counter+1]
+ uv.uv3 = uv_face[uv_counter+2]
+ uv_counter += 3
obj = bpy.data.objects.new(fbx_name, me)
More information about the Bf-extensions-cvs
mailing list