[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28893] trunk/blender/release/scripts/io/ import_anim_bvh.py: enable different rotation types for imported BVH' s including 'Native', which uses the rotation order defined in the BVH

Campbell Barton ideasman42 at gmail.com
Thu May 20 19:37:00 CEST 2010


Revision: 28893
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28893
Author:   campbellbarton
Date:     2010-05-20 19:36:59 +0200 (Thu, 20 May 2010)

Log Message:
-----------
enable different rotation types for imported BVH's including 'Native', which uses the rotation order defined in the BVH

Modified Paths:
--------------
    trunk/blender/release/scripts/io/import_anim_bvh.py

Modified: trunk/blender/release/scripts/io/import_anim_bvh.py
===================================================================
--- trunk/blender/release/scripts/io/import_anim_bvh.py	2010-05-20 17:23:37 UTC (rev 28892)
+++ trunk/blender/release/scripts/io/import_anim_bvh.py	2010-05-20 17:36:59 UTC (rev 28893)
@@ -458,9 +458,9 @@
             pose_bone = pose_bones[bone_name]
             pose_bone.rotation_mode = eul_order_lookup[tuple(bvh_node.rot_order)]
 
-    elif ROT_MODE == 'XYZ':
+    elif ROT_MODE != 'QUATERNION':
         for pose_bone in pose_bones:
-            pose_bone.rotation_mode = 'XYZ'
+            pose_bone.rotation_mode = ROT_MODE
     else:
         # Quats default
         pass
@@ -524,7 +524,7 @@
                 if ROT_MODE == 'QUATERNION':
                     pose_bone.rotation_quaternion = bone_rotation_matrix.to_quat()
                 else:
-                    euler = bone_rotation_matrix.to_euler('XYZ', prev_euler[i]) # pose_bone.rotation_mode # TODO, XYZ default for now
+                    euler = bone_rotation_matrix.to_euler(pose_bone.rotation_mode, prev_euler[i])
                     pose_bone.rotation_euler = euler
                     prev_euler[i] = euler
 
@@ -567,17 +567,17 @@
     loop = BoolProperty(name="Loop", description="Loop the animation playback", default=False)
     rotate_mode = EnumProperty(items=(
             ('QUATERNION', "Quaternion", "Convert rotations to quaternions"),
-            # ('NATIVE', "Euler (Native)", "Use the rotation order defined in the BVH file"),
+            ('NATIVE', "Euler (Native)", "Use the rotation order defined in the BVH file"),
             ('XYZ', "Euler (XYZ)", "Convert rotations to euler XYZ"),
-            # ('XZY', "Euler (XZY)", "Convert rotations to euler XZY"),
-            # ('YXZ', "Euler (YXZ)", "Convert rotations to euler YXZ"),
-            # ('YZX', "Euler (YZX)", "Convert rotations to euler YZX"),
-            # ('ZXY', "Euler (ZXY)", "Convert rotations to euler ZXY"),
-            # ('ZYX', "Euler (ZYX)", "Convert rotations to euler ZYX")),
+            ('XZY', "Euler (XZY)", "Convert rotations to euler XZY"),
+            ('YXZ', "Euler (YXZ)", "Convert rotations to euler YXZ"),
+            ('YZX', "Euler (YZX)", "Convert rotations to euler YZX"),
+            ('ZXY', "Euler (ZXY)", "Convert rotations to euler ZXY"),
+            ('ZYX', "Euler (ZYX)", "Convert rotations to euler ZYX"),
             ),
                 name="Rotation",
                 description="Rotation conversion.",
-                default='QUATERNION')
+                default='NATIVE')
 
     def execute(self, context):
         # print("Selected: " + context.active_object.name)





More information about the Bf-blender-cvs mailing list