[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4663] trunk/py/scripts/addons/ io_scene_fbx/import_fbx.py: load objects before linking materials ( minor change)
Campbell Barton
ideasman42 at gmail.com
Fri Aug 9 10:13:49 CEST 2013
Revision: 4663
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4663
Author: campbellbarton
Date: 2013-08-09 08:13:49 +0000 (Fri, 09 Aug 2013)
Log Message:
-----------
load objects before linking materials (minor change)
Modified Paths:
--------------
trunk/py/scripts/addons/io_scene_fbx/import_fbx.py
Modified: trunk/py/scripts/addons/io_scene_fbx/import_fbx.py
===================================================================
--- trunk/py/scripts/addons/io_scene_fbx/import_fbx.py 2013-08-09 08:08:30 UTC (rev 4662)
+++ trunk/py/scripts/addons/io_scene_fbx/import_fbx.py 2013-08-09 08:13:49 UTC (rev 4663)
@@ -590,25 +590,9 @@
return connection_filter_ex(fbx_uuid, fbx_id, fbx_connection_map_reverse)
def _():
- # link Material's to Geometry (via Model's)
+ # Link objects, keep first, this also creates objects
for fbx_uuid, fbx_item in fbx_table_nodes.items():
fbx_obj, blen_data = fbx_item
- if fbx_obj.id != b'Geometry':
- continue
-
- mesh = fbx_table_nodes[fbx_uuid][1]
- for fbx_lnk, fbx_lnk_item, fbx_lnk_type in connection_filter_forward(fbx_uuid, b'Model'):
- # link materials
- fbx_lnk_uuid = elem_uuid(fbx_lnk)
- for fbx_lnk_material, material, fbx_lnk_material_type in connection_filter_reverse(fbx_lnk_uuid, b'Material'):
- mesh.materials.append(material)
- _(); del _
-
-
- def _():
- # Link objects
- for fbx_uuid, fbx_item in fbx_table_nodes.items():
- fbx_obj, blen_data = fbx_item
if fbx_obj.id != b'Model':
continue
@@ -619,18 +603,29 @@
if isinstance(fbx_lnk_item, (bpy.types.Material, bpy.types.Image)):
continue
- #print(fbx_lnk, fbx_lnk_item, fbx_lnk_type)
-
# create when linking since we need object data
obj = blen_read_object(fbx_obj, fbx_lnk_item, global_matrix)
+ assert(fbx_item[1] is None)
+ fbx_item[1] = obj
- # TODO, we dont need it yet
- # fbx_lnk_item[1] = obj
-
# instance in scene
obj_base = scene.objects.link(obj)
obj_base.select = True
+ _(); del _
+ def _():
+ # link Material's to Geometry (via Model's)
+ for fbx_uuid, fbx_item in fbx_table_nodes.items():
+ fbx_obj, blen_data = fbx_item
+ if fbx_obj.id != b'Geometry':
+ continue
+
+ mesh = fbx_table_nodes[fbx_uuid][1]
+ for fbx_lnk, fbx_lnk_item, fbx_lnk_type in connection_filter_forward(fbx_uuid, b'Model'):
+ # link materials
+ fbx_lnk_uuid = elem_uuid(fbx_lnk)
+ for fbx_lnk_material, material, fbx_lnk_material_type in connection_filter_reverse(fbx_lnk_uuid, b'Material'):
+ mesh.materials.append(material)
_(); del _
def _():
More information about the Bf-extensions-cvs
mailing list