Fix T41808: FBX exporter does not properly position and rotate group instances

Forward/Up axes to FBX system was still wrong. Not happy with finding such issue
at this stage of development. :/ Hopefully now we are OK (at least, checked
all orientations with same basice file in Unity, all were imported OK).
This commit is contained in:
Bastien Montagne 2014-09-13 18:40:32 +02:00
parent 307d64fa68
commit aeb4cb010e
Notes: blender-bot 2023-02-14 20:03:11 +01:00
Referenced by issue #41808, FBX exporter does not properly position and rotate group instances
2 changed files with 48 additions and 50 deletions

View File

@ -100,31 +100,30 @@ FBX_LIGHT_DECAY_TYPES = {
RIGHT_HAND_AXES = {
# Up, Front -> FBX values (tuples of (axis, sign), Up, Front, Coord).
# Note: Since we always stay in right-handed system, third coord sign is always positive!
('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)), # Blender system!
('Z', '-Y'): ((2, 1), (1, 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)),
('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)),
}

View File

@ -100,31 +100,30 @@ FBX_LIGHT_DECAY_TYPES = {
RIGHT_HAND_AXES = {
# Up, Front -> FBX values (tuples of (axis, sign), Up, Front, Coord).
# Note: Since we always stay in right-handed system, third coord sign is always positive!
('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)), # Blender system!
('Z', '-Y'): ((2, 1), (1, 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)),
('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)),
}