2
$\begingroup$

I've been trying for a while to do this task that seem so simple.. I'm still learning Geometry Node so I apologies if the answer is pretty obvious. ^^

I have a bunch of faces, not attached, that I would like to scale along there own axis (relative to their Normal), perhaps using the scale elements node? Maybe there is a better node for that but this is the closest I could find although it's hard for me to get the correct nodes in the Axis input.

I manage to make it work somehow in both axis but it doesn't work for every face orientation :/

Any ideas for that?

Thank you!

enter image description here

$\endgroup$
1
  • $\begingroup$ If your question was solved, please be so kind and mark the answer that contributed to the solution as "Accepted Answer". This will make it easier for others to see which way leads to the solution, and the question will no longer appear as unsolved. Thank you! Here you can find more information: What should I do when someone answers my question?. If you still didn't get a solution to your question, please be kind enough to address it. $\endgroup$
    – quellenform
    Aug 21, 2022 at 23:18

2 Answers 2

2
$\begingroup$

You would just have to use the Scale Elements node and apply a selection to it.

Something like that:

enter image description here

The vector you use for Axis is then the direction of the scaling.

If you take the cross product of your normals, you can switch the direction:

enter image description here

$\endgroup$
1
  • $\begingroup$ Thank you!It makes sense. This is way simpler than expected :) $\endgroup$ Apr 6, 2022 at 23:57
2
$\begingroup$

You would use the Scale Elements node in Single Axis mode, but of course by default, the Axis values there is only really useful if you want to scale the elements on one of the three directions (X, Y, Z) of the global coordinates (global in the context of the object, not the Blender file at large). If your geometry is somehow rotated off-axis, you need to provide the axis you'd want to use with some vector math. Here's a setup where I'm scaling one face (with Index 98) of my torus on that face's shorter dimension. I get that direction by subtracting the positions of the edges (with Index 130 and 195) on both ends of that direction. The Position input gives us the middle points of those edges:

enter image description here

It's not possible (afaik) to know which indices belong to which elements just by the help of the Spreadsheet, so I'm using the free Attribute Viewer by Ginyumbi here.

$\endgroup$
3
  • $\begingroup$ thanks for sharing the attribute viewer....man, what a node tree!!!! $\endgroup$
    – Chris
    Apr 6, 2022 at 15:30
  • 1
    $\begingroup$ Yeah once I tried changing some options inside but my brain (and eyes) caught on fire in a couple of minutes. Very useful though. $\endgroup$
    – Kuboå
    Apr 6, 2022 at 15:32
  • $\begingroup$ This Attribute viewer is really nice! The method works great too :) Thank you! I got to figure out how to make it more dynamic, so I don't have to enter Index value by hand. $\endgroup$ Apr 6, 2022 at 23:59

You must log in to answer this question.

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