Animated texture problem in UPBGE 0.3+ (does not affect alpha sprites)

Whenever I create my own animated “spritesheet” texture map (512x512, 99 frames), then use a tile of 10 on both x and y axis, the image won’t have a seamless animation. In 2.79 / 0.2.5 and below, it works, but in 0.3 and above, it will either loop once and jump back to start frame, or it appears badly distorted and barely animates through any but a few frames.

I think Sprites Animation has something to do with it. Before 0.3 this problem never happened. It also happens a little with sprites unless the image I make is done in a certain way.

I am talking about procedural textures that are rendered in UPBGE and then processed manually in an image editing program like GIMP into a spritesheet. While this worked properly in UPBGE versions before 0.3, in 0.3 and above, it doesnt work properly.

Sprites with alpha are fine.

Also, is there any way to animate the texture in the Sprite Animate node without a keyframe or object colour? Because trying to animate with keyframes just adds unnecessary data to the file I am working on, and in some cases, I want to retain object colour, like electricity, for example.

Hi! Please: what do you mean by “Sprites with alpha are fine.” ? Does it solve the issue?

Do you have an example .blend file with the described problem?

Thank you for your time,

Ortiz.

I created the node group that the node “Sprites Animation” is based on. It’s not based on the old way to animate sprites from before BGE/UPBGE .3, as I never used/tried the old way, so you have to figure out a different way to use the node so that it can fit your needs.

As for animating with keyframes:
ex. If you were to keyframe tile 1 at frame zero in the timeline and at frame sixty you keyframe tile 24 it will also go through the tiles in between those two. To prevent that from happening you could go to the graph editor, select the keyframes, right-click, interpolation mode and then select constant.

If you are using logic bricks, are you using Loop Stop (or End)?

Could you elaborate or show a screenshot of the issue.

If you would like to double check to see if you set the node up properly you can go the following topic to view an explanation as to how the Sprites Animation node should be set up.

What could help here, is a special “Texture Animation” node that works for textures that are not sprites, yet are tiled up into individual frames. You could place that feature in UPBGE, and it would have to be coded to work like how it did in UPBGE 0.2x. I do want the old 0.2x sprites animation system back as a node option or seperate node that would make us able to animate texture normalmaps, etc without having UV scrolling just to fake the effect.

I am a bit nervous around this whole “you want to license your blend with a restrictive algorithm”. I would like to see the old system back as a node sure, but I do not want to get myself into trouble.

What is a restrictive algorithm?
And what do you mean by “license your blend with a restrictive license”. Because I really don’t want to get into trouble here.

This topic wasn’t meant to turn into something about licensing a feature. It was to see if I could solve something wrong with these watermap images - they animate properly in UPBGE 0.2x, but in 0.3x, they never animate properly.

I also never provided a blend. And I do not like handling legal stuff. That stuff scares me a bit. I do not develop Blender/UPBGE. I just use UPBGE as a hobby, and Blender for making my own animated images/animations.

I’m sorry about this whole “license your blend thing”, but as I don’t know which way to turn, I might have to decline this offer to “license your blend with a restrictive algorithm”', as I see this as legal stuff, and I am a bit scared this could go wrong.

So sorry if the preview of the linked topic was misleading. I meant for you to open that topic and that it will show an image of how that specific node needs to be set up.

The license stuff was only directed at me since I came up with the math of how that node works and was being asked permission to add it to UPBGE.

1 Like

Hello @WhiteRoses54 IceCat332!

If you scroll down the post that @KazRuiz mentioned you will see that he accepted Bernal’s request to merge the node into UPBGE.

As for the .blend file you don’t need to upload your work.

All I was asking for was a simple .blend file where we could see the problem isolated.

Greetings,

Ortiz

Go ahead, you can merge or add that Texture animation node if you want. It should be noted that it should be an UPBGE only node and it should be aimed at textures that are split into frames (like how Minecraft does it for water and lava), not sprites, so this would be a special animation node.

There is also another slightly off-topic question I want to ask. When is UPBGE 0.36 coming for macOS? I browse the area to see, and while there is an UPBGE 0.36, its only for windows! I use a Mac, not a PC.

To reproduce the issue:

  1. Open a new scene in UPBGE, replace default cube with plane, and create a material with a Principled node.

  2. Add an image texture of a watermap or something else, like a watermap from Minecraft, or make one yourself (make sure it is split into frames or it won’t work!!) It may take some fiddling around, and you may want to use GIMP to manually split your own image if rendered in Blender for that purpose.

  3. Use Sprites Animation node to animate the texture. Preferably, use Object Colour to drive the frames, and set the tiles to the image frames.

  4. Set up a Python script to increase the object colour to animate the image (or do it via keyframes with an Action actuator set as Loop End). If done right, the image will bounce back at the end of the animation, or appear distorted.

@ChicOrtiz, “Sprites with alpha are fine” means that normal sprites (like a flower or swirling leaves) with one image after the other that are separated by complete transparency (alpha 0), behave normally and do not have this behaviour of clipping, jerking, or snapping back unless the frames or tiles are set incorrectly.

Sorry for the mixup. Its what you see in old 90s video games, they used spritesheets for characters, enemies, and other things like the environment.

It’s not necessarily an UPBGE only node, but I made it with UPBGE in mind. If you go to the topic I previously linked you will see that there is a download link called “Sprite Animator v2” (the original node group), which can be appended to any blend file (at least Blender 3.0 and up). It has the same result as the “Sprites Animation” node, but you don’t have to add the UV and Mapping node to the node group.

To my knowledge the devs who create builds for UPBGE don’t always have access to a Mac so those particular builds are much less frequent.

Here is an example made with keyframes and the Action actuator

1 Like