Blender

From Epic Wiki


Overview

Blender is a digital content creation tool that works with Unreal Engine.

It allows the creation of 3D assets that can be used for games and film.

Similar software includes 3D Studio Max and Maya.

Blender is Open Source software and can be downloaded for free.

Blender facilitates the creation of statics and skeletal meshes.

This article was born as a discussion for general guidelines you should have when using Blender and UE4. The original discussion started here: https://forums.unrealengine.com/showthread.php?1298-Static-Mesh-from-Blender-to-UE4/page2

The purpose of this article is serving as a light guide of considerations when working with Blender and UE4 for people who are already comfortable with general 3D concepts (Modeling, Texturing, UVs), At the time of writing this, I found two relevant articles with more in-depth content:

In the future this article may include a broader take in the Blender to UE4 pipeline, and the current content would be moved to a "Blender Considerations" article.

General Pointers

This is a plain copy/paste of some tips from Creating a Skeletal Mesh in Blender with some commentary for the last release of Blender

  • Use the Scene Property tab, set your Units to Metric and Scale to 0.01. This will better match Blender Units to Unreal Units.

(Although this is no longer necessary for some of the last releases of blender, it will make your life easier, because the export scaling in blender still has some issues. More info below.)

  • Add a 2nd UV map to your model to serve as lightmap UVs in Unreal. Make sure UVs don’t overlap in the 2nd UV map. (They can overlap in your 1st UV map just fine.)
  • You should have a single armature in your FBX that parents your mesh
  • The armature should have one root bone from which all other bones are hierarchically connected
  • You can use the Action Editor to organize multiple animations in one project
  • You can use the F button to Force a reference to exist on an action in the Action Editor so it doesn’t disappear when closing your Blender project
  • When exporting your FBX, select Armature & Mesh and deselect the “Include Default Take” option
  • When importing the FBX, you import into Unreal twice. First, you import the skeleton. Next, you import the animations and apply them to the skeleton you created.


Skeletal Meshes

Creating the skeletal mesh

Blender uses Y- for forward but UE4 uses X+ for forward. The FBX export options seem to do nothing, so you may want to model from blender using X+ forward or rotate the meshes in unreal 90 degrees when importing. Just try it and find what makes you comfortable.

As said earlier, the last release of Blender includes an option that upscales everything 100x to be compatible with FBX spec and UE4. This option currently has some bugs. I'd suggest to turn it off from the export panel (see image below) and set up the scene as mentioned earlier.

Disable-Blender-FBX-upscaling.png

The previous suggestion is because the exporter still exports some wrong scale values, and when importing the skeletal mesh in UE4 the automatically generated PhysicsAsset will have bad info, and when creating sockets in the Skeleton Editor there are some issues, sockets appear scaled 100x and when using local translation in the editor the gizmo shows 100x the size, although it is not that bad, is a thing you can easily avoid by using the 0.01 scale tweak, see the screenshot below for comparison:

Bad-scale-screenshot.png

Look at the socket size. In the image above the scale gizmo is not affected, but setting the translate gizmo shows a big big gizmo:


Bad-scale-screenshot2.png


The third issue I had was trying to get root motion to work. It didn't work at first because of the way maya/fbx works, browsing reddit and the blender issue tracker I found https://developer.blender.org/T45368 and https://www.reddit.com/r/unrealengine/comments/3q75xg/blender_276_root_motion/ It says that maya/fbx don't have the concept of Armature that blender has, there are just bones that are children of other bones and there is a root bone (I'm not really sure about this, I don't use maya) so when you animate a root bone in blender, you won't get root motion in unreal because the FBX exporter adds a root bone that has the transform of the armature object in blender. This is not a bug in any way but is something you should be aware when doing animations. If you want to have root motion you need to animate the armature, not the root bone.

Conclusion

Hope this helps you with the most common issues in Blender, If you have something to add please edit this page and add any information that you find useful.

-BoteRock