Zooming In/Out on a Texture Using Nodes

uv
texture
unity
shaders

#1

Hey guys!

I have a quick question. I have a texture that I want to be able to scale up and down, however when I adjust the UV’s it scales up and down using the bottom-left corner. (0,0 UV, which makes sense) I was wondering if there is a simple technique for doing the same thing, except with using the middle (.5, .5) as the origin instead.

I’m currently using Amplify Shader editor, and looking for a solution that I’m sure is easier then I’m making it, but figured I would ask in case there is a quick answer that would be worth if for me to learn!

Thanks for the help guys!


#2

Invert your X,Y tiling value (1-x) multiply by 0.5 to get half, add that value back into to your original tiling value. That should keep it centered regardless of what your tiling on x and y are


#3

I’ve tried to create this, but it doesn’t seem to be working. Perhaps I’m misreading something?


#4

Ah, use a One Minus node instead of multiplying by -1


#5

Ok, that got it close! It does seem to scale from the “center” of the texture now, but its still using 0,0 as the origin for the scale.

This is the motion I am trying to create, using the green as the center point, rather then the red.
WfYU94qclA


#6

Try


#7

And this is Travis’ method.
Try making the scale parameter more friendly here as it’s inverted (0.5 is twice as big, 2 is half as big)


#8

Awesome! That one worked for me! Thank, both of you guys for the help!