Commit: b3f96da2e6052b75a8b1b06048dfb79e5bdfd76a
Author: Gaia Clary
Date:   Thu May 23 22:27:45 2019 +0200
Branches: master
https://developer.blender.org/rBb3f96da2e6052b75a8b1b06048dfb79e5bdfd76a

fix unreported Collada exporter Regression: Added back minimal support for Maya 
bindpose

===================================================================

M       source/blender/collada/ArmatureExporter.cpp
M       source/blender/collada/ControllerExporter.cpp
M       source/blender/collada/TransformWriter.cpp
M       source/blender/collada/TransformWriter.h

===================================================================

diff --git a/source/blender/collada/ArmatureExporter.cpp 
b/source/blender/collada/ArmatureExporter.cpp
index 6dfe6915892..1288a5c7768 100644
--- a/source/blender/collada/ArmatureExporter.cpp
+++ b/source/blender/collada/ArmatureExporter.cpp
@@ -318,7 +318,7 @@ void ArmatureExporter::add_bone_transform(Object *ob_arm, 
Bone *bone, COLLADASW:
     bc_sanitize_mat(mat, LIMITTED_PRECISION);
   }
 
-  TransformWriter::add_node_transform(node, mat, NULL, this->export_settings);
+  TransformWriter::add_node_transform(node, mat, NULL, this->export_settings, 
has_restmat);
 }
 
 std::string ArmatureExporter::get_controller_id(Object *ob_arm, Object *ob)
diff --git a/source/blender/collada/ControllerExporter.cpp 
b/source/blender/collada/ControllerExporter.cpp
index adea9fd672a..cb15a3a7a7c 100644
--- a/source/blender/collada/ControllerExporter.cpp
+++ b/source/blender/collada/ControllerExporter.cpp
@@ -553,8 +553,10 @@ std::string 
ControllerExporter::add_inv_bind_mats_source(Object *ob_arm,
       /* make world-space matrix (bind_mat is armature-space) */
       mul_m4_m4m4(world, ob_arm->obmat, bind_mat);
 
-      if (export_settings.get_apply_global_orientation()) {
-        bc_apply_global_transform(world, 
export_settings.get_global_transform());
+      if (!has_bindmat) {
+        if (export_settings.get_apply_global_orientation()) {
+          bc_apply_global_transform(world, 
export_settings.get_global_transform());
+        }
       }
 
       invert_m4_m4(mat, world);
diff --git a/source/blender/collada/TransformWriter.cpp 
b/source/blender/collada/TransformWriter.cpp
index 0cbb8c65cf1..1fe0c1d4494 100644
--- a/source/blender/collada/TransformWriter.cpp
+++ b/source/blender/collada/TransformWriter.cpp
@@ -28,7 +28,9 @@
 void TransformWriter::add_node_transform(COLLADASW::Node &node,
                                          float mat[4][4],
                                          float parent_mat[4][4],
-                                         BCExportSettings &export_settings
+                                         BCExportSettings &export_settings,
+                                         bool has_restmat
+
        )
 {
   // bool limit_precision = export_settings.limit_precision;
@@ -44,7 +46,7 @@ void TransformWriter::add_node_transform(COLLADASW::Node 
&node,
     copy_m4_m4(local, mat);
   }
 
-  if (export_settings.get_apply_global_orientation()) {
+  if (!has_restmat && export_settings.get_apply_global_orientation()) {
     bc_apply_global_transform(local, export_settings.get_global_transform());
   }
 
diff --git a/source/blender/collada/TransformWriter.h 
b/source/blender/collada/TransformWriter.h
index 63f563ad58e..1382b9a901f 100644
--- a/source/blender/collada/TransformWriter.h
+++ b/source/blender/collada/TransformWriter.h
@@ -34,7 +34,8 @@ class TransformWriter {
   void add_node_transform(COLLADASW::Node &node,
                           float mat[4][4],
                           float parent_mat[4][4],
-                          BCExportSettings &export_settings);
+                          BCExportSettings &export_settings,
+                          bool has_restmat);
 
   void add_node_transform_ob(COLLADASW::Node &node, Object *ob, 
BCExportSettings &export_settings);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to