How do you import a tank track animation?

Hi all,

First of all, I’m quite new to animating stuff so I’m quite a beginner in that field. I would like to use this opportunity to get an idea of the steps I should look into when moving ahead with this project. I’m currently creating a toy tank for a personal project, which you can see in the following image:

As you can see, the tank has two tracks (the black bits) which I’d like to animate since I’m planning on using it as a vehicle within Unreal. This is what they look like by themselves:

I_WoodenTank_TrackCapture.JPG

However, and because they aren’t cylindrical, I don’t think I can create a bone and just drive the rotation with that as they do in the sample projects that are packaged with Unreal. I would think that I need to manually key the different vertex movements until a full rotation happens, and then export the track as a skeletal mesh with the animation. Would that sound about right? However, whenever I try to import the mesh Unreal is telling me that the file can’t be imported as yo can see next:

I_WoodenTank_ErrorCapture.JPG

What do you guys think? What would you do to in order to create such an animation and import it to Unreal? The main goal is to have that animation happening whenever the vehicle moves.

Thanks for your time to all who read this :slight_smile:

Brais

I would be inclined to animate the texture

Hi @FrankieV , thanks for your reply. I’ve looked into an animated texture, but it doesn’t give the same results as having the geometry actually moving. Especially in this case since the corrugated tracks would make it obvious that the underlying geometry is fixed, or so I believe? I guess I could use a displacement or height texture to get rid of the actual geometry and then use those maps to drive the movement, but I’d like to make a “realistic” solution rather than faking it, if at all possible. Thanks for your feedback though!

Download the content examples for 4.20 and check out ParallaxOcclusionMapping

I think it will do what you are looking for.

You can also check out sample on YouTube

Thanks again @FrankieV, but I’m definitely looking towards actually animating the geometry and not using textures or materials to create a similar effect :slight_smile:

What I’m after is something like this:

(minute 9:34)

Being able to export such an animation would be awesome. However I’m not sure if it can be done, as the way the video creator is achieving that animation is purely within 3ds Max and without using any bones or skeleton. Are bones and skeletons needed for a skeleton mesh to get imported?

You got 3ds Max?

If so and need key frame animation you could make a follow path around the belt and make X number of control points to follow the path using a path constraint. You can skin the belt to the control points and export the baked animations along with the skeletal mesh belt to FBX. I made an animated ammo-box for for a P90 this way. Basically you can set up and bake any control point, bones or other wise, that is animated even if UE4 does not support the rigging set up.

Hi again @FrankieV , thanks a lot for that! That sounds like it could work, and I do have 3ds Max. I’ll try that method, is there any tutorial that you know of where they cover that process in a step-by-step way? I haven’t animated much so any help helps :stuck_out_tongue:

This is as good as any.

Hi @FrankieV, thanks for that. I’ve taken a look at that method and it seems like something easy to try. In the meantime I was able to animate the object via a similar procedure as the one described in this video (https://www.youtube.com/watch?v=t9KVZkE3gFo). What they are doing there is just driving the motion of a conveyor belt thanks to a path deform modifier, then storing the values of the animation in a global point cache modifier. Then they clear the stack and end up with the original editable poly object to which they then apply an object based point cache modifier which lets us see the animation happening in Max.

I was wondering if that could also work, as I saw from another thread (in which you’ve also replied, you are becoming my hero :P) that you suggested that method to someone else as well (Converting Point cache data to format UE4 will accept - Animation - Unreal Engine Forums). However, upon further studying it, it seems like that’s not the way to go, as I would just be exporting the vertex data and I would need to download a plugin from Epic to create normal textures to then feed into a material… so I guess I won’t be able to import an animation from an fbx if I only have point cache data?

That would mean trying what you used in that video and skinning the mesh. Just thought to post these thoughts here in case you knew how an already animated model that is using the point cache modifier can be exported :stuck_out_tongue: Thanks for your time!

Well a bit of history. The number one problem with DCC is maintaining the fidelity of asset with in the creation pipeline so that in what is in one environment works in another so is yet another reason to stick with an all Autodesk pipeline as even FBX belongs to them so of course it supports most things 3ds Max as a container so the data is there it’s just that Unreal 4 can not make use of it. (more on that in a moment)

So

So to make use of PCD it’s not an issue of coding but one of patent licensing of an engine that is now open licensed. (AKA not open sourced but rather fair use licensed) and since everyone has access to the engine code, which would included the PCD block, Epic would probably have to pay a license for every download seat. (I’m guessing of course but have a good idea of how stuff like this usually work)

But

That does not mean you can not make your own PCD pipeline by starting with the fundamental of just how PCD works in the first place by solving the problem.

PCD at it’s core is a series of progressive morphs stored in sequence much like an AVI is in theory just a string of indexed images and the PCD modifier packages the progression with in a single data file. What we do know is UE4 “does” support individual channels and so does 3ds Max so we have the means to build our own, but limited’ vertex based animation system.

A way to do it would be to set up whatever means you wish to create a real time deformation with a morph modifier on the stack of the target object. Stepping the track you would take a snapshot in the morph modifier into individual channels as a progressive, being sure to change the name of the object each time you take a snapshot, and the modifier will store the vertex data for you. You would repeat the process for each frame you wish to capture until completed. Keep in mind that 3ds Max only has 100 channels available and you can not stack channels.

Once done you now have an object that contains the necessary data to behave as a progressive data package much in the same way that the PCD modifier with but in an automated manner and once exported would behave in the same manner as want object would that contained morphs into UE4.

From there you have more than a few options. You could make your own sequences or even use 3ds Max to animate the progression and export the animation along with the target object.

Something to keep in mind though is vertex based animation dose not have a local transform as it’s the vertices that are moving and not the object it’s self so using it as a train will probably not work as the object will remain fixed as to it’s local transform, so you might have collision, a player standing on it would not go along for the rid.

PS is’t been a while so there might be a better solution but the big one is morph targets are now hardware rendered and no longer has the performance hit that they use to.

After thought you could look into Alembic as an option to export vertex animation. UE4 supports it and the more recent versions of 3ds Max has export support but I’ve not looked into it as I have no need to spend update bucks.

yes u can, if you know how to use maya, use lattice deformed and animate the mesh , but you will treat it as blendshapes , another thing, you can rig it as a circular worm then animate one correct cycle.

that should make the job done, and if its for mobile game, trust me, use use texture with planner for better performance .

Hi @FrankieV, thanks a lot for your comment. Very insightful, however I was able to animate the tank tracks and export the animation through the method you pointed to in a previous video (https://www.youtube.com/watch?v=jk0ovEzAHx4).

It was a bit more of a pain than what you’d think it would end up being, as Max was bugged (recognised by the developers themselves…!) in one of the options that needed to happen to animate objects along a path. However I found a temporal fix and everything seems cool now, thanks a lot for your help.

Thanks as well [USER=“33354”]Omar Vector[/USER], but using textures wasn’t what I was after.