Can I control an animated texture using an Ipo driver?

I have an animated texture (but I could also work with a series of images), and I would like to be able to control which frame/image is shown using an Ipo driver. For example, in frame 1 I’d like to display frame 1 of the texture, then on frame 2, I’d like to jump to frame 4 of the texture. Is this possible?

I’ve looked at the channels available in the Ipo editor for textures, but I don’t see a channel that controls frames for an animated texture. I’ve also searched google and read the manual, but have had no luck there either. Any ideas?

Why not use the VSE to create the frame timings for your texture? Ie: in your example, cut frames 2 and 3 from the animated texture file?

Thing is, I’d like to use all frames on my animated texture. I just need to jump around them at different points. I’ll explain what I’m trying to do and maybe someone can tell me if there’s a better way of doing it: I’m doing some 2D animation where the animated texture contains different shapes of a 2D mouth. As the character speaks, I’d like to use this texture instead of having the mouth be part of the character’s mesh. I’ve seen other people use 2D textures to animate mouth and eyes in Blender, but I just haven’t been able to figure out how they do it.

I presume you have a video file that is textured onto your mesh. I don’t know if there’s a way to dynamically jump around in the file or not, but perhaps what the other people are doing is just creating a video file that plays in sync with whatever the mesh is doing. Ie:

Frames 1 to 20: character is smiling.
Frames 21 to 40: character is off camera so leave black
Frames 41 to 60: character is frowning
Frames 61 to 80: smiling again, so duplicate fr. 1 to 20 into fr. 61 to 80.

I think you may want Holly’s script, she has done a lot of work with 2D mouth texturing.

I appreciate all the replies. Atom, Holly’s script is exactly what I was looking for. You don’t know how many hours I’ve spent the past couple of weeks searching google, and several forums for something like this. Thanks a bunch!

Oh my goodness man! Is this the answer I’ve been searching for? I gave up long ago: