[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42526] trunk/blender/release/scripts/ startup/bl_operators/object_randomize_transform.py: [#29509] Randomize rotations fails with Axis/Angle

Daniel Salazar zanqdo at gmail.com
Fri Dec 9 07:21:40 CET 2011


Revision: 42526
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42526
Author:   zanqdo
Date:     2011-12-09 06:21:26 +0000 (Fri, 09 Dec 2011)
Log Message:
-----------
[#29509] Randomize rotations fails with Axis/Angle

Fix based on Brecht's idea: use Blender's conversion from quat or axis angle to euler and back. Euler rotations are left alone so their rotation order is respected

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_operators/object_randomize_transform.py

Modified: trunk/blender/release/scripts/startup/bl_operators/object_randomize_transform.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/object_randomize_transform.py	2011-12-09 06:05:58 UTC (rev 42525)
+++ trunk/blender/release/scripts/startup/bl_operators/object_randomize_transform.py	2011-12-09 06:21:26 UTC (rev 42526)
@@ -42,8 +42,13 @@
         else:  # otherwise the values change under us
             uniform(0.0, 0.0), uniform(0.0, 0.0), uniform(0.0, 0.0)
 
-        if rot:  # TODO, non euler's
+        if rot:
             vec = rand_vec(rot)
+            
+            rotation_mode = obj.rotation_mode
+            if rotation_mode in ('QUATERNION', 'AXIS_ANGLE'):
+                obj.rotation_mode = 'XYZ'
+                
             if delta:
                 obj.delta_rotation_euler[0] += vec[0]
                 obj.delta_rotation_euler[1] += vec[1]
@@ -52,6 +57,7 @@
                 obj.rotation_euler[0] += vec[0]
                 obj.rotation_euler[1] += vec[1]
                 obj.rotation_euler[2] += vec[2]
+            obj.rotation_mode = rotation_mode
         else:
             uniform(0.0, 0.0), uniform(0.0, 0.0), uniform(0.0, 0.0)
 




More information about the Bf-blender-cvs mailing list