Quellcode durchsuchen

nodes support for quaternions

jackcaron vor 10 Jahren
Ursprung
Commit
9076ab9e7b
1 geänderte Dateien mit 8 neuen und 2 gelöschten Zeilen
  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.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.isVisible = False
         self.isEnabled = True
@@ -991,7 +994,10 @@ class Node(FCurveAnimatable):
         if hasattr(self, 'parentId'): write_string(file_handler, 'parentId', self.parentId)
 
         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_bool(file_handler, 'isVisible', self.isVisible)
         write_bool(file_handler, 'isEnabled', self.isEnabled)