How to rotate a procedural material

I am faking sci-fi towers with windows on each floor by using a procedural texture, but I can't get it to be horizontal instead of vertical.

This is the node setup right now:

This question seems to be about the same thing but for one, I can't read the nodes (which is why I squished the node layout horizontally so all the print is visible in the screenshot), and two, my best stab at copying it doesn't seem to do anything.

So how do I rotate the stripes 90 degrees so they form neat horizontal bands around the axis of the tower? When I change the numbers in the Rotation column of the Mapping node, nothing happens.

• You can always right click on image and select something like 'open image in new tab' (Chrome), or just check here: i.stack.imgur.com/8haQ4.png – cgslav Jul 22 '17 at 19:21
• You can't "Rotate Materials" you can only rotate textures. Anyway you already got it, just rotate the texture coordinates in your Vector Mapping node, maybe 90 degrees in the Y axis will do, depending on your object orientation – Duarte Farrajota Ramos Jul 22 '17 at 23:00
• @LukeD Thanks - i even know that but it had slipped my mind. Unfortunately, the setup from the similar question still doesn't help. – kim holder Jul 24 '17 at 16:03
• @DuarteFarrajotaRamos I have tried repeatedly to do that, and no change in those numbers affects the orientation of the texture at all. However, increasing the Z scale yields a result so similar i'll move on for now. – kim holder Jul 24 '17 at 16:07
• Could you upload .blend file? I'll try it. – cgslav Jul 24 '17 at 17:15

2 Answers

There are several issues with your model that prevent proper results.

1. You have inverted normal in your model - Unrelated to texturing but can cause issues, fix it by ticking Flip in the Screw modifier
2. Your curve object has unnaplied transformations (more importantly scale) and has an offcentered origin point, both of which will negatively affect your texture coordinates and make them harder to work with. Apply scale and properly place the center relative to the object.
3. You inconsistently use Vector type of mapping in Vector Mapping nodes for textures, all should be set to Texture
4. You use duplicate Texture Coordinates Vector mapping and Wave texture nodes which are not necessary
5. Your shader node setup also seems far too convoluted, and looks like it could be simplified.

Here is my proposed node setup to achieve an identical result. Not sure exactly what you final result should look like, you may need to adjust the color ramp node to suit your liking. The Modulo node will control the tiling size.

I experimented with the Rotation values in the Mapping node and found that the bands are horizontal when Y rotation is 45d and X rotation is -35.26d .

-35.26 corresponds to arcsin( -1 / sqrt(3) ) which happens to correspond to the angle between the Z axis and the vector [1,1,1] . I suspect this is because the wave texture uses x+y+z as input into its wave function.

• Then there is something going on with Blender on my system, i guess. Doing that still leaves me with diagonal stripes. The only thing that affects stripe orientation for me is the scale of the Z axis. i.imgur.com/H62pMIQ.png – kim holder Jul 24 '17 at 18:27