jackcaron 10 лет назад
Родитель
Сommit
9076ab9e7b
1 измененных файлов с 8 добавлено и 2 удалено
  1. 8 2
      Exporters/Blender/io_export_babylon.py

+ 8 - 2
Exporters/Blender/io_export_babylon.py

@@ -972,7 +972,10 @@ class Node(FCurveAnimatable):
             self.parentId = node.parent.name
             self.parentId = node.parent.name
 
 
         self.position = loc
         self.position = loc
-        self.rotation = scale_vector(rot.to_euler('XYZ'), -1)
+        if node.rotation_mode == 'QUATERNION':
+            self.rotationQuaternion = rot
+        else:
+            self.rotation = scale_vector(rot.to_euler('XYZ'), -1)
         self.scaling = scale
         self.scaling = scale
         self.isVisible = False
         self.isVisible = False
         self.isEnabled = True
         self.isEnabled = True
@@ -991,7 +994,10 @@ class Node(FCurveAnimatable):
         if hasattr(self, 'parentId'): write_string(file_handler, 'parentId', self.parentId)
         if hasattr(self, 'parentId'): write_string(file_handler, 'parentId', self.parentId)
 
 
         write_vector(file_handler, 'position', self.position)
         write_vector(file_handler, 'position', self.position)
-        write_vector(file_handler, 'rotation', self.rotation)
+        if hasattr(self, "rotationQuaternion"):
+            write_quaternion(file_handler, "rotationQuaternion", self.rotationQuaternion)
+        else:
+            write_vector(file_handler, 'rotation', self.rotation)
         write_vector(file_handler, 'scaling', self.scaling)
         write_vector(file_handler, 'scaling', self.scaling)
         write_bool(file_handler, 'isVisible', self.isVisible)
         write_bool(file_handler, 'isVisible', self.isVisible)
         write_bool(file_handler, 'isEnabled', self.isEnabled)
         write_bool(file_handler, 'isEnabled', self.isEnabled)