My standard way of tiling a roof with geometry nodes consists of creating a grid. The grid takes its spacing of vertices from the dimensions of the tile in use. Then the grid is instanced on the roof planes centers and oriented according to the normals of the planes. Before the grid's vertices will be used as points for instancing tiles, the grid is 'realized' so that the proximity node with target 'roof plane' will function in a way to not place any tiles outside the roof plane. So far so good for tiles with constant widths. On shingles though the width changes randomly and can therefore not be used as a base to shape the grid. The workaround is to create a first meshline (rows of the tiles) to provide the points for the second meshline (columns) which can have random spacing of it's vertices with the help of the 'Acummulate Field' node and also provides the sizing of the tiles. Now here comes the crux: I have one more level of instancing: 'Roof plane center(s)' - 'Meshline Rows' - 'Meshline Columns' - 'Tiles'. And the 'Proximity Node' will only work on 'Meshline Rows'. My question now: Is there a way to have a grid's vertices horizontally (x-Axis) spaced at random distances. It may well be the same for all in the Y-axis, but I would want to be able to size the shingles (cubes) accordingly.
-
$\begingroup$ Rightly or wrongly, some might consider this an XY problem.. could you show us an illustration of the desired end result? $\endgroup$– Robin Betts ♦Sep 12 at 14:49
-
$\begingroup$ Thank you for the quick response. Here is a link to an image: link $\endgroup$– Quantor54Sep 12 at 15:47
1 Answer
Your description isn't totally clear to me, so i focused on that:
My question now: Is there a way to have a grid's vertices horizontally (x-Axis) spaced at random distances.
Solution proposal:
result:
Note: That's Blender 4.0. Since you didn't describe any prerequisitions, i used the newest Blender version.
-
$\begingroup$ Thank you Chris. That looks just like the solution I was aiming for. I will get Blender 4. The 'Repeat Zone' was new to me. $\endgroup$ Sep 14 at 8:58
-