FBX exporter causes crashes in other software when smoothing groups are active. #41922

Closed
opened 2014-09-23 15:13:10 +02:00 by Graeme Vaughey · 8 comments

System Information
Windows 7, AMD 7870 graphics card, AMD FX6300 processor, 16gb RAM, 500GB hard-disk.

Blender Version
Broken: 2.71.6 (2.72 test version)

Short description of error
I am trying to export Skeletal meshes with blend-shapes out of Blender and into Unreal Engine 4.4.1. I noticed that the FBX file produced in the latest test version of Blender was causing UE4 to crash under certain circumstance, and therefore produced as simple a file as possible (a sphere with a skeleton and a couple of squash-stretch variations for blend-shapes). One area that I have immediately noted is that the smoothing (now defaulted as 'None' in the export options - which suggests that the developers may well be aware of the issue), when set to 'Edge' or 'Face' will create a file which neither Unreal, nor Autodesk's FBX converter want to touch (the latter coming up with the 'Not enough parameters' error).

Exact steps for others to reproduce the error
SuperSimple272.blend

  1. Create a sphere and scale it to size 50 (Unreal needs things big)
  2. Create two duplicates and place them either side of the original. Scale them so that the first is tall and thin, while the other short and wide.
  3. Bind the duplicates to the original as shape Keys.
  4. Go into edit mode on the original sphere and select the centre ring of edges around the sphere. Apply both Edge sharpening and edge seems to this selection. Select all edges/face and do a quick UV unwrap.
  5. Check the edge sharpening with an Edge Split modifier, and the UVs with the UV panel. If all good, delete the former and close the latter.
  6. Create a new armature bone at the origin of the scene and, in edit mode, move the end of the bone up near the tip of the sphere. Extrude out a second bone straight upward to just outside of the sphere. (UE4, when it has problems with weights, defaults to the root bone, so I added a second to check whether the weighting was coming out correctly).
  7. bind the mesh to the skeleton with zero weighting.
  8. Go into the weight painter and paint a coat of pure red (100% weighting) to the second bone in the hierarchy
  9. Do a quick animation on the armature; swinging the topmost bone back and forth and dropping a few keys on the timeline.
  10. Key some blend-shape animations (say, short and fat for 20 frames, tall and thin for 20, then back to normal).
  11. Select both the armature and the Sphere mesh in the scene (but not the other meshes, lights or cameras, if you haven't already deleted them)
  12. Go to Export > FBX and set the option for 'Selected Objects' only, and change the axis to 'Y Forward' and 'Z up' (this is what Unreal likes).
  13. Repeat step 12, creating a second file (with '_smoothing' appended on the end of the name) and with the option for 'Smoothing' set to 'Face'.
    14.Try opening these files in Unreal and/or FBX converter 2013. The first will open fine, animate and deform fine, but give a warning about lacking smoothing groups when imported into Unreal (and therefore look a bit mushy in the editor). The second will crash Unreal and fail to be converted into a FBX 2013 ASCII file in the converter (so I can't even read it to work out what is going wrong).

Thank you so much to the Developers for their continued efforts to improve the FBX format: it really is massively, massively appreciated for game developers with Zero budget. I dislike pointing out the failings in your work, but only hope that highlighting these niggles while the software is in it's infancy, will boost its expected excellence when it launches proper. I look forward to the day when god-awful cut down software for dummies, like Maya LT, will no longer be the only option for the Indie game developer of distinction.

I hope that you can fix this, and make the FBX Exporter truly awesome.

Thanks alot.

**System Information** Windows 7, AMD 7870 graphics card, AMD FX6300 processor, 16gb RAM, 500GB hard-disk. **Blender Version** Broken: 2.71.6 (2.72 test version) **Short description of error** I am trying to export Skeletal meshes with blend-shapes out of Blender and into Unreal Engine 4.4.1. I noticed that the FBX file produced in the latest test version of Blender was causing UE4 to crash under certain circumstance, and therefore produced as simple a file as possible (a sphere with a skeleton and a couple of squash-stretch variations for blend-shapes). One area that I have immediately noted is that the smoothing (now defaulted as 'None' in the export options - which suggests that the developers may well be aware of the issue), when set to 'Edge' or 'Face' will create a file which neither Unreal, nor Autodesk's FBX converter want to touch (the latter coming up with the 'Not enough parameters' error). **Exact steps for others to reproduce the error** [SuperSimple272.blend](https://archive.blender.org/developer/F111848/SuperSimple272.blend) 1. Create a sphere and scale it to size 50 (Unreal needs things big) 2. Create two duplicates and place them either side of the original. Scale them so that the first is tall and thin, while the other short and wide. 3. Bind the duplicates to the original as shape Keys. 4. Go into edit mode on the original sphere and select the centre ring of edges around the sphere. Apply both Edge sharpening and edge seems to this selection. Select all edges/face and do a quick UV unwrap. 5. Check the edge sharpening with an Edge Split modifier, and the UVs with the UV panel. If all good, delete the former and close the latter. 6. Create a new armature bone at the origin of the scene and, in edit mode, move the end of the bone up near the tip of the sphere. Extrude out a second bone straight upward to just outside of the sphere. (UE4, when it has problems with weights, defaults to the root bone, so I added a second to check whether the weighting was coming out correctly). 7. bind the mesh to the skeleton with zero weighting. 8. Go into the weight painter and paint a coat of pure red (100% weighting) to the second bone in the hierarchy 9. Do a quick animation on the armature; swinging the topmost bone back and forth and dropping a few keys on the timeline. 10. Key some blend-shape animations (say, short and fat for 20 frames, tall and thin for 20, then back to normal). 11. Select both the armature and the Sphere mesh in the scene (but not the other meshes, lights or cameras, if you haven't already deleted them) 12. Go to Export > FBX and set the option for 'Selected Objects' only, and change the axis to 'Y Forward' and 'Z up' (this is what Unreal likes). 13. Repeat step 12, creating a second file (with '_smoothing' appended on the end of the name) and with the option for 'Smoothing' set to 'Face'. 14.Try opening these files in Unreal and/or FBX converter 2013. The first will open fine, animate and deform fine, but give a warning about lacking smoothing groups when imported into Unreal (and therefore look a bit mushy in the editor). The second will crash Unreal and fail to be converted into a FBX 2013 ASCII file in the converter (so I can't even read it to work out what is going wrong). Thank you so much to the Developers for their continued efforts to improve the FBX format: it really is massively, massively appreciated for game developers with Zero budget. I dislike pointing out the failings in your work, but only hope that highlighting these niggles while the software is in it's infancy, will boost its expected excellence when it launches proper. I look forward to the day when god-awful cut down software for dummies, like Maya LT, will no longer be the only option for the Indie game developer of distinction. I hope that you can fix this, and make the FBX Exporter truly awesome. Thanks alot.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @burningGiraffe

Added subscriber: @burningGiraffe
Author

Sorry, just downloaded my own sample, and I seem to have lost the armature animation. Try this one instead:
SuperSimple272_2.blend

Sorry, just downloaded my own sample, and I seem to have lost the armature animation. Try this one instead: [SuperSimple272_2.blend](https://archive.blender.org/developer/F111851/SuperSimple272_2.blend)
Bastien Montagne self-assigned this 2014-09-23 15:33:59 +02:00

Will check that. Not though that if smooth face/edge were set to None by default, it's because they tend to conflict with exported split normals, which are more precise and universal.

Will check that. Not though that if smooth face/edge were set to None by default, it's because they tend to conflict with exported split normals, which are more precise and universal.

This issue was referenced by 3d5cd1956e

This issue was referenced by 3d5cd1956ef4cc323037d103ca74d10a97ebef78

Fixed the crash cause in master.

Please note though:

  • Applying modifiers during export will result in loosing all shape keys in exported data (this is not considered a bug at this stage, but a known limitation).
  • You should not need edgesplit modifier at all nowadays, split normals does the same without generating new geometry. :)
Fixed the crash cause in master. Please note though: * Applying modifiers during export will result in loosing all shape keys in exported data (this is not considered a bug at this stage, but a known limitation). * You should not need edgesplit modifier at all nowadays, split normals does the same without generating new geometry. :)

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit 3d5cd1956e.

Closed by commit 3d5cd1956e.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 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#41922
No description provided.