Vertex Animation Script for Blender 3D Users

Josh! This looks amazing… although I am lost right at the start. Where do we install these scripts?

Seeing how it’s pretty straight forward I guess it was pretty lazy of me to leave it out. You want to go to the add-on’s section of the user preferences (edit > preferences > add-on’s). You want to hit the install button and navigate to the downloaded add file in the browser that pops up. Select the add-on file and click install add-on.

2.9x version?

Pleaaaaaaaase ?

EDIT: Hey!. So i installed Blender 2.83.4 returning from 2.90, just for this.
And when I tried to install it, says: Upgrade to 2.8x required!

I just merged a 2.83 update to the master branch. If people really would like a 2.9 update it’s not going to require much I can open a new branch. I’m going to start work on the two versions of pivot painter though and upgrading the vertex animation script to it’s full functionality. I might also change the way mesh morpher works.

Hi I managed to get it installed as an add on but it won’t run

using blender 2.90.0
​​​​​​​Heres the error


Yeah, sorry big oof there. There was a typo. I probably should write some unit tests since these are just going to get bigger.

For you to know:
I went to this page:…s/pull/8/files
I copypasted the whole code (obviously, from the script who is named ‘vertex animation’), and paste it in .txt file. I renamed it as .py
I installed it in Blender from that file and now is working happily in 2.90

I asked this in the past and no one responded - why use this workflow instead of Alembic ?!

The vertex animation and mesh morpher scripts are for creating static meshes to be animated with a vertex shader. This way they can be used in a particle system via Cascade or Niagara. I’m assuming the memory cost of a static mesh with vertex colors and extra UV’s or some tiny textures is much cheaper than that of an alembic geometry cache. Not to mention the control you gain over the effect in Cascade or Niagara or even Blueprint using material parameters. If you needed a nice fluid/cloth simulation alembic might be the way to go. Especially since I don’t have the key frame mesh functionality working. With this functionality you could break up a fluid sim into different mesh emitters gaining lots of control over the effect.

I see… What about baked sim effects like tower/bridge crumbling down or something exploding into pieces ? Would Alembic be a better choice for this kind of stuff ?

I am mostly concerned with performance on Android (Oculus Quest in particular) and ease of setting it all up. I don’t really need high fidelity control over parameters and I am definitely not materials/shaders guru :o

No I would not use this method and this method alone to achieve an effect like you’re describing. I’m assuming this sort of effect would be some what complex. I would say it all really depends on the desired scale, style, and fidelity of the effect, as well as the role of the effect in your project.

I have a cube that animates a short distance along the y-axis, nothing complex. The normals have 8 colors (one for each vertex I assume). The animation works, but the shading is clearly wrong. Perhaps I missed a step? I think I have all the proper settings applied to the normal texture.

Make sure you have un-checked the “Tangent Space Normal” option in your materials’ details panel. Also did you export and import normals from blender with the mesh and if so what options did you choose.…n_Normals.webp

hey! thanks a lot for this plugin, i am about to use this to create a butterfly effect for unreal, and i noticed that you advised we use mesh morpher. although i cannot figure out how we are supposed to use mesh morpher? Am i missing the documentation for this somwhere? how is it intended to be used?

Thanks again, I will proceed for now with vertex animations :slight_smile:

Hmm, something didnt work out for me. I thought I followed the steps very closely. No animations happening in unreal.

I suspect it might be something to do with my unreal config, which I’m going to keep working on but does this look right for the images generated by the plugin? I noticed that for some reason I did not get a “morphs” texture, but rather mine was called “offsets” - is that the same thing? its a vertex animation for an extremely simple 12 frame butterfly flapping animation.

Screenshot 2021-01-14 142802.png
Screenshot 2021-01-14 142817.png

Yes, I changed the named of the generated texture to offsets I thought it was more on the nose. The textures look right. It looks like you’re mesh has 10 vertices. Are you using the generated export mesh? The UVs in the images are not from the generated UV channel I can tell that at least. I would really need some screen shots of your mesh settings in Unreal and of your material setup.

[USER=“644194”]Josh Bogart[/USER] I know this is a big thing to ask but is there any chance you’ll consider porting the StaticMeshSkeletalAnimation (in Engine\Extras\3dsMaxScripts) maxscript? Jonathan Lindquist mentioned it was used for the beetles in the UE5 demo and the material side implementation is available in the Niagara content examples. I couldn’t find any documentation on it but from his description it seems to be able to more efficiently store data.

Regardless, thank you for taking the time to port the VertexAnimationTools script for us. Very grateful for that.

Rather interested in this myself now. I’m also curious as to how I can leverage UDIMs for this. I was advised Sub-UV might be a better option but if this 3dsm plugin is anything to go by, it might be what I am looking for.

This is amazing! I have a question, does the shader that handle the world position offset of the animation have any frame step interpolation? I mean the way Skeletal Animations have, where there is a blending between one frame and the other, and it works perfectly in situations where the display framerate is higher than of the animation (mainly in slow motion and higher monitor refresh rates)

Hi! I love your tool it’s really useful. I was wondering if there’s a reason that meshes with hard edges appear smoothed when using the generated normal texture? Is there a way around this? Or have I done something wrong? Thanks!

Edit: I tried it with another mesh and it seems that my normal output always looks a bit weird. I’m not sure if it’s the material function or the texture.

Weird shading: