2
$\begingroup$

I've connected rectangles in an L-shape loop and staggered them across layers. However, I'm struggling to figure out how to randomly delete some of the rectangles on the four faces to create gaps.

have any suggested approaches?

Here is my node setup: enter image description here

This is the cylindrical structure formed by stacking the rectangles: enter image description here enter image description here enter image description here

$\endgroup$

3 Answers 3

2
$\begingroup$

Instead of first creating the arrangement of the four rectangles, duplicating them along the Z-axis, and then deleting individual instances, you could build it up a little more refined and thus enable more precise control.

If you first duplicate a rectangle (in this case, I use the node Curve Circle with four points) along the Z-axis and then instantiate the objects in the desired arrangement at these points, you can decide directly at each point whether a rectangle should be created at all or not.

It would look something like this:


(Blender 4.2.0+)


If you also want to alternate the rotation of the individual layers, you can easily extend this setup by using index and modulo to give every other layer a different rotation:

$\endgroup$
2
$\begingroup$

If you have each element as an instance, you can just delete instances based on random selection:

If there's no instancing, you can often (not always, e.g. Suzanne) get away with using mesh island index as ID:

In either case the result is the same:

$\endgroup$
1
  • $\begingroup$ Thank you for the suggestion!This gets very close to my goal! I found that it successfully instantiates each rectangle, but this method doesn’t seem to be compatible with the staggered arrangement of alternating clockwise and counterclockwise layers. Whenever I try to rotate the even-numbered layers by 180 degrees, the random deletion is applied to entire layers instead of individual rectangle objects. $\endgroup$
    – SiAnn Wang
    Commented Sep 21 at 7:47
0
$\begingroup$
  1. Add the "delete geometry" node at the end of your node tree.
  2. Select "instance" as geometry type
  3. Add "random value" node and set it to boolean
  4. Connect the value output into the selection input on the "delete geometry" node
  5. Use the probability slider to control the amount of instances deleted.
$\endgroup$
1
  • $\begingroup$ Unfortunately, this would not delete individual rectangles, but entire instances (in this case "floor"). In this case, the setup would have to be set up a little differently in order to gain access to the individual points after (or before) instantiation. $\endgroup$
    – quellenform
    Commented Sep 20 at 17:08

You must log in to answer this question.

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