[Bf-extensions-cvs] [660f2dd] master: Fix T43935: FBX: Coordinate system axes exported incorrectly, resulting in a 180 degree rotation of meshes.

Bastien Montagne noreply at git.blender.org
Mon Mar 9 11:50:29 CET 2015


Commit: 660f2dd8bb95a1f50158b584ad54b634b65aec4a
Author: Bastien Montagne
Date:   Mon Mar 9 11:46:21 2015 +0100
Branches: master
https://developer.blender.org/rBA660f2dd8bb95a1f50158b584ad54b634b65aec4a

Fix T43935: FBX: Coordinate system axes exported incorrectly, resulting in a 180 degree rotation of meshes.

Issue found, investigated and fixed by ib_rod (Rod Boyd), thanks a bunch!

And again, a special mention to the "quality" of FBX doc (even on official API level)...

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

M	io_scene_fbx/fbx_utils.py

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

diff --git a/io_scene_fbx/fbx_utils.py b/io_scene_fbx/fbx_utils.py
index 02d2f6d..38cf7e4 100644
--- a/io_scene_fbx/fbx_utils.py
+++ b/io_scene_fbx/fbx_utils.py
@@ -99,31 +99,31 @@ FBX_LIGHT_DECAY_TYPES = {
 
 
 RIGHT_HAND_AXES = {
-    # Up, Front -> FBX values (tuples of (axis, sign), Up, Front, Coord).
-    ('X',  'Y'):  ((0, 1),  (1, 1),  (2, 1)),
-    ('X',  '-Y'): ((0, 1),  (1, -1), (2, -1)),
-    ('X',  'Z'):  ((0, 1),  (2, 1),  (1, -1)),
-    ('X',  '-Z'): ((0, 1),  (2, -1), (1, 1)),
-    ('-X', 'Y'):  ((0, -1), (1, 1),  (2, -1)),
-    ('-X', '-Y'): ((0, -1), (1, -1), (2, 1)),
-    ('-X', 'Z'):  ((0, -1), (2, 1),  (1, 1)),
-    ('-X', '-Z'): ((0, -1), (2, -1), (1, -1)),
-    ('Y',  'X'):  ((1, 1),  (0, 1),  (2, -1)),
-    ('Y',  '-X'): ((1, 1),  (0, -1), (2, 1)),
-    ('Y',  'Z'):  ((1, 1),  (2, 1),  (0, 1)),
-    ('Y',  '-Z'): ((1, 1),  (2, -1), (0, -1)),
-    ('-Y', 'X'):  ((1, -1), (0, 1),  (2, 1)),
-    ('-Y', '-X'): ((1, -1), (0, -1), (2, -1)),
-    ('-Y', 'Z'):  ((1, -1), (2, 1),  (0, -1)),
-    ('-Y', '-Z'): ((1, -1), (2, -1), (0, 1)),
-    ('Z',  'X'):  ((2, 1),  (0, 1),  (1, 1)),
-    ('Z',  '-X'): ((2, 1),  (0, -1), (1, -1)),
-    ('Z',  'Y'):  ((2, 1),  (1, 1),  (0, -1)),
-    ('Z',  '-Y'): ((2, 1),  (1, -1), (0, 1)),  # Blender system!
-    ('-Z', 'X'):  ((2, -1), (0, 1),  (1, -1)),
-    ('-Z', '-X'): ((2, -1), (0, -1), (1, 1)),
-    ('-Z', 'Y'):  ((2, -1), (1, 1),  (0, 1)),
-    ('-Z', '-Y'): ((2, -1), (1, -1), (0, -1)),
+    # Up, Forward -> FBX values (tuples of (axis, sign), Up, Front, Coord).
+    ( 'X', '-Y'): ((0,  1), (1,  1), (2,  1)),
+    ( 'X',  'Y'): ((0,  1), (1, -1), (2, -1)),
+    ( 'X', '-Z'): ((0,  1), (2,  1), (1, -1)),
+    ( 'X',  'Z'): ((0,  1), (2, -1), (1,  1)),
+    ('-X', '-Y'): ((0, -1), (1,  1), (2, -1)),
+    ('-X',  'Y'): ((0, -1), (1, -1), (2,  1)),
+    ('-X', '-Z'): ((0, -1), (2,  1), (1,  1)),
+    ('-X',  'Z'): ((0, -1), (2, -1), (1, -1)),
+    ( 'Y', '-X'): ((1,  1), (0,  1), (2, -1)),
+    ( 'Y',  'X'): ((1,  1), (0, -1), (2,  1)),
+    ( 'Y', '-Z'): ((1,  1), (2,  1), (0,  1)),
+    ( 'Y',  'Z'): ((1,  1), (2, -1), (0, -1)),
+    ('-Y', '-X'): ((1, -1), (0,  1), (2,  1)),
+    ('-Y',  'X'): ((1, -1), (0, -1), (2, -1)),
+    ('-Y', '-Z'): ((1, -1), (2,  1), (0, -1)),
+    ('-Y',  'Z'): ((1, -1), (2, -1), (0,  1)),
+    ( 'Z', '-X'): ((2,  1), (0,  1), (1,  1)),
+    ( 'Z',  'X'): ((2,  1), (0, -1), (1, -1)),
+    ( 'Z', '-Y'): ((2,  1), (1,  1), (0, -1)),
+    ( 'Z',  'Y'): ((2,  1), (1, -1), (0,  1)),  # Blender system!
+    ('-Z', '-X'): ((2, -1), (0,  1), (1, -1)),
+    ('-Z',  'X'): ((2, -1), (0, -1), (1,  1)),
+    ('-Z', '-Y'): ((2, -1), (1,  1), (0,  1)),
+    ('-Z',  'Y'): ((2, -1), (1, -1), (0, -1)),
 }



More information about the Bf-extensions-cvs mailing list