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>2019-10-08 17:20:23 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2019-10-08 17:20:23 +0300
commitcb4e5b248c8a1c438b1228380bbf41b9ddf6fd90 (patch)
tree718421e1e1e9d4a84d7470a554c5233e04286b5d /io_scene_fbx
parenta17cabe4c9976547b20078149a99c9bb58152d1d (diff)
FBX IO: Fix pose bone custom props not being exported.
We want to export editbone props in the 'edit data' NodeAttribute FBX nodes, and the posebone props in the 'object data' Model FBX nodes... Reported in T69554.
Diffstat (limited to 'io_scene_fbx')
-rw-r--r--io_scene_fbx/__init__.py2
-rw-r--r--io_scene_fbx/export_fbx_bin.py4
-rw-r--r--io_scene_fbx/fbx_utils.py6
3 files changed, 10 insertions, 2 deletions
diff --git a/io_scene_fbx/__init__.py b/io_scene_fbx/__init__.py
index 382553ba..9257056c 100644
--- a/io_scene_fbx/__init__.py
+++ b/io_scene_fbx/__init__.py
@@ -21,7 +21,7 @@
bl_info = {
"name": "FBX format",
"author": "Campbell Barton, Bastien Montagne, Jens Restemeier",
- "version": (4, 18, 1),
+ "version": (4, 19, 0),
"blender": (2, 81, 6),
"location": "File > Import-Export",
"description": "FBX IO meshes, UV's, vertex colors, materials, textures, cameras, lamps and actions",
diff --git a/io_scene_fbx/export_fbx_bin.py b/io_scene_fbx/export_fbx_bin.py
index b852adaa..d1ba96bb 100644
--- a/io_scene_fbx/export_fbx_bin.py
+++ b/io_scene_fbx/export_fbx_bin.py
@@ -1686,7 +1686,9 @@ def fbx_data_object_elements(root, ob_obj, scene_data):
# Custom properties.
if scene_data.settings.use_custom_props:
- fbx_data_element_custom_properties(props, ob_obj.bdata)
+ # Here we want customprops from the 'pose' bone, not the 'edit' bone...
+ bdata = ob_obj.bdata_pose_bone if ob_obj.is_bone else ob_obj.bdata
+ fbx_data_element_custom_properties(props, bdata)
# Those settings would obviously need to be edited in a complete version of the exporter, may depends on
# object type, etc.
diff --git a/io_scene_fbx/fbx_utils.py b/io_scene_fbx/fbx_utils.py
index a496075d..f71e89a8 100644
--- a/io_scene_fbx/fbx_utils.py
+++ b/io_scene_fbx/fbx_utils.py
@@ -1007,6 +1007,12 @@ class ObjectWrapper(metaclass=MetaObjectWrapper):
return ObjectWrapper(self.bdata.parent, self._ref) or ObjectWrapper(self._ref)
parent = property(get_parent)
+ def get_bdata_pose_bone(self):
+ if self._tag == 'BO':
+ return self._ref.pose.bones[self.bdata.name]
+ return None
+ bdata_pose_bone = property(get_bdata_pose_bone)
+
def get_matrix_local(self):
if self._tag == 'OB':
return self.bdata.matrix_local.copy()