Vertex Animation Toolset, crowd rendering

-The textures are 2048 in the videos and content just as examples, the tool supports any arbitrary resolution.

-Animation blending can be done by using same scale encoding technique I do in the examples, since its a pretty common feature I’ll see about including an implementation in the content examples.

-The tool allows for multiple animations to be packed into only one texture and all LODs can access that one texture by using the additional UV Channel designated for looking up the same pixel coordinates in the textures, all the examples in the videos use only 2 textures (1º for position offsets and 2º for normals).

Cheers.

sorry we came up with the method and implementation in-house, I don’t have any docs or links

oh, very nice
then I’d only suggest the option to make textures as small as possible with the baked data, cropping the unnecessary part

@CoquiGames

-Animation Selection is done by using something I call Scale Encoding, which allows you to set some custom float data per instance that you can then change through blueprint, you can find more details about it in the Documentation.

-If you are asking for the collision on the videos, the instances have no collision resolution in those examples, there is however an implementation of an Instanced Static mesh->Character hybrid in the content examples that simply updates the Instances along with their corresponding character, thus leaving the collision resolution side to each character actor.

-UE 4’s texture resolution limit is 8192x8192 (2048x2048 on mobile), data is stored along the X axis of the texture and each frame along the Y axis, so a mesh with 8192 verts can have up to 8192 frames of animation in total, that you later distribute between the different animations.

Cheers.

Question: Wouldnt it make more sense if the Plugin itself determined the texture resolution based on the Vertex Anim Profile? Would be way less trouble for the user? I checked the video and the amount of time spent on entering texture resolution is quite high and feels pretty redundant?

Thanks for the clarification! I bought it to show support and encourage you to post it in the MP. This plugin has huge potential - it just needs good example content :).

Btw. I am not sure what the problem is but I cannot open the current rar-file with 7zip. Says it is corrupted. Tried several times to different locations. Would be great to hear back from you @Hethger

https://www.7-zip.org/faq.html


**Why can't 7-Zip open some RAR archives?**
7-Zip 9.20 supports RAR 2/3/4 formats only and doesn't support RAR5 archives. But latest versions of 7-Zip supports RAR5 archives.

I just use winrar to compress and open, nobody has ever told me they can’t open a .rar I’ve sent them, so I don’t know.

@Hethger A, great catch. Time to update 7zip. Never thought about this, often times it is a corrupted download or something. Anyway, thank you very much!

Little update to Example Project:
-Added example of different LODs of the same mesh using same texture for animation.
-Added example of blending between multiple animations using scale encoding per instance.
-Added Blending between the different animations of the 120 agent example, now it smoothly transitions between idle, walking and running.
-Added comments to the materials and blueprints for better reference.

Here are some screenshots of the example project:
Captura.JPG
Captura2.JPG



2 Likes

@Hethger New Example looks awesome - did you update the Gumroad download with it? Would love to test it out

Q1 Wouldnt it make more sense if the Plugin itself determined the texture resolution based on the Vertex Anim Profile? Would be way less trouble for the user? I checked the video and the amount of time spent on entering texture resolution is quite high and feels pretty redundant?

Q2: Would it make sense to keep the data asset in the example content? Ofc this would require to have the Plugin already in there? Which would be convenient if you do not want to copy your Plugin into the engine plugins.

-I’d rather keep the choice of resolution up to the user as there can be a lot of special cases. Also setting the texture resolution is just a 1 minute process you only have to do once per skeletal mesh.

-Are you asking for the Mannequin Vertex Anim Profile that was used to bake the animation of the example content project? Or are you asking if you need to create a Profile and keep it in the example project in order for it to work? Since the binaries are included you just have to grab the “VertexAnimToolset” folder under the “VertexAnimToolset_4-22” folder, and either drop it inside a “Plugins” folder of whatever project you want to use the plugin with, or inside the “…\UE_4.22\Engine\Plugins\Marketplace” folder to have it enabled on all of your engine projects.

Cheers.

Yes, you can download it again from gumroad or grab it directly from here Dropbox - File Deleted

  1. Well, maybe have an auto and manual mode but I understand your decision. And no, you have to fill in texture resolution 3 times. In Texture Res, in Bake profile and in the Material Editor. So because this is quite repetitive, I thought you could change that. For Example the Data Asset could retrieve the texture resolution from the textures that are plugged into it. Or maybe the user enters texture resolution into the Data Asset and then there is a button to auto-generate the textures and render targets. Furthermore, there could also be a function to auto-fill in a material, although I am not sure how much work this is and if you can add all the nodes properly connected via C++. Anyway, this is just feedback and suggestion for improvement.
    Maybe it would be a great idea to retrieve almost every data from the data asset. So when you click on “bake anim” in skeletal mesh editor, the user selects the Vertex Anim Profile and then it already knows which textures to use. No need to select them again manually. Or is there a purpose in doing so? Just ideas. Cheers

  2. And yes, the Mannequin Vertex Anim Profile. This way, a user can compare the values for the material and better understand, although after 2-3 times, it is quite obvious but why not.

  3. And yes, I proposed to just add the binaries so that users dont have to copy stuff around, especially since this is the example project which relies on the plugin anyway. This is just a service for your users. :wink:

In general, I tested the tool with a rather ■■■■■■ skeletal mesh and after fixing the number of frames, it was quite the great result and really fast and easy to use. :slight_smile:

Plugin has been released to the Marketplace! Vertex Anim Toolset in Code Plugins - UE Marketplace

Thanks to everyone who purchased and tried out the beta version. I’ll be contacting everyone about granting access to the plugin through the marketplace soon.

Cheers.

Hello @Hethger

This looks awesome for Hordes (thinking something like Days Gone Freaker Hordes), but can this system also be used to significantly improved performance rendering of *single *ultra high poly character or character assembled from 100s of separate meshes like …

I’d advise against using this technique specifically for that. Because of texture resolution limits, baking the vertex animation for a character with more than 25K verts is only going to allow a few frames of animation.

For that Knack style character you are better off using particles.

Cheers.

I appreciate your response and advise. Thank you.

Oh wow, thank you ! Just checking in, and bought this!! Excited to try it!!

This looks awesome.

Hethger, is there an easy way to get the meshes to rotate/orient from their root? Like for having a bunch of bugs running up a hill/incline.