Community Tutorial: AnimToTexture Plugin, How to Use it to make Vertex Animation Textures for crowds

This video shows how to use the AnimToTexture plugin released with Unreal Engine 5 City Sample (and now part of UE 5.1). The video uses an Editor Utility tool which is available for free at the link below. Add the UASSET to your UE 5.1 project and use it as is or as an example for your own tool. Also provided is a basic crowd instancer blueprint which will scatter a static mesh with VAT texture and put a random animation on each instance. The video walks through both of these blueprints which could be enough to make your own editor utility and instancing blueprint.
The resulting motion has some stepping issue which I have not yet solved. This is mentioned in the video. When I find a fix I’ll update here
GitHub - kromond/AnimToTextureHelpers

https://dev.epicgames.com/community/learning/tutorials/3xKm/unreal-engine-animtotexture-plugin-how-to-use-it-to-make-vertex-animation-textures-for-crowds

4 Likes

Ty so much for the tutorial.
I am getting everything right, but I cant get rid of the shaky animation. Did you find a way to have clean animations?

Hi Kromond,

Thanks for you help.
I’m Alexandre P. the one with the comment on Youtube for Git LFS.
I’ve forked your project on GitHub as i’d like to make it work with a diverse crowd, so using an array of Static Meshes and Dataasset.

I’ve updated yours by removing a useless for loop, and added a BP with 2 declared SM & DA which works.

Unfortunately, for my BP which expose arrays of SM and DA: all my SM are sync, and play the full animation loop. I’ve spend hours on trying to understand why and fix, but i cannot.

AlexandrePoisson/AnimToTextureHelpers: Trials (github.com)

1 Like

Looks very interesting. Would this be possible to use for destructing buildings instead of generating new geometry, thank you chaps

1 Like

Hi @DaftAlexPunk , I replied to the github PR also. I was not able to set the custom data in the main loop, it just didn’t work as you are seeing. When I moved it to it’s own loop run after all the instances have been created, I was able to set the custom data values for each instance. Try adding that loop back

yes the technique has been used for destruction animation. You would use the vertex animation approach rather than the bone animation. Check this Destruction FX for Realtime | Part 3 | Implement FX in UE4 on Vimeo

Thanks for the post! Not sure if you’ve already figured this out, but the “choppy” animations is coming from the texture format R8G8B8A8 instead of FloatRGBA. You can resolve this by ensuring that you have sixteen bit precision selected and the Force Power of Two option checked.

1 Like

Hi @steveontheweb, thanks for the solution about positions, do you have any idea why Force Power of Two is required? I don’t see why we need this

1 Like

Thanks @stevenotheweb, I learned that. It was the force power of two option that I didn’t have. I did not realize that was a requirement for writing a 16bit texture

1 Like

I am no expert, but when I was trying to figure this steppy motion problem out my colleague and I stepped through the file write operation with a debugger. It has to do with the compression pipeline. It can’t compress a file that is not power of two and this would make it bump back to 8 bit. We thought it had something to do with mips (and maybe it does?) but I didn’t realized the power of 2 connection. Someone in the comments pointed it out

hello kromond, i was wondering if there is any way to attach static meshes to the sockets of the moving static mesh?

Well hmm… I don’t think so. Static meshes don’t have sockets, so it would need to be attached to a vertex


Hey man, i just can`t get it to work. What is this Error. Pls Really need your help

This error is UE5.2. in 5.2 there is no Param names node.

I have the same issue, also working on 5.2 commenting here to see if anyone came with a solution.

Same here, there is no way to generate the texture in 5.2.

Does anyone know if there is a way of using this system with Niagara?

its rare to find solutions regarding unreal. a few nodes are missing from the library in ue5.2 altogether. i hope they someday fix them

Hi Alex,
i was really struggling with the same issue of crowds and your blueprint was really helpfull and i guess it can be used for more than 2 static meshes i guess. you two are real heros. there was a little thing i want to point out, a lot of the meshes werent animating as maybe the instance count doesn’t give you index of each instance so here is a simple fix for it.

Bp_Crowd2SM_fix

1 Like

Hi all;

First off, thanks for the great share!! This tutorial is so helpful!! Especially combined with the BP in your Github! Top!

Now; how can we get this working on mobile?? I baked the animations using the AnimToTexture plugin following your tutorial, even the same mesh from Mixamo… But, when I test the *.apk on device (and in editor AS device), all the animated zombies are in T-pose :frowning:

Is there any specific settings to be turned on/off for mobile?? Anyone has this working on mobile?