Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2015-03-10 21:42:22 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-03-10 21:44:30 +0300
commit3fc5b82c6bdba2f9c954fbf497621b9bb794a1bc (patch)
treeb58cc16874391ef6f35aad05f91d5a581742e5b5
parentc14da53778332174ffff59e8e13db66d532a108d (diff)
Fix T43954: New FBX Importer resets UVs of imported model.v2.74-rc1
Pretty stupid, UV/VCols were passed as a copied list instead of direct blend data. Not sure there was a reason for that, but now it was seriously conflicting with new advanced behavior of that code (to allow complex per vert/face/loop normal import into clnors)...
-rw-r--r--io_scene_fbx/import_fbx.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/io_scene_fbx/import_fbx.py b/io_scene_fbx/import_fbx.py
index bee5c0e3..dbf64ee6 100644
--- a/io_scene_fbx/import_fbx.py
+++ b/io_scene_fbx/import_fbx.py
@@ -719,38 +719,38 @@ def blen_read_geom_array_setattr(generator, blen_data, blen_attr, fbx_data, stri
if xform is not None:
if isinstance(blen_data, list):
if item_size == 1:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
blen_data[blen_idx] = xform(fbx_data[fbx_idx])
else:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
blen_data[blen_idx] = xform(fbx_data[fbx_idx:fbx_idx + item_size])
else:
if item_size == 1:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
setattr(blen_data[blen_idx], blen_attr, xform(fbx_data[fbx_idx]))
else:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
setattr(blen_data[blen_idx], blen_attr, xform(fbx_data[fbx_idx:fbx_idx + item_size]))
else:
if isinstance(blen_data, list):
if item_size == 1:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
blen_data[blen_idx] = fbx_data[fbx_idx]
else:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
blen_data[blen_idx] = fbx_data[fbx_idx:fbx_idx + item_size]
else:
if item_size == 1:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
setattr(blen_data[blen_idx], blen_attr, fbx_data[fbx_idx])
else:
- def _process(blend_data, blen_attr, xform, item_size, blen_idx, fbx_idx):
+ def _process(blend_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx):
setattr(blen_data[blen_idx], blen_attr, fbx_data[fbx_idx:fbx_idx + item_size])
for blen_idx, fbx_idx in generator:
if check_skip(blen_idx, fbx_idx):
continue
- _process(blen_data, blen_attr, xform, item_size, blen_idx, fbx_idx)
+ _process(blen_data, blen_attr, fbx_data, xform, item_size, blen_idx, fbx_idx)
# generic generators.
@@ -957,7 +957,7 @@ def blen_read_geom_layer_uv(fbx_obj, mesh):
uv_tex = mesh.uv_textures.new(name=fbx_layer_name)
uv_lay = mesh.uv_layers[-1]
- blen_data = uv_lay.data[:]
+ blen_data = uv_lay.data
# some valid files omit this data
if fbx_layer_data is None:
@@ -986,7 +986,7 @@ def blen_read_geom_layer_color(fbx_obj, mesh):
fbx_layer_index = elem_prop_first(elem_find_first(fbx_layer, b'ColorIndex'))
color_lay = mesh.vertex_colors.new(name=fbx_layer_name)
- blen_data = color_lay.data[:]
+ blen_data = color_lay.data
# some valid files omit this data
if fbx_layer_data is None: