Sprite Animation Node

Since animating sprites or video textures don’t currently work out of the box in UPBGE EEVEE, I put together a node group that will allow something similar by using a sprite sheet and animating it’s values.

In the video there is five separate planes (each uv unwrapped) with the same material and a 2048x2048 Blender generated Color Grid used as the sprite sheet.

Within the material there is two separate “Sprite Animator” nodes that are assigned by the Object Index/Pass Index. The larger plane is set to Pass Index 1 and sequentially cycles through all 256 “sprites/frames”, while the four small planes are set to Pass Index 0 and are animated to only cycle through a column that is assigned randomly(the same can be similarly done for rows). A use for this can be to have an 8x8 flame sprite sheet with 8 different rows of flames and using the Object Info node to randomly assign a row to each object and then animating the frame value for a 1 to 8 action. The last step would be to set up the action actuator within one of the objects that contains that material. Something that would be helpful would be if an object’s Pass Index could be controlled through properties or animations so that an object can toggle animations within its material.
There is more I would like to add and modify so any feedback is welcome.

At some point some of my .blend files crash blender if I delete an object after reopening them. This has happened for almost all builds of UPBGE EEVEE but not for all files. Whenever this happens I just reopen the file and before doing anything else I create a new scene (New/Copy Settings/Linked Copy/Full Copy) and delete that same scene, and somehow that prevents it from crashing. The blend file attached has the above issue on my computer, so try my solution or append the node group “Sprite Animator” to another .blend.

Sprite Animation Node.blend (1.8 MB)

1 Like

Nice. Thank You. That remember me to my TileTex5in1 Script from pre Shader Times. :smiley:

Just use object color and add it to the uv,

Have it start at bottom left.

I have a recent post in resources.

You can key frame object color to make sheet animations (you have to choose the flat interpolation mode)

This gives you the ability to drive hundreds of Obj individually