I'm currently creating a dial where the needle is a separate texture. I would like to be able to turn the needle around the dial via the mapping node, as this will allow me to randomize the needle's position for multiple instances.

the guage

However, when using the mapping node and adjusting the "rotate" value, the needle does not spin around the center of the UV map (0-1 UV space). It instead rotates around...somewhere else.

rotation nodes wrong spin

How can I get it to properly rotate around the center of the dial?

Blend file:

  • 1
    $\begingroup$ I think this is similar, it only uses scaling instead of rotating: blender.stackexchange.com/questions/71426/… $\endgroup$ – WannaKnow Jan 17 '17 at 1:26
  • $\begingroup$ Yep, that was it. Now I just need to figure out how to interpolate two different rotations... $\endgroup$ – JtheNinja Jan 17 '17 at 1:36

The pivot of an image will always be at the origin, which Blender defines as the bottom left.

The trick to moving the pivot is to actually move the image first, so that the point in the image that you want to be the pivot is over the bottom left (the actual pivot), then do your rotations, and then move it back where you want it.


The lighter orange area is the actual UV space (0-1), the darkened part is outside the UV space but still useful to visualize what's going on.

Notice how the first mapping node's location is negative, and the second mapping node's location is the same but positive.

0.5 is used here to place the pivot in the middle of the image, though you can use whatever values you like as long as they're the same for each mapping node, but inverse.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.