Probably you want to use UV animation. One way is to have 2 normal maps (and combine them in the shader) but with different UV animation. Just as making one scroll on the x axis and making the other scroll on both x and y and separate speeds. If you have a pre-rendered texture, then use the TIME shader built-in and if it is over a certain amount (like 0.25 seconds) snap the UV to the next coordinate (you could use the modulo or floor operators to do this). In this case your texture array would be one large texture with different sub-textures, like a sprite sheet.