4
$\begingroup$

Elaboration on question:

To elaborate I want to have a wave pattern go along this spiral. The wave pattern needs consistency (i.e. currently in some sections of the spiral the wave pattern seems to fade while other parts seem to have a more consistent pattern - the pattern does not stay the same throughout) all the way through the curve because I will turn this curve into points. I will then instance a collection on those points. So, in the end I will have objects instanced along a spiral curve, that move up and down on the Z axis, in a consistent fashion.

Node Setup:

I want to note you can ignore the curve to mesh as I only put it there to give greater visibility in the picture but it won't be used in actuality. I have Color-ramp plugged into Math Node set to multiple to control the size of wave. Then plugged Combine XYZ node into switch. This is so the wave only takes place on Z axis. The Math node set to divide is to control speed at which wave flows.

Restatement of question and my current understanding:

I want to understand how to get a consistent wave pattern along a spiral curve. Note that the curve height and speed can already be controlled. Also note, that I understand that Scale determines how texture lays along curve but even when I change scale, things still don't become consistent... why do I not get consistency along curve? I marked in the photo where the wave pattern suddenly changes consistency. It seems to change at the maximum height of the bend of the spiral... not sure though.

Screenshot of wave pattern along spiral curve

If anyone could help it would mean a lot. Also if you anything that is superfluous please let me know.

$\endgroup$
2
  • 1
    $\begingroup$ Have you tried aligning the Wave Texture to the Z-axis instead of the X-axis? $\endgroup$
    – Vagabonk
    Mar 1, 2023 at 0:57
  • 1
    $\begingroup$ @Vagabonk That won't help :) .. see answers. $\endgroup$
    – Robin Betts
    Mar 1, 2023 at 9:15

2 Answers 2

7
$\begingroup$

i would try it with sin like this:

enter image description here

result:

enter image description here

$\endgroup$
4
$\begingroup$

Your wave texture is in the wrong space. (Object Space). It is straight wave-fronts down the X of that space. Where the spiral runs across the wave, it will be steep. Where the spiral is parallel to the wave, it will be shallow:

enter image description here

Instead, as Chris shows in his answer, you need a dimension that runs along the spiral:

enter image description here

Superfluous: the Switch node. For Z-only, you can always pass (0,0,your_Z) with Combine XYZ, or your_vector*(0,0,1) with Vector Multiply

$\endgroup$
3
  • $\begingroup$ The Wave (Sine) (X) texture returns sin(whatever X you give it) By default Geometry Nodes works in Object Space or 'Position' ( measured in Blender Units, along the modified object's own XYZ axes, after any object level rotation and scale ) The X of that space runs along the Local X of the object. In my illustrations the plane is deformed by the same texture as the spiral. For the bottom result, we tell Wave to consider X to be measured along the spiral itself instead, by feeding it Spline Parameter (Factor) which returns 0,,1 along the splines's length. $\endgroup$
    – Robin Betts
    Mar 2, 2023 at 22:07
  • $\begingroup$ Thank you @RobinBetts and Chris , I wanted to ask for a quick clarification. You mentioned that I was in the "wrong space". I am somewhat familiar with this concept in texturing - and how we can use the mapping node to correct for certain things. It seems to me that you used the "Spline P. node" with "Combine X.." as a way to correct space. Essentially you mapped that wave texture to the X... then told spiral to be off set on the Z based on the X mapping? I checked Blender Doc. and it says if vector is left unplugged it defaults " Generated Texture coordinate"... which I think broke mine. $\endgroup$
    – WessyWes
    Mar 2, 2023 at 22:27
  • $\begingroup$ Ah, Okay I see now. You ref. the spline it's self (using factor 0-1 of spline), where as before I was actually ref. the object I initially used to create the system in the first place.... So you told blender " Hey sin X of this spline ( our spiral), then off set the spiral on the Z axis- based on sin X (wave texture) of that same spline... very cool. So it's kind of like you created your own space for the spline... Thanks again. Explaining the actual function of wave texture- and what it was being applied to helped a lot. $\endgroup$
    – WessyWes
    Mar 2, 2023 at 22:44

You must log in to answer this question.

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