making a flat face become a sine wave procedurally

Contests and Challenges

I am trying to make columns of various dimensions with the same sine-wave texture that is in scale and multiplies in waves depending on the dimension.

How would you go about this?


  • spikeyxxx replied

    You can use Shader Nodes:

    Cycles only and needs to be rendered.

    Or try something with Geometry Nodes, for instance:

    A bit tricky to get the edges correct, but it works. You can also use two Wave Textures here, one in X- and the other in Y-direction.

  • talkingskunk replied

    Wow. Thank you! I might try the Geometry way if this doesn't work:

    I created a mesh using a math function for sine wave, and converted the perimeter of the column mesh (post014) into a Curve. But the corners are off. A little advice here would be appreciated as well.

    Creating plane mesh to parent the actual sine wave object. then adding modifiers to plane mesh.


    Plane mesh instancing the sine wave object child.


  • spikeyxxx replied

    For the corners, I would make sure you end your sinewave for the sides at a convenient multiple of pi:

  • talkingskunk replied

    It was impossible with the curve. I tried the Geometry node solution, but I sadly had difficult time making the corners all the same.

    I ended up making 4 sine wave objects for the 4 sides, then joining them into one object. It took some time to do it for all 19 columns, but it looks perfect.

    Thank you so much for brainstorming with me!