I'm trying to animate a texture on an object. I've got the material set up on the object, and the node setup uses the Texture Coordinate node with an Empty plugged into the vector socket of the texture (and then into a Color Ramp, but that's not really important) so that when I rotate the Empty, the texture rotates. That works perfectly.

What I'd like to do is essentially duplicate that setup, and use a Mix Shader node to combine them, but have it so that the second instance rotates in the opposite direction.

enter image description here

So if I rotate the Empty 90 degrees X, Texture 1 will rotate 90 degrees X but Texture 2 will rotate -90 degrees X. I know I could just create a second Empty and use that and then animate them separately, but I'm trying to avoid that, and it just seems like it should be possible to do this.

Anyway, I'd really appreciate any help.

Thanks :)

  • $\begingroup$ I'm confused. Is this your node setup with both textures already? And you want to drive the bottom one in the opposite direction? Why is one "object" and the other "generated"? I think you're right, and it shouldn't be hard to accomplish, once I figure out what "it" is. :) $\endgroup$
    – Ron Jensen
    Aug 7, 2020 at 22:07
  • $\begingroup$ Is the use of an empty a requirement or would a node-only solution be fine as well? $\endgroup$
    – Robert Gützkow
    Aug 7, 2020 at 22:12
  • $\begingroup$ Yes, this is the node setup, but they should both be "object." Sorry for the confusion :) $\endgroup$ Aug 7, 2020 at 22:24
  • $\begingroup$ A node solution would also work, but I was really hoping to find an Empty solution because it'll make it easier to animate later on. $\endgroup$ Aug 7, 2020 at 22:25
  • $\begingroup$ That's alright. Is it only supposed to rotate around the x-axis? $\endgroup$
    – Robert Gützkow
    Aug 7, 2020 at 22:27

1 Answer 1


After much fiddling with nodes and materials, I couldn't get the direction of rotation to change. What I ended up doing was creating an empty and adding inverted copy rotation and child of... constraints as shows below. The primary control is "CTRL_TextureRotation" and then the material is setup as you have shown, with one texture coordinate driven by the empty and the other by the controller.

Texture Rotation Empty

  • $\begingroup$ Yes! This worked perfectly! Thank you. I was so focused on trying to figure out a node solution so that I only had to animate one empty that I didn't even think of this. Thank you so much! $\endgroup$ Aug 8, 2020 at 19:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .