Z backwards in FBX for skinned meshes, scaling oddness blender 2.72 #42090

Closed
opened 2014-10-05 18:03:20 +02:00 by Psychotropic Dog · 6 comments

System Information
Windows 7 64bit
nVidia GT 440 geforce 340.52

Blender Version
Broken: 2.72
Worked: ?

Short description of error
Z becomes -Z, -Z becomes Z (apparently). Notes on scaling fun.

Exact steps for others to reproduce the error
FBX 7.4 binary export, FBX 6.1 ASCII export
Choose a mesh with an animation, and export selected.
I used the meta-rig from rigify and stripped off the unwanted bones, and mostly automatic skinning.

Import it into something.

I tested with Unity 4.6 beta, Maya 2015
Some half arsed tests with other programs.

if -Z foreward, Y up on export, it ends up Z foreward Y up

Long version, with mini rants.

Unity 4.6 beta seems to have a robust importer, so it will 'work'. For some reason default import scale is 0.01, forcing import option (every time an object is imported) to change scale to 1, but that's Unity's quirk (I haven't discovered a setting to change this - and a search reveals it is something they don't appear to give a crap about, because the screwed up way of doing things makes sense to somebody).
In order to get the 'model' to look foreward in Unity's Inspector, use FBX 6.1 ASCII. The mesh component will appear face down, but the model and rig will appear correctly.
Trying FBX 7.4 binary, -Z, Z, 'apply transformations' (or not) the model always faces backwards.
The animations play.

Importing into Maya 2015 FBX 2015.1 (228957)
FBX 7.4 binary - the model always faces the opposite of what is expected in Z.

  • There is usually some sort of scale (locked) such as scale 100. (But automatic units works with the ascii). It can be mysterious how to get 1 unit to = 1 unit. Automatic means a blender object comes in with scale 100 and of course it is giant. Exporting with 'scale 100' just makes it ten times as huge and invisible without fiddling with camera clipping settings. Exporting 'scale 0.01' seems to work, and begs the question, wtf is the matter with you autodesk.
    The parent node comes in as a transform, and has keyframes, such as rotate x -90, and usually the scale values as well, unless you had the foresight to export with a scale of 0.01. (comes in as a bone from the ascii, and the scale comes in as expected [i.e. "1"] just by leaving the export scale at 1).
    The animations play.
    Side note: This importer does not like "." in bone names, and substitutes some semi-gibberish (maya's problem I'm sure) that can be name replaced but is annoying. And yet Imports the ascii and changes the "." to an underscore.

Fiddled with an old UDK (FBX importer SDK 7.3.0, file 7.4.0), and of course the scale was tiny, so needs scale 100 on export (UDK units are, er, 2cm or 0.5cm or some such), always seems backwards, animation almost works - the character immediately faces the other way -origin hips at 0,0,0, (UDK setting to fix? since there is no 'root' bone at 0,0,0 and one foot bone got wrong rotations like many old FBX importers will do. FBX 6.1 ASCII mushes up the mesh on animation.
(rot origin yaw -90)

3DS max - tried one, it came in backwards, no animation. Closed program before head exploded.

Older autodesk FBX binary importers seem to lose something and end up with wrong rotations on a bone (or more?).TestPilot_TestRigTestAnim.blend

**System Information** Windows 7 64bit nVidia GT 440 geforce 340.52 **Blender Version** Broken: 2.72 Worked: ? **Short description of error** Z becomes -Z, -Z becomes Z (apparently). Notes on scaling fun. **Exact steps for others to reproduce the error** FBX 7.4 binary export, FBX 6.1 ASCII export Choose a mesh with an animation, and export selected. I used the meta-rig from rigify and stripped off the unwanted bones, and mostly automatic skinning. Import it into something. I tested with Unity 4.6 beta, Maya 2015 Some half arsed tests with other programs. if -Z foreward, Y up on export, it ends up Z foreward Y up Long version, with mini rants. Unity 4.6 beta seems to have a robust importer, so it will 'work'. For some reason default import scale is 0.01, forcing import option (every time an object is imported) to change scale to 1, but that's Unity's quirk (I haven't discovered a setting to change this - and a search reveals it is something they don't appear to give a crap about, because the screwed up way of doing things makes sense to somebody). In order to get the 'model' to look foreward in Unity's Inspector, use FBX 6.1 ASCII. The mesh component will appear face down, but the model and rig will appear correctly. Trying FBX 7.4 binary, -Z, Z, 'apply transformations' (or not) the model always faces backwards. The animations play. Importing into Maya 2015 FBX 2015.1 (228957) FBX 7.4 binary - the model always faces the opposite of what is expected in Z. - There is usually some sort of scale (locked) such as scale 100. (But automatic units works with the ascii). It can be mysterious how to get 1 unit to = 1 unit. Automatic means a blender object comes in with scale 100 and of course it is giant. Exporting with 'scale 100' just makes it ten times as huge and invisible without fiddling with camera clipping settings. Exporting 'scale 0.01' seems to work, and begs the question, wtf is the matter with you autodesk. The parent node comes in as a transform, and has keyframes, such as rotate x -90, and usually the scale values as well, unless you had the foresight to export with a scale of 0.01. (comes in as a bone from the ascii, and the scale comes in as expected [i.e. "1"] just by leaving the export scale at 1). The animations play. Side note: This importer does not like "." in bone names, and substitutes some semi-gibberish (maya's problem I'm sure) that can be name replaced but is annoying. And yet Imports the ascii and changes the "." to an underscore. Fiddled with an old UDK (FBX importer SDK 7.3.0, file 7.4.0), and of course the scale was tiny, so needs scale 100 on export (UDK units are, er, 2cm or 0.5cm or some such), always seems backwards, animation almost works - the character immediately faces the other way -origin hips at 0,0,0, (UDK setting to fix? since there is no 'root' bone at 0,0,0 and one foot bone got wrong rotations like many old FBX importers will do. FBX 6.1 ASCII mushes up the mesh on animation. (rot origin yaw -90) 3DS max - tried one, it came in backwards, no animation. Closed program before head exploded. Older autodesk FBX binary importers seem to lose something and end up with wrong rotations on a bone (or more?).[TestPilot_TestRigTestAnim.blend](https://archive.blender.org/developer/F115123/TestPilot_TestRigTestAnim.blend)

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @psychotropicdog

Added subscriber: @psychotropicdog
Bastien Montagne self-assigned this 2014-10-06 09:40:59 +02:00

This report is way too confused. Rule one: do not mix issues in a single report. Here you talk about 6.1ascii (which is deprecated and no more maintained, and doomed to removal sooner or later) and 7.4 binary, you mix orientation, scale and animation issues it seems, using several different apps… I just cannot follow all this.

Focusing on orientation: Orientation is correct afaict, exported a mere Suzanne in (-Z, Y up), and got it facing -Z axis in Unity…, just like it is facing -Y in (-Y, Z up) in Blender's orientation.

This report is way too confused. Rule one: do not mix issues in a single report. Here you talk about 6.1ascii (which is deprecated and no more maintained, and doomed to removal sooner or later) and 7.4 binary, you mix orientation, scale and animation issues it seems, using several different apps… I just cannot follow all this. Focusing on orientation: Orientation is correct afaict, exported a mere Suzanne in (-Z, Y up), and got it facing -Z axis in Unity…, just like it is facing -Y in (-Y, Z up) in Blender's orientation.

ORIENTATION:
Try exporting an armature and it's mesh. Just exporting a static mesh (no armature) is going to give the same useless answer every Johnny on the spot on the forums is only to happy to post.

If it looks backwards in every app I try to import it into, than perhaps, regarding the orientation, this time the problem is in the blender exporter.

I APOLOGIZE if it seemed scatter brained, but without knowing exactly what was relevant information I attempted to include as much as I could in an effort to help trace where the problem (Z backwards armatures) actually resides. I would guess it is even more irritating to fix FBX issues than it is to use FBX.

ORIENTATION: Try exporting an armature and it's mesh. Just exporting a static mesh (no armature) is going to give the same useless answer every Johnny on the spot on the forums is only to happy to post. If it looks backwards in every app I try to import it into, than perhaps, regarding the orientation, this time the problem is in the blender exporter. I APOLOGIZE if it seemed scatter brained, but without knowing exactly what was relevant information I attempted to include as much as I could in an effort to help trace where the problem (Z backwards armatures) actually resides. I would guess it is even more irritating to fix FBX issues than it is to use FBX.

I would guess it is even more irritating to fix FBX issues than it is to use FBX.

Yeah…

So, issue would be with mesh+armature. will check.

> I would guess it is even more irritating to fix FBX issues than it is to use FBX. Yeah… So, issue would be with mesh+armature. will check.

Closed as duplicate of #42110

Closed as duplicate of #42110
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#42090
No description provided.