2
$\begingroup$

Update:

Thanks to Gorgious for helping me answer my specific question. Here's that setup for anyone that might find it useful: enter image description here

Thanks to Gordon for providing a much better way to do the whole project!

ORIGINAL POST:

I'm trying to create a basic pyramid, but can't figure out how to scale the entire structure to a single point. I've been trying to solve this specific problem for hours and can't find a solution. I'd really appreciate any help.

enter image description here

I know I can just apply the modifier and scale it in edit mode, but the point of this exercise is to expand my knowledge of geometry nodes. I'd really appreciate any help. Cheers!

Here's an example of my desired end result that I modeled: enter image description here

$\endgroup$
7
  • 1
    $\begingroup$ Use a Set Position and multiply X and Y Position by Z ? $\endgroup$
    – Gorgious
    Commented Dec 6, 2022 at 7:53
  • $\begingroup$ @Gorgious That was it! Ugh. Thank you so much. I kept looking for nodes related to scale. If you want to make an answer, I'll checkmark it. $\endgroup$ Commented Dec 6, 2022 at 21:00
  • $\begingroup$ @MaxWilliams You could add your own answer in the answer area, below, to later mark your question $\endgroup$
    – Emir
    Commented Dec 6, 2022 at 21:18
  • 1
    $\begingroup$ @Emir I just want to give credit where it's due for the internet points :P $\endgroup$ Commented Dec 6, 2022 at 21:20
  • 2
    $\begingroup$ You can go ahead and post your answer and accept it, seeing as you already wrote it :) I don't mind at all $\endgroup$
    – Gorgious
    Commented Dec 7, 2022 at 8:07

1 Answer 1

5
$\begingroup$

When you posted your question about the pyramid, I actually had an object more like this in mind:

basic pyramid

So I came up with something different, this is not an answer to your original question but since you said the point of this exercise is to expand your knowledge on Geometry Nodes, I thought I'll just leave it here.

My idea was to start with a square base where I can set the number of blocks for one side which I can set as input parameter. The width/length should be the same as the height and are controlled by an input parameter as well (that's width/length/height of the points where the blocks are placed not the dimension overall).

I had a Quadrilateral as base being instanced upwards on a Curve Line and scaled down towards the top. Then building upwards I wanted each layer of blocks to have one block less per side than the layer below. I achieved this with using the index of the instances as counter.

Then I just had to use cubes for the pyramid blocks, adjust their size according to how many rows there are overall and at the end I moved them up a little to sit on the floor plane. I'm not going to explain it all since this is not even an answer to the question, but here's the node setup and at the end I'll upload the file. I'm sure this can be optimised somehow:

nodetree

Playing with the size and number of blocks you can adjust the pyramid to your liking:

pyramid animation

And here's the file:

$\endgroup$
1
  • $\begingroup$ You're an absolute wizard! After I implemented the "solution" in my edited post, I realized the results aren't really want I wanted for two reasons (1. I still needed to offset every other layer; 2. The brick dimensions become significantly less consistent with height). So I spent the entire day trying to figure out how to do exactly what you've just posted. Thank you so much. I'm excited to implement this method and pick it apart! <3 $\endgroup$ Commented Dec 7, 2022 at 18:43

You must log in to answer this question.

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