1
$\begingroup$

I have been trying to solve a problem all week, and even started my Blender scene from scratch a couple of times, but I can’t get Geometry Nodes to work properly. I need help. The following explanation may be a bit long and detailed, but I’m trying to make sure I’m not doing anything wrong, and the details may help figure where I’m bungling things up. (Also, forgive me if it gets confusing, at any point: English is not my primary language).

I saw this, done by a Twitter user named @Concinnus, (using other tools either than Blender) and I thought I’d implement something similar using Geometry Nodes:

The image I'm trying to mimic — sort of. Author: @Concinnus, on Twitter

The variation I’m going for uses the sine function of the X position to determine the Z position (I’ll have peaks AND valleys, but that’s OK: I believe it will look good). The sine function for each row is dislocated a bit, but it’s the same function.

I have a grid 2m x 4m, with 100 vertices in the X axis and 200 in the Y axis:

The Parameters I'm using.

Here’s my node tree, with the spreadsheet and the erroneous result (in orthogonal view):

Node tree, spreadsheet and result.

  1. I start by separating the position in PosX, PosY and PosZ.
  2. Then I map PosX from 0 to 2π (it’s a blessing just being able to type tau in the float field and see Blender gets it right). I store it in PosXTau.
  3. I use the Frame ID to animate the curve, so I map it also from 0 to 2π and subtract it from PosXTau.

Here’s where things start to get weird:

  1. I use PosY to shift the curve for each row. For such, first I map PosY to 0 to 1.
  2. Then I create DeltaY, which is 1/200 of 2π, 200 being the number of rows in the Y direction.
  3. I then proceed to add DeltaY to PosXTau and leave the result in PosXTau.
  4. I calculate the sine of PosXTau and store the result in PosZ
  5. I recombine the position vector with PosX, PosY and PosZ

The result should be my sine function sinuously curving in the y direction as well as in the X direction, but that doesn’t happen, as can be seen in the 3D View Port. It curves correctly along the X axis, but is “flat” along the Y axis.

What gets me is that I can see with my own eyes that both PosZ and the z component of the position vector are, indeed varying along the Y axis, as can be seen in the spreadsheet but, alas, it remains flat in the 3D view.

The spreadsheet shows that there should be variation inZ as the vertices go further back in the Y axis.

Someone pointed out to me that although PosZ is changing, it is a small change, and so I should multiply it by a large number and see if it registered visibly in the object. I did just that, bu to no avail. In the image below I multiplied PosZ by 100, but the sides continue to be "flat", although the PosZ Variation should reach 3.14m (for scale, from the leftmost portion to the rightmost portion of the image, there is a distance of 4m):

The resulting image and spreadsheet with PosZ multiplied by 100, to facilitate viewing the erroneous result.

Can anybody please explain what I’m doing wrong and help me get to the expected result?

$\endgroup$
6
  • 1
    $\begingroup$ What happens if you input just the Y coordinates, made to alter something simple, like +1 on the Z - Does the "y mapping" work correctly on its own (without the X manipulation)? $\endgroup$ Aug 7, 2021 at 0:53
  • 1
    $\begingroup$ would you provide your blend file to make it easier for us to help? $\endgroup$
    – Chris
    Aug 7, 2021 at 5:21
  • 1
    $\begingroup$ do you want that? [1]: i.stack.imgur.com/P3ZyB.gif $\endgroup$
    – Chris
    Aug 7, 2021 at 5:48
  • $\begingroup$ @ChristopherBennett I made a simple, small scene where I add the value of Y to the SineX and it works. It's essentially what I'm doing in my actual file, so I still don't know why it doesn't work there. Here's an image of the result, the spreadsheet and the nodes: imgur.com/a/ZSPwQcd $\endgroup$
    – Polterbyte
    Aug 7, 2021 at 10:49
  • $\begingroup$ @Chris My pleasure. Here's the file: pasteall.org/blend/7fe81820d3cc4b15ad56c3323af30ee3 $\endgroup$
    – Polterbyte
    Aug 7, 2021 at 10:50

1 Answer 1

0
$\begingroup$

Here is a crazy thing for you:

enter image description here

enter image description here

enter image description here

Have fun with it!


(Blender 3.2 !)

$\endgroup$

You must log in to answer this question.

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