How to Animate tank tracks in Blender for Unreal

I’m trying to animate tank tracks in blender and use them in unreal if anyone knows how to easily do this or has somewhere to direct me please do because I can not find what I’m looking for. Currently I’m using an array modifier with with a curve wrapped around a bezier circle, I then press g and then y and move it across the y axis and the treads move. When I import this to unreal instead the treads do not move and just a motionless track will move LITTERALLY across the y axis. If someone can help me fix this that’d be great but if you can’t or there’s a better way then please show me or direct me.

Hey Makin14,

Is your tank rigged? If it is you would then be able to animate it. I cant really tell what process you are using. I would try rigging the tank with one bone on each piece of track. You want to make the tank tracks rotating so it looks like the tank is moving forward, right? I think this is kinda like a revolver gun animation. You will need to make ONE animation with the tracks moving forward just ONE space. When you play this animation in loop with no extra time at ether end of the animation, it should look like the tank tracks are moving the tank forward. You will need to place all the tracks to the right place for most of the frames of the animation. That should not be really hard though. It will just take a bit of time. Just animate one side of the tank, and then, I THINK you can copy the key frames over to the other side of the tank. These animation should export with the mesh, and should work fine with Unreal, but when you import into Unreal you will need to set it to import a Skeletal Mesh not a Static Mesh. That could also be the problem with what you are doing now. Maybe try re-importing your tank but setting it to import a Skeletal Mesh. If you have already done this that I do not really know. I would just try rigging and animating the tank.

Here is a link to a Udemy course that said it covered the rigging and animation stuff, but I totaly get that spending money on this might not be an option: https://www.udemy.com/blender-tank-course/

Really hope this helps,
Gurthang325

Hi Gurthang, no my tank track is not rigged. I had heard that might be the way but I can not figure out how to rig an array modifier, where it is just a copy of one rectangle cube I thought that I could only add a bone to that one cube and not the others, how do I rig an array modifier then? If needed I can give my blend file for you to look at.

Hi Makin14,
I do not think you can rig a modifier at all. When you exported the mesh with the animations, I think it automatically apply all modifiers. This is probably why the animation in Unreal was weird. For rigging you will need have a bone for every track. If you want I can take a look at it. Also, maybe I can do some of the rigging for you if you want, but idk. I will at least take a look at your mesh, and maybe try importing into Unreal to replicate the problem. Also, is your tank a model of some real life tank?

Gurthang325

No its not a model of a real life tank its actually very simple and the rest of the parts imported fine to unreal because they did not have any animations needed. Yeah if you’d like to look at the tracks you can if you wanna rig some go ahead just please give me some insight to what you did if you can. How would I send the file to you it says on here I cant because the file type is not supported.

Hi Makin14, I think you can make a Dropbox account and send it to me that way. It is probably too bit to email. I would try making a account with Dropbox and then posting the link. If you do POST the link in this thread It will be publicly available though. I do not think I really want to give out my email, so posting a link seems to be the only option that I can think of.

Gurthang325

OK, i’m working on it.

I’ve seen alot of things that says game engines don’t take the constraints such as the curve modifier, and also seen things that suggest an animation won’t work in a game engine without bones but I really don’t know, I know if you apply the array modifier every individual tread becomes it’s own tread in edit mode maybe someway we could put bones in those?

Lol, that is exactly what I’ve done! I have the animation working in blender but am having some trouble getting the animations to export into Unreal. I will let you know when I get that sorted out. I will give back the blend file when I have figured that out. I will also tell you what I did.

Hey Makin14,

I finished working on your tank!!! Here is the blend file and the FBX that I exported and checked with Unreal.

What I did:

  1. First I applied the modifiers on the tracks starting with the array and then the curve.
  2. I then hit SHIFT-A and made a single bone and placed it on a section of the track. Dropbox - Tankpic.PNG - Simplify your life
  3. Then, in Edit Mode for the bone, I extruded it and placed it on the next section of track. This is repeated until all the tracks have bones on them. Dropbox - Tankpic_02.PNG - Simplify your life
  4. Then, in the armature section of the properties panel, all the way down at the bottom of the list, hit the Generate Rig button. This will generate the rig from the bones that you have placed.
  5. Next you need to parent the mesh to the rig. This is done by left clicking on the mesh and then left clicking on the rig. Then hit CTRL-P. In the menu that pops up, select With Empty Groups. This will only work right if the rig is in Pose Mode.
  6. As of right now, the rig bones are parented to each other in the order that you placed the bones in. You need to change the parent to the Root bone that was generated. This can be done by going to the object section of the properties panel. Find the parent section, it is in Relations. Hit the X to un-parent the bone and then click the box and select the root bone. It was at the bottom of the list for me. This needs to be repeated for all the bones.
  7. Next the Transform and Rotation lock must be unlocked. To do this, go into Edit mode for the rig, go to the properties panel, and then the object section. In the Object section open the Transform Locks tab. in this tab unlock the transform and rotation for the selected bone. This needs to be repeated for every bone.
  8. Nest, in the bone tab of the properties panel, at the bottom of the list there is a Deform tab. This must be checked for the bones to deform the mesh. Dropbox - TankPic_03.PNG - Simplify your life
  9. Next, with the mesh selected, go to the Data section of the properties panel, go to the Vertex Groups tab. This tab displays all of the vertexes for the mesh. Go to Right Ortho and then pick a track to start with. You then need to find out the name of the bone that has bee placed on that track. This can be done by going into Pose Mode on the rig and clicking on the bone in question. Now that you know the name of the bone, find the Vertex Group with the same name. Select that group. Then, in Edit Mode for the mesh, select the geometry that you want this bone to move. Then hit the assign button in the vertex tab. Right below the assign button there is a slider called Weight, this need to be set to 1. You will need to do this for all of the other bones on the mesh. Dropbox - Tankpic_04.PNG - Simplify your life
  10. Now that that is finished, YOUR TRACK IS RIGGED!!! YAY!!! throws confetti All you need to do now is animation it. I did this by simply by keying the first frame, and then moving to a different frame like 30 or something. I then (In Right Ortho) carefully moved one track to the position of the track behind it. The better you line-up the MESH to the mesh behind it the better the animation will look. All you need to do now is select the track that just got covered up and move it so that it covers the one behind it. You will need to continue all the way around the track until you are back to where you started. It can be a little cumbersome, but it makes a good animation when you loop it with no time at ether end of the animation.
  11. Also, on more thing, to get the continuous motion that I got in my animation(no speeding up or slowing down) you will need to change the curve type from Curved to Linear. Do this by hitting the l T key with your mouse over the Dope Sheet, and under Interpolation select Linear.

I hope this solved you problem Makin14. If you have any question about my steps, just comment.

Gurtang325

Yup this is what i needed thanks! the only problem I have now is I haven’t decided what engine to use and while this works in unreal it sorta has what i deem a small problem in unity. The animation plays fine in unity just like unreal but the model of the tracks in unity has missing faces along the entire inner ring of the track yet the model looks fine in unreal. I imported the original version of the tracks i gave you into unity and it looks fine so there is something in your process that has made those faces act funny but I cant figure out what. Idk if you know anything about unity and I also know these forums are not the place for a problem with another engine so never the less you solved my problem I asked.

Glad I could help you Makin14!!! I did use Unity for a little bit but I never got so far as animation and importing meshes. The only thing that I could think of is that the missing faces are just turned the wrong way around. Faces are one sided so you can see past one side and not the other. This would explain the problem, but I checked in blender. It is not. Maybe in the import setting of Unity? Also, I have not used Unity in a long time but I think Unreal is better. To each his own though. Well, I am glad that I could help you with your problem and I hope you can figure out the other one. Also, thank you for asking the question! I have been wondering how to do this to. I thought I knew the answer but I wasn’t positive. I’m glad I got to learn something too!!!

Actually i cant seem to find the generate rig button as you mentioned in step 4?

Huh? Oh, I messed up. This pic should help. Dropbox - Tankpic_05.PNG - Simplify your life

  1. Select the rig.
  2. Go to the Property panel.
  3. Then go to Data.
  4. Hit the Generate Rig button.

What version of Blender are you using? That could be the problem. I’m using 2.79b.

Hope this will help you.
Gurthang325.

Im using version 2.79 as well and thats where i thought you meant but there are no others tabs to scroll down too over on the right as you can see in this pic. Dropbox - Cant find button.png - Simplify your life

The moment you tell me i figured it out XD

Lol, sorry my bad. I forgot to tell you that that is an add on. It comes free with Blender so you should already have it on you computer. Go you File>User Preferences>Add-ons and then type “Rigify”. Only one option pops up for me. Click the check-box and then save user settings. When I just tested this, the Generate Rig button goes away when I do not have this add-on enabled. Hope the helps.

Gurthang325

Okay i goofed up a little and can’t remember what i did but this is probably my last question, I forgot how to join the last bone with the first Dropbox - Join bones_.png - Simplify your life

I never joined the last bone to the first. I could not figure out how. It will not mater anyway. After you generate the rig, in this case you will change the parent from the bone on top of it in the hierarchy to the root bone. This will separate the bones. Hope this helps, and I do not mind the questions.

Gurthang325