Download

Blender 2.73 + Unreal 4.6 Static Mesh problems

Hi People,

i searched the Forum pages and found nothing that helped me 100%. My English Skills are not the Best, but maybe Someone who can speak german or turkish can help me?

When i import Fbx Files, that i exportet from Blender into Unreal Engine a Big Cube are small like a sugar cube and when i export back to blender same problem occours there, too.

I watched on youtube many tutorials but was not lucky @ myself. I even testet many Heights etc…

Can anyone help me please, iam frustated like hell…:frowning:

Iam Using the Standard Fbx Addon from Blender that came with 2.73. Any Solutions?! btw…what is the standard height of walls chars in Unreal?!

Thank You.

Hi Baltah, the default scale in Blender is a 100 times smaller than Unreal which is why your Blender cube becomes tiny after you import it into Unreal.

This wiki page helped me setup the scale up correctly back when I had the same issue as you.

After you change the scale setup remember to either create a cube(/model) from scratch OR to scale the default Blender cube by 100 (pre-existing objects like the default cube do not automatically scale up after you update the scale to conform to UE4)

ok that was my problem…i used the existing ones…doh… -.- when i use the the 6.1 ascii exporter everything is correct scaled…but the 7.4 Binary all objects are way to big with that setting. anyway i got now a good starting point!

BIG BIG THANKS,BRO!

NP :slight_smile: Scaling works fine with both 6.1 ascii and 7.4 binary in my experience. There are some other issues with FBX 7.4 (armature/bone related) but static meshes should work just fine.

no its not, by default 1 unit in blender is the same size as 1 unit in unreal so the default scale in blender is the same as UE4, its only when you change blenders unit to metric its 100 times smaller because blender is using 1 unit as 1M witch is why you have to either set unit scale in blender to 0.01 and export with scale set to 1, scale up by 100 then export with scale set to 1 or export with scale set to 100.

that wiki page is badly written.

Same problem. Even if I try to use the default Blender Scale the object is too small.

dacanizares, check out GeoDav’s Blender setup tutorial: https://www.youtube.com/watch?v=JR7CAHxGBcY

True in a sense, but requires some clarification. First if you only change it to Metric you are not changing the default unit. A unit will still be what it is. And internally it is 1M in Blender both ways. So it is not the same as a unit in UE4. Because when you change it to 1 Meter the 1 is now 1 Meter. But if you leave it to 1 Unit and export you still have the same thing as if you set it to 1 Meter. And a meter or unit will come across as 1CM in Maya or UE.

If you set the scale in Blender to .01 and then export with the export scale set to 1 then you are in effect scaling up the Blender unit by 100. It is just a tricky way around the same thing. Which makes it arbitrary. And again confirms the 100 x disparity between Blender and UE4 if you are counting a default unit as 1 Meter without changing the scale as well.

It is easy to test what a unit is in UE 4 and it is clearly 1CM the same as Maya. As a 1CM cube in Maya is in fact 1 Unit in UE.

This fact is confirmed by a EG staff:

“The reason for the grid change is everything in UE4 is based off of Centimeters instead of Unreal Units. The metric system is divisible by 10, so it works in conjunction with our Base-10 math system very well.”

https://answers.unrealengine.com/questions/6776/changing-default-grid-size.html

But all semantic and mathematical arguments aside it is like this:

Assuming there is an arbitrary Unit for all programs and we will call Maya and UE the center of the universe is 1.

Maya UE, (And Max by default I believe) = 1
Blender .01
Lightwave .01
Softimage .1

Those are the only ones I know.

The rest are similar I am sure.

So in short when sending stuff from Blender, one way or another scale it up by 100.

Softimage by 10

When working in Maya make sure you are using real world units. It can trick you as the default grid is real small. HIK rigs and characters from MotionBuilder are all in the proper scale for Maya and UE.

The wiki states that the view clipping plane should be set to 1 mm - 1 Km.
However with a Blender unit scale of 0.01 and a maximum view limit of 1 Km, a 1 mm minimum distance is overkill and might be causing problems. Setting that to 10 cm will be better and won’t cause problems.

What matters is the relative difference between those two sizes, and when it gets very large, display problems can occur in Blender due to OpenGL limitations.

I can’t confirm that with Blender 2.73 - it was driving me nuts for hours. Used the standard 7.4 binary setting, but after applying the scaling, my static mesh (a dead simple cube) got scaled by factor 20. (that is - from 20m in blender to 400m in Unreal Engine 4.7). After swichting to ASCII (really, just changed the Version, nothing else), everything worked like a charm. I guess it would be good to state that somewhere in the wiki, if this can be confirmed by a third party. Maybe I’m just dumb, which is possible as I’m a newbie - but I don’t think so.

Hello Everyone.
I’m posting this message to thank HerrGilbert and confirm those said by HerrGilbert.
I have been struggling with this for a few days now, reading all sorts of documentation, wikis, forums and watching dozens of tutorials.
Software:

  • Blender 2.73 with FBX Import/Export plugin
  • Unreal Engine 4.7.2
    Issues:
  • Exporting from Blender in FBX Binary 7.4 format results in a wrong scale in UE4. As example, for an object in Blender: X 40cm, Y 200cm, Z 50cm:
    – Blender scaling set to 0.01, metric -----> UE4: X 4000, Y 20000, Z 5000
    – Blender scaling set to 0.10, metric -----> UE4: X 40, Y 200, Z 50 - this appears to be correct, but just try importing a skeletal mesh with animations. ← read below for details about this.
    – Blender scaling set to 1, metric -----> UE4: X 0, Y 2, Z 1
    – Blender scaling set to 1, blender units -----> UE4: X 0, Y 2, Z 1

Fix:

  • As HerrGilbert said, * use FBX 6.1 ASCII *, and NOT 7.4 binary. At least until there is a newer version.

Details about the animation issue:

After I’ve determined that using 0.10 scaling in Blender produces a FBX that can be imported in UE4 without ******** up the scale of the meshes, I’ve done a few more test export-imports with some static meshes, materials and whatnot just to make sure I got the right settings. I was wondering though why is it that all wikis, forums and tutorials said that the scaling should be 0.01 when it actually doesn’t work with that, but with 0.1 instead.

Anyway, I started building a simple animation in blender, finished it and exported it as FBX with a 0.1 scale.
I imported the FBX into UE4 as a skeletal mesh with animations, ignored the “missing UV map” errors (as this was only a test import)
When dragging the mesh to place it into the viewport, the size of the object was correct, exactly as expected.
However, when going into the Animation tab in UE4, I noticed that nothing was there.

Well, actually the object was there, but it was too small to be visible. It was so small in fact that I couldn’t even scroll to it. I was going from “too far away” to “behind the object” with a single scroll step.

I figured that maybe all those documents and videos were right, and the scale should in fact be 0.01, and not 0.1 which I was using.
I went back to Blender, modified the scale in the scene settings, scaled the object up to the sizes that I wanted, applied the Scale by using Ctrl-A - Scale.
I exported the file again as FBX, using the same settings as before and switched over to UE4 where I deleted the previously imported asset and re-imported the new one.

This time I went right into the animation tab in UE4 and noticed that now the scale was right on the spot. Well, at least sort of. What I mean is that when I went back to the scene view, I tried to drag the object into the scene.
The result: A GINORMOUS object that was i-do-not-know-how-many-times larger than it should have been, but definitely about 10 times larger than the default ground plane.

After reading HerrGilbert’s post, I re-opened the Blender FBX exporter, looked for the FBX version, changed it to ASCII and succesfully imported both a static mesh and a skeletal mesh with animations with Blender scaling set o 0.01 into UE4. The results are great! Perfect scaling!

Mit den hier Loading... erwähnten Schritten kann man die größe und Ausrichtung mit den Standard Einstellungen anpassen. Allerdings kann ich aktuell nicht sagen ob dies auch für Animationen gilt, teste das selbst gerade.

Hello.
I’m posting this in addition to my previous post (post #11 on this thread)

That post describes a workflow that has worked well for me. However, I found that the orientation of my mesh was actually not accurate.
I’ve done a bit of experimentation, and after multiple tries:
Blender_FBX_Export_Attempts.PNG
and some more digging around, I found out that the following settings will always work, even if you use the FBX 7.4 Binary exporter:

Blender 2.73
Unreal Engine 4.7.3
Static mesh orientation: Suzanne should be facing towards -X, while keeping the default Z as up and -Z as down.
In Blender, location, rotation and scale need to be applied via ctrl+a, apply Location, Rotation, Scale

Blender Units: Metric
Blender Scale: 1
FBX Export settings:
Scale: 100
Forward: -Z
Up: Y
Select Mesh (and Armature if exporting a skeletal mesh - though I have not yet tested these settings when exporting an armature. I’ll post an update when I do)
Apply Modifiers: Enable
Smoothing: Edge or face will work just fine.
Loose Edges: Disabled
Tangent Space: Disabled? (mine is grayed out)
Only Deform Bones: Enable if you don’t want to export IK bones (if your skeletal mesh contains animations)
Custom Properties: ??? (mine is disabled)
Add Leaf Bones: Disabled (must be disabled, Kevin Vassey can explain why better than me - Honestly, watch this video https://www.youtube.com/watch?v=Ayp1lof0RJU )
Primary & Secondary: Only matter for leaf bones.
Baked Animation: Enable
NLA Strips: Enable
All Actions: Enable
Sampling Rate:** 1**
Simplify: 1
Path Mode: Auto
Batch Mode : Off
Batch Own Dir: Enable

Images:

  1. Blender mesh orientation, units and scale:
    Blender_UE4_FBX_Orientation.PNG

  2. Blender FBX Export Settings (Tested only with static meshes so far):
    Blender_UE4_FBX_Binary_Export_Static_Mesh.PNG

  3. UE4 Import settings:
    UE4_FBX_Import.PNG

  4. UE4 Successful Thumbnail created (notice that the orientation is exactly as it should, compared with the UFO asset provided in the Flying example)
    UE4_Correct_Thumbnail.PNG

  5. UE4 Imported mesh is correctly scaled and rotated:
    UE4_Correct_Mesh_Orientation_Size.PNG

5.A. Compared to the UFO Mesh:
UE4_UFO_Correct_Mesh_Orientation_Size.PNG

5.B. Suzanne is in the scene, correctly scaled, correctly placed at 0 on the Z(up-down) axis, and facing the right direction (which is +X in UE4 - Added a player start actor to the scene to compare with its arrow orientation)
UE4_FBX_Suzanne_in_scene.PNG

I hope this helps you and anybody else who’s struggling with the same issue.
I will get back on this thread and post after I try the same workflow with a skeletal mesh with animations.

Have a good day everyone!

##################
##################

Edits

##################
##################

#############################################################################

Exporting Skeletal Meshes with animation is buggy when using Blender’s FBX 7.4 Binary export mode

#############################################################################

In the last few hours I’ve been fiddling with Blender’s fbx exporter.
The outcome: I couldn’t get the 7.4 binary to work well with skeletal meshes.

I won’t clutter this post with tons of fail screenshots, but the quick description is that based on various scales in Blender or in the exporter, in UE4 I always get crazy scales.
Furthermore, in UE4 I get a certain size on the mesh itself (when dragging into the scene), and a completely different size (usually 100 times larger or smaller) on the animation (dragging into scene or opening in Persona)
Needless to say, there’s some crazy scaling going on in PhAT as well.

Well then, what’s the fix then? - you might ask.

##############################################################################

Use FBX 6.1 ASCII exporter in Blender (I’ve already written about it on a previous post on this thread)

##############################################################################

Ok, so here are some guidelines on how to use this exporter.
First of all, this should apply to Blender 2.73. If not, download 2.74 RC2 because that’s what I’m currently using (just installed it one hour after my original post.

Important: The mesh should now be facing +X rather than -X(what i was using for the binary exporter)
Also Important: In my .blend file, Suzanne is not the original Suzanne. I’ve scaled her on all axes and then applied via Ctrl+A - apply scale.
You’ll see in the screenshots below that in UE4, the mesh is the exact same size as it is in blender.
Found this to be important as well: This is the correct workflow:

  1. Open Blender.
  2. New File
  3. Set world scale to 0.01 (see screenshots below - scale and units settings are visible in the first one)
  4. Select everything, then delete.
    4+ Add Suzanne, scale her so that she’s at least 1 meter tall.
    4++ Rotate Suzanne 90 degrees on the Z axis (so that she is now facing towards +X
  5. Save this as the startup file via File -> Save startup file
  6. Now start working

This way, you will always have a UE4-FBX-Export-compatible file to start with, and Suzanne will help you remember which direction is which.
Using the method described below, you’ll actually have the same orientation for the axis as in UE4 (X is X, Y is Y, and Z is Z)

I suggested rotating Suzanne because in UE4, +X is considered to be forward, and not -Y as it is in Blender. This isn’t a big issue, as the axes are the same, so if an arrow points towards +X in Blender, it will do the same in UE4.

The only thing to keep in mind is to have all your assets facing +X in Blender.

This might be a bit confusing, but what this means is basically that when you hit Numpad 1 in Blender, you won’t get a UE4 “Front” view, but rather a UE4 side view.

I have already got used to using Numpad 3 to get a UE4 “Front” view in Blender.
Oh, one more thing about this, and actually an even more confusing fact:
In UE4, the “Front” and “Side” labels in all views are swapped. The window that says “Front” is actually “Side” and vice-versa.
There’s an open question about this here: https://answers.unrealengine.com/questions/187506/orthographic-frontside-views.html

Blender 2.74 RC2
Unreal Engine 4.7.3
Static mesh orientation: Suzanne should be facing towards +X, while keeping the default Z as up and -Z as down.
In Blender, location, rotation and scale need to be applied via ctrl+a, apply Location, Rotation, Scale

Blender Units: Metric
Blender Scale: 0.01
FBX Export settings:
Scale: 1
Forward: -Z
Up: Y
Everything else is the same as for the 7.4 binary (scroll up and you’ll see the full list)

Images:

  1. Blender mesh orientation, units and scale:
    Blender_UE4_FBX_6.1_ASCII_Static_Mesh_Orientation.PNG

  2. Blender FBX Export Settings (Tested only with static meshes so far):
    Blender_UE4_FBX_6.1_ASCII_Settings.PNG

  3. UE4 Import settings:
    Blender_UE4_FBX_6.1_ASCII_UE4_Import_Settings.PNG

  4. UE4 Successful Thumbnail created (notice that the orientation is exactly as it should, compared with the UFO asset provided in the Flying example)
    c60e7b1ff0d1dd30cf72bdfa1b910a216b718526.png

  5. Suzanne is in the scene, correctly scaled, correctly placed at 0 on the Z(up-down) axis, and facing the right direction (which is +X in UE4 - Added a player start actor to the scene to compare with its arrow orientation)
    5f0fe3cc0d3a5d361aad55286457afab1f7c282b.jpeg

I’ll be back and edit this after I fiddle with the skeletal mesh and animation export/import.

… Well, I’m back!

##############################################################################

Skeletal Meshes with/without Animation - Use FBX 6.1 ASCII exporter in Blender

##############################################################################

I’ve done some tests with this and it seems that everything that I stated before (since the Edits tag) will also work for skeletal meshes with or without animation.
To have a good result, the following need to be done:

  1. Follow everything stated in this post regarding Blender’s 6.1 ascii export. I mean everything.
  • Workflow: when and how to create the default file, when to start working. (scroll up, you’ll see everything at the beginning of the Edits section
  • Blender FBX export settings - again, scroll up, everything’s here
  1. Make sure you have a good object hierarchy in Blender - screenshot attached below.
  • A correct hierarchy would be
  • Armature
    –+Animations
    –+Collection of bones (also named Armature, which is a bit confusing, as you do not actually have 2 armatures.
    ----+Root Bone
    --------+Other Bones
    –+Pose Libraries
    –+Mesh(or Meshes)
  1. Don’t panic if the bone count in UE4 is (Blender bone count) + 1. It’s normal, because of the Armature object that Blender adds.

That’s all! Basically, your exported scene or object should only be an Armature. Everything else should be inside of it.

Blender Scene:
6c4d65144795eb3337be6bda00bcc86517f917d4.png

Blender Export: same as for the static mesh (scroll up to see the FBX 6.1 ASCII exporter settings)

UE4 Import Settings:
1422ecc5c35dfc9d3744ac45fcd4efae2223250d.png

UE4 Scene - Location, orientation, scale, animation, thumbnail - all are correct:
UE4_Correct_Orientation_Scale_BonesNumber_Thumbnail.PNG

Important Note: If you do not begin with a startup file that was already prepared (scale, etc.) as I mentioned at the beginning of the Edit section, then the export will be unpredictable. I had different results when I tried to apply the correct scene units and scale to an existent file.
Anyway, if you use the workflow that I described, everything should work just fine.

Suzanne Approves:
Suzanne_Approves.gif

***** The gif above is a screen capture from UE4. The suzanne animation was created in Bleder, then the “rigged” and animated Suzanne was exported as 6.4 ASCII FBX using the method described above. After that the FBX was imported into UE4, and the animation asset was dragged into the scene.
For scale comparison purposes, I’ve included the static Suzanne as well.

Hi Darrell,

must have missed your first post somehow, but thanks for it and the follow up! I’ll give it a try as soon as I need another Mesh from Blender - which might be in the near future. :slight_smile:

You’re welcome.
When you do give it a try, feel free to skip to the Edits section of my post, and use the FBX 6.1 ASCII exporter. There are still issues with the 7.4 Binary FBX exporter. The orientation is one of them (Binary needs -X as forward, which is plain wrong). ASCII needs +X, exactly like UE4.
Also, I’m going to update that post yet again after I figure out the skeletal mesh + animation stuff. I really need this myself, so expect an update to the post very soon (maybe even today)

Best of luck!

Edit: I’ve updated the post with guidelines for skeletal meshes with or without animation.

When i do all of this, I always end up with a character model which will not rotate propely. When I scale everything to be the right size, rotations will always be scaled down/up.

In order for all of this to work, you must start with an empty file that has the units set to Metric and the scale set to 0.01
As I stated in my previous post, the correct workflow is this:

  1. Open Blender.
  2. New File
  3. Set world scale to 0.01 (see screenshots below - scale and units settings are visible in the first one)
  4. Select everything, then delete.
    4+ Add Suzanne, scale her so that she’s at least 1 meter tall.
    4++ Rotate Suzanne 90 degrees on the Z axis (so that she is now facing towards +X
  5. Save this as the startup file via File -> Save startup file
  6. Now start working

If you start working(build your mesh), and then set the scale to 0.01, it will not work.

When exporting as ASCII with the options set as you can see in my previous post, all axes will be the same in Blender as in UE4:
Blender X = UE4 X
Blender Y = UE4 Y
Blender Z = UE4 Z

I’ve done this with multiple meshes, so the result should be the same as long as you use the software versions that I mentioned and follow all the steps in exact order.

Let me know if you need anything else, I’m always happy to help.

Good Luck!