Move UV coordinates?

Hi there.

I am wondering how you would go about shifting and objects whole UV map on the x axis by a certain amount. Like if you you have simple mouths or something all laid out side by side, then just shift the coordinates to show a different mouth.

Or better yet, is there a way to only move part of a UV map? So you could have various mouths on one big texture, then just change the mouths without changing the rest of it.


Hi, there are currently a few ways to move the texture on an object (more can be added but Ill not go into this now)

  • adjust each UV via python, (slow if doing per redraw)
  • use a GLSL shader that adjusts UV coords, see YoFrankie lava, probably other examples too
  • use GLSL shaders and assign the mapping to an object that is animated.
  • Not adjust UVs and use an animated texture.

IMHO An actuator that animates the original coords would be useful, or a python function to transform them in 1 go. both would not be hard to write.

I would be awesome to have an actuator or some python that can do it… a while back I proposed an actuator idea that would have similiar playback options as the IPO actuator but for textures… I think it might have been on blender storm…

I did go into quite a bit of detail of how it could be possibly layed out. Something along the lines of putting in postive and neg values into a U and V input to control the direction and then setting wether it loops or uses pingpong etc… and having a framerate setting… and a texture map channel setting to choose which texture map gets moved etc. Maybe it could even be combined with the video texture module to play frames of animation etc??

Anyway… however it’s done… it would another great addition to the GE :wink:

Well what I would like to do is have a texture like the one attached, then just scroll through the mouths or eyes by settting separate properties.


Does anyone have a working example of the mapping input set to object that works in the GE? I can get it to work in a rendered animation, but not in the GE. I tried setting the reference object that is animated to play its IPO, but it still doesnt affect the texture on the other object. Only when I render.

This would be easier than using an animated texture. Although, I have got a workflow now for getting animated textures in, these other methods sound more flexible perhaps.

Also, on the same subject, performance wise, other than the aforementioned UV via python, is there much performance difference between the different methods?


Well, thinking about it some more, I think I need to just move part of the UV layout. Probably with python, but I don’t know how.