Blender to UE4 using UE4 animations?

Yes, you may very well be right about that.

I tried adding some IK chains to the hands and legs of the UT3 Rig so that you can move the whole arm or leg by moving just the hand or the foot, and it works fine. :slight_smile:

Can you upload the .blend please? That would be very cool.

Sure thing, I’ll get my Blender UT3 Rig finalised and uploaded to my Google Drive by the end of the day. :slight_smile:

Sorry… there has been a delay. Namely drinking beer and going out partying… UT3 Rig Coming Soon ā„¢. :slight_smile:

Okay hey everyone! :slight_smile:

As requested here is my Blender Unreal Tournament 3 Rig for Unreal Engine 4: BlenderUT3Rig_Complete.blend

And here are the Unreal Tournament 3 Human Base Male Animations to go with it. These Anim Sets contain only the Animations for a Human Male using a Rifle and do not contain Anims for any of the other UT3 Weapons. The reason for this is because I exported all these anims manually from 3DSMax and my game is only using Rifle’s any ways so it would have been a waste of my time to Export all the other 150 or so Anims for all the other weapons. If you need those other Anims please ask me specifically.

There are two Anim Sets:

  1. K_AnimHuman_BaseMale_Rifle
  2. K_AnimHuman_BaseMale_AimOffSet_Rifle

Okay so, these Anims work with this rig in Unreal Engine 4. The Blender Export/ UE4 Import Pipeline is like this:

  1. Open the Blend File.-> File -> Export -> Autodesk FBX. In the Export Options on bottom left of screen make sure ā€œSelected Objectsā€ is checked.
  2. Open up Unreal Engine 4 -> Import -> Navigate to the Blender generated FBX, Import it. -> Choose Skeleton ā€œNoneā€ so that a new Skeleton Asset will be created.
    3.Extract the Animation Rar Archives to your chosen Folder.-> Inside UE4, Import. -> Navigate to the Anims Folder and press Control + A to select them all. Open. -> In the Import Options choose ā€œAnimationā€ from the 3 tabs. -> Choose Skeleton. Choose ā€œBlenderUT3Rig_Complete_Skeletonā€ from the drop down menu. -> Import All. -> Open the BlenderUT3Rig_Complete Skeletal Mesh in Persona and view the animations. -> Done. :slight_smile:

So of course, in Blender you can replace the stick man Mesh with your custom character and then Import it too UE4 to work with these anims!

Okay, there are a few things that need to be known about this Rig and how it can be used. Although it works there are some problems with it basically. They are as follows:

A) In Blender the Armature Object has a Rotation of 90o on the X Axis. This is so that when imported into UE4 the Skeleton and the Mesh are in the same position. You must not Apply the rotation to the Armature in Blender, as this will set the X axis rotation to 0 and consequently the Rig will be rotated 90o away from the Mesh in UE4 and we don’t want that.

B) Creating custom animations with this Rig inside Blender IS POSSIBLE. But there is one important issue with it. Due to the 90o Rotation of the Armature in Blender the Animation Key Frames are also Rotated 90o. In order to fix this, follow this simple procedure for creating your Anim.
1)Set the Timeline at your desired time slot.
2)In Pose Mode - Pose the Armature / Character in your desired Pose.
3)Still in Pose Mode - Press A to select all Bones. Your custom pose will be maintained. Now rotate the whole skeleton 90o on the X axis. (R, X, 90, Enter.)
4)Insert Key Frames: Rotation or Rotation and Translation if necessary.
5)Still in Pose Mode - Rotate the whole skeleton back to the original position. (R, X, -90o, Enter)
6)Repeat this process for every additional Pose / Set of Keyframes.

C)This Rig and the Animations that go with it are all at essentially half scale of a normal human in UE4. That is the Rig and Skeletal Mesh are approx 100cm high.
The animations work with this 100cm high character. But if you scale up the Rig by 2x in Blender and use it with the animations the character will be scaled down 50% to fit the animations. This can be worked around by using the Animation Retargeting options inside Persona. The results however are mixed.

My apologies that there are still errors and inconsistencies with this Rig. But its as far as I have got for now. If I’m able to solve any of these problems or if they become solved by updates in the Blender FBX Exporter Ill let ya’ll know. :slight_smile:

Lastly as requested by here is a copy of this Rig with some Inverse Kinematics Bone constraints applied to it in Blender to the Arms and Legs so that they can be posed by only moving the Hands and Arms respectively.
The blend: BlenderUT3Rig_Arm&LegIK.blend

Any questions, please ask. I’ll be working to improve this rig in future and possibly add a complete IK Rig to this Blend. So watch this space! :cool:

Edit: Figured it out -> Hey, thanks for the UT3 rig, the IK seems to work there, but it doesn’t work on the ShooterGame rig that you provided?

Edit: Figured that out as well -> Also, I have no idea how the IK constraint works in the UT3 rig case, because there’s no target and no pole. The actual deforming bone is acting as an IK target, apparently. Yet if I assign a pole everything goes wrong(the foot gets rotated 180 degrees) and the pole doesn’t actually do anything.

Best scenario ever would be if someone wrote a proper FBX exporter for Blender so that a normal rig would work. There’s also the question of how do Epic’s Maya Rigging tools set up their rigs. I don’t know if it’s a normal rig or not(are their bones actually rotated).

Also - how did you figure out how the bones have to be rotated for the ShooterGame rig to work? Trial and error?

No probs. :slight_smile: Hope you find it useful.

Inverse Kinematics Constraints can be added to the Blender HeroTPP Rig in order to assist the creation of Custom Animations inside Blender. Should work fine.
I.E. In Pose Mode Select the Hand Bone -> Bone Constraints -> Inverse Kinematics -> Set Chain Length to 3. Then the arm will move just by your moving the Hand Bone.

All the IK Bones inside the BlenderUT3 Rig are essentially useless with regards Inverse Kinematics inside Blender. That is not why they are there. They are there as a legacy from UDK / UE3. I presume their purpose was to generate IK against Physics Objects, such as is seen inside the UE4 Content Example, when the cloaked guy punches a wall, his hand hits a wall and stops at it, sending an IK effect down his arm. View the UE4 Content Examples Package to see the use of IK in this way.

The IK bones inside the BlenderUT3 Rig can actually all be removed and the character will still work the same with all the UT3 Animations.

Yes I am very much looking forward to a properly configured FBX exporter for Blender. I can only hope the Blender Foundation guys cook one up soon. :slight_smile:

I know nothing about the Maya Rigging Tool, sorry.

I figured out how the Bone rotation needed to be in Blender by observing the Rotation of the Bone in Blender and then observing the consequent Rotation of the Bone in UE4 and comparing the two. By seeing how the bone rotation had changed, I was able to work out what rotation had been applied by the FBX exporter and reverse it inside Blender so that when imported into UE4 the rotation was correct. Make sense?

I’ll post a detailed explanation of the exact Formula in an hour or two, when Ive worked it out, lol. :smiley:

Okay, to cut a long story short: The Bone Rotation issue has all to do with the Fact that 3DSMax/Maya and Blender use different Coordinate Settings.

Blender’s Coord Settings are Z Up, -Y Foward.

I don’t know what 3DSmax / Maya’s Coordinate Settings are. But the point is is that the FFBX Exporter is interpreting Blenders Coords as if they are they same as 3DS and Mayas which they are not, I presume end result = Rotated Bones.

But actually there are two things to consider here:

  1. The World Rotation of the Armature
  2. The Rotation of individual Bones.

But these two factors effect each other.

To cut a long story short again, the Armature Object needs to have a World Rotation of 90o X inside Blender to be imported correctly into UDK.

Once that has been achieved the only thing that really needs to be understood is that Bones in Blender and then UE4 have their X and Y axis switched around.

See these two images:

Here in Blender the Bone has X Forward, Y Down, Z Out.
8866bb078b4ecb947322fa78d917cc5845c36e4d.jpeg Here in UE4 the Bone has Y Forward, X Down, Z Out.
X and Y have been switched.

So for example if you want your Bone to have Y forward in UE4, set X Forward in Blender.

Knowing that should be sufficient to set all bones up correctly in Blender. it works for me. Sorry I can’t give a more exact explanation. But it works! :slight_smile:

Dude…you are a workhorse! I worship the ground you walk upon. Thank you again! I can use all of that UE3 stuff as well.

Glad to be of service. :o

Oh, I forgot to mention, that in order to successfully export the BlenderUT3 Rig and Custom character from Blender to UE4 you need to use the updated FBX Exporter to stop it from creating an additional Bone at the top of the Skeleton hierachy. See Geodavs Tutorial here:https://www.youtube.com/watch?v=6iOScBCBdEM&list=PLXWXR2pLy_hV6UwhLjirhNnelWpOzGWRI&index=3

Hello again!

Apparently they have updated the FBX importer in the new blender which now supports importing of Armatures. So today I tested it and I successfully imported Owen from UE4 into Blender and back again, with animations working and everything. I thought it would be worth it to try and use this with a character from MakeHuman, so I did that. I used a mix of Owen’s(UE4 examples) and the Mannequin’s(3rd person template) animations.
As you can see, it works(with some skinning problems):

When trying to add your own character mesh just make sure that you don’t rotate the bones of the UE4 rigs. Move them around as a whole(head and tail at once) and try to get them as close as possible to the way Owen or ShooterGame’s character or the Mannequin character are set up. Also don’t use X-mirror in Blender, because it messes up the bone’s Roll.

Also thank you DyotoOrion for your explanations. It must have been quite a pain in the *** to do it by trial and error.

If anyone has any questions you can ask ofc.

Edit: Oh and for exporting I just used the new nightly build’s FBX exporter and I had to uncheck export animations(or something like that), because it was giving me and error, because I wasn’t exporting animations. Just selected the mesh and the Armature object and exported using export selected.

Thanks for the heads up ! :slight_smile: I’ll check the new Blender build out.

Yep debugging those rigs in Blender was a total PITA! :smiley:

@ - How did you export the models/animations?

I exported the model with the Blender build, to which I provided a link, using these settings(of course with the model and skeleton selected):

The animations are not mine however, they are from Content Examples and Third Person Blueprint

Why does the Armature Object and Mesh have to have a 90o on the X Axis? I have not needed it in my experiments with the UE4 FBX into Blender. Even with Custom Animations… Hmm…

I’ll do some more experiments and let you know. :slight_smile:

You’re right, I’m sorry. I must have exported the model with the older Blender version, because I know I switched between the two a couple of times, since I was sure the older exporter was working. Post fixed.

No worries. Hope im right :slight_smile:

You are, I checked it afterwards.

@ - Sorry I meant from UE4. Are you using the animations from the 3rd person tutorial or did you export them from UE4? If you exported them from UE4 - how did you do that? I don’t see a way to export .fbx files from UE4.