UV Offset modifier


I’ve written a simple UV offset modifier.
It’s very useful in cut-out style animation.
I want to get a review and finally get it into official releases.
Movie showing modifier in action:

If anyone can help me with it or with making some test builds, probably on graphicall, let me know.


Oh that looks very interesting!
I’d love to try it. Do you have a patch for it?

Yes, I’ve got a patch for it.
Probably the best thing to do is contact some poeple from graphicall and ask them to release some builds with it.

Anyone from graphicall reading this?

I’ve compiled my version on Ubuntu.
Coding was just copy-pasting from other modifiers.
Patch is just simple svn diff.
If you have problems with this contact me.


uvoffsetmodifier.patch.zip (4.3 KB)

Hi pkowal1982

Thanks for the patch. Looks very useful and here are Win builds for testers.


I love it!

Is there a tutorial in order to learn how to use it?

Now, when there’s a build for Windows - thank you demohero! - I’ll try to make a small tutorial how you can use the modifier.

Anyone can help with other operating system builds?

Hi again,

I have played with it and I really find it useful, I think it is a great tool for animators.
I would suggest you to:

  1. Create a standalone addon so that we should not download a modified version of blender
  2. Create a tutorial and/or site so that we can understand your workflow and full potential of the tool
  3. Add the funcionality to rotate and scale, I mean, if I rotate or scale the empty object (UV offset modifier Target) it rotates or scales the texture… it would be perfect!

Thanks for your efforts, I really found a great Blender addon.

Well done!!! I need this for a long time,good for using 2D element in Blender,nice idea with vertex group function.
maybe you can add an option to use just number to control the offset,like:
“Row Numbers = 4 , Col Numbers = 5”
A.using 2 axis offset “Row Offset =2 , Col Offset =1”
B.using number offset “Number = 1”
so than it’s easy to use typical 2d sprite sheet with less driver work.

I’ve made a video tutorial for using modifier.
I gathered all information on this page: http://kompak.pl/index.php?id=28

oh, this is wonderful!!

still the tutorial is so brief that i cannot understand how to make the bones so that they can change the character’s mouth :expressionless:

@AlexDS study carefully the .blend file on tutorial homepage. Bones are the target for offset modifier - as they move, uvs move to new coordinates with different part of texture, in this case with eyes or mouth drawn different way.

@harrisyu it’s probably not easier to animate with setting keyframe numbers - first it assumes special texture format - grids and rows. As it’s done now you can of course use grids and rows layout but it’s only special case. I like to have all of character’s textures in one place and different parts of body take different amount of space so they don’t fit to this layout. Second, you’ll probably agree that animating with graphicall symbols is easier than with setting numbers. With numbers you have to remember that 3 stands for eyes closed and 4 for left eye open…
And creating helper object for grid row layout is trivial (it’s always trivial).

@eXKR it’s written in C and addons are in Python (correct me if I’m wrong). I think it should stay in C because of performance reasons.
For what purposes do you need to scale or rotate uvs?

Tutorial is ready but if there will be voices it’s too brief I’ll add some screenshots with info.

oh, i didn’t know there’s a .blend file :smiley:
thank you so much then, i will understand for sure.
and…you rock! :wink:

I don’t think you will have performance issues if you translate the addon into Python and allow this way to import it as a regular addon into any Blender installation and forget about custom builds… in fact, I’m Mac user and by now I’m not able to run it this this OS because I don’t know to compile Blender and because no one has done it for us…

I haven’t started a real project with your fantastic modifier but I guess it can be useful in some situations (for example if you are using some textures with different resolutions and want “on the fly” resize the bigger one to fit the lower one resolution).

Hi!thanks for you reply,I agree with you.do you have plan to fix it for mesh?

@harrisyu What do you mean “fix it for mesh”? You want to use it with non flat geometry?

I think he means… fix it so that it will work with Bmesh… just tried to patch it into current SVN with no joy.

Have knocked up a special non-Bmesh Linux 64bit edition that includes your modifier.



As you can see there’s a build for Linux64 on graphicall.
KineticEgg thank you very much!
Splash screen is very nice. :slight_smile:

@eXKR I’m trying to reach any Mac builder so you could test the modifier. But if you can’t wait I think you can install Linux on Mac and use KineticEgg’s work…

Thanks a lot pkowal1982, anyway I have tried it at work, there we have Win machines so I had the opportunity to test it :wink:

it`s wonderful, thanks