How to make copies of an object in a grid formation along the X,Y,Z axes, possibly with noise/variation?

Is there a way to have one basic object, and then make copies of that single object in a grid formation, and also in a grid form that goes along in the Z axis as well?

Do you remember the qc developer composition that was a mass of repeated cubes, in a big cube formation? It also had noise running through it, so that each iteration would be a different size.

I’m trying to figure out how to do something like that…or even to have arbitrary instances be different shapes, kind of toggling from one shape to another.

If not, what built in nodes come to mind that might be the best to modify to do that? No rush or anything, just trying to get a handle on the best way to approach some things.

How would you think is the best way to approach something that looks like this, in Vuo? Building Loop on Vimeo

(This question was originally posted on rotating “arrange 3D objects in grid” and related questions. I moved it here since it’s more of a separate question.)  

Went down this rabbit hole last night @George_Toledo. Not exactly the same as your example, but the same theory could get you there. Take a look at this comp where I achieve random rotation on the x. Crude, but perhaps it’s headed in the right direction. The vertical copies are a problem currently.

Cube_Grid_02.vuo (10.3 KB)

Nice… haven’t looked yet.

I think that if the copies themselves get worked out, there is probably a way to attach a shader to the entire mass, and by some property of where the items are in GL space (or maybe some other attribute), to get them to do things seemingly individually.

It would be nice if there was just some simple way to add a mod or fract type operator to an item, and then get it to do similar repeats that one would expect if you were working with something in a shader. Spitballing here, that may not make sense…

Azy’s example is neat :) Before I saw that post, I was working on some other examples, so I’ll go ahead and post them.

Simplest, least flexible: GridOfCubes-arrange.vuo — Spread List Items -> Arrange 3D Objects in Grid, with slices=5 meaning that there are 5 “rows” in the z direction

Can adjust cube positions: GridOfCubes-copy.vuo — Feeds Make Parametric Grid Points and Make Points Along Curve into Copy 3D Object : Translations. You could vary the positions by feeding in different points, e.g. using the Time port and some math in Make Parametric Grid Points. You could also feed points into Rotations and Scales.

Can change individual shapes: GridOfCubes-list.vuo — Uses Build List to build up the shapes. I have it randomly picking between cube and sphere (1/9 chance of a sphere). You could also pick based on the index, so that e.g. the center shape is always a sphere.

For animating with continuity, see Azy’s composition and also Magneson’s points-moving-around composition on Last one today (promise), to completely ruin your weekend..

Do you remember the qc developer composition that was a mass of repeated cubes, in a big cube formation?

Nope, but I’d like to see a link/video if you know of one.

How would you think is the best way to approach something that looks like this, in Vuo? Building Loop on Vimeo

Hm, maybe that’s a separate question or discussion? I’d like to know how you made it for the video.

GridOfCubes-arrange.vuo (3.09 KB)

GridOfCubes-copy.vuo (4.65 KB)

GridOfCubes-list.vuo (4.42 KB)

Maybe a bit late to the party, but I’ve been working on some relatively easy scalable grid tutorials for when you want to dig down into the details of such things. I think I sound too umm… arr… eeh… fumbly to post them just yet, but I modified the base 2d grid concept from those to work in a relatively simple fashion in 3d, and I think you’ll be able to figure out the concept. The “Number of Points” input in the curve nodes decide the grid size for the respected axis.

Personally I find that Vuo tends to be a bit more easy to work with if you forget about the objects/layers at the start, and instead figure out the numbers, and then add objects/layers. I think it lets you tweak the individual objects in a more obvious matter, although I suppose you can use the process list to achieve the same thing with a more object first approach.

The most fiddly part of it is to get timing to function in a satisfactory fashion. I’m struggling with this in other comps using build/process list as well, but here is a fairly usable solution. The quirk with it is that the individual speed for an item in the timing list depends on the size of the grid for some reason, so if you scale up the grid it will speed up and if you scale it down it will slow down.

(Also, for extra trippy results, using a “Combine 3d objects” on the output along with object noise will give you (slow) wobbly wobbliness.)

MagnesonBuildList3DGrid.vuo (12.8 KB)

very helpful indeed @MartinusMagneson thank you for sharing.

Very much appreciated!

In the GridOfCubes-arrange example…how does that transform get in the Make Cube node? When I click on it, it doesn’t seem to open up and let me change it.

In the video example I used LFO, interpolation, random, and the QC iterator, and I guess whatever incidental math, to make cubes have a circular arrangement with some variation. There were a few images hooked to a multiplexer, and then iterator variable+random hooked to it’s index to get the different textures going. Similar kind of setup to create the variations in color.

Starting in Vuo 1.2, transform input ports have an input editor. In Vuo 1.1.x and prior, you had to feed a Make Transform into the port. Now, you can double-click on the port and edit it directly.

okay I’m coming in late here but the first thing I’ve tried to make in Vuo apart from messing with example compositions was along the lines of a grid of objects that I’d like discrete control over at an individual level for sizing, position and ultimately rotation in 3D so I can ‘fold’ the triangles by reflecting them about an axis on one of the triangle edges. I’m about to try taking the output of the Copy 3D Object node and putting it into another Copy 3D Object node — wish me luck!!

Here’s the thread I just posted about that before I randomly discovered this thread.

I want to be able to set up objects like on the left and then fade triangle objects one by one to their new colours shown with the image in middle for starters. Then do explodes and folding triangles over edge on edge to modify the neighbouring triangle and stuff like that. Simple in concept hard in execution in Vuo. I’m happy to write nodes to do this but need to understand the Vuo way before I push in the wrong direction.


Shape transformation/morphing would be very cool if Vuo team want to start thinking if it’s even practicable. The image on the right was done just using the new Live Corners widget in Illustrator. Having said that I was very keen for Kineme Shape Tools but when it came out I was a bit ashamed that I barely used it, it just wasn’t conducive to generative art for me, or whatever ideas i’d had before it existed I could do with it at least, it was a bit too low level/rudimentary perhaps (i forget why really)

(I’m getting quite excited about Vuo using it for the first time since like Alpha or something!!)

I can’t insert this image into the comment. tried on last two comments. grr.

Hi @jstrecker I got it worked out to do random colours on 5x5x5 of triangles and spheres with your Build List version of grid comp. Thanks.

The insert button in Forum widget refuses to insert the image I uploaded into the text here. Not sure of the uri or i’d do it myself. Still can’t do it with my triangles though, not sure what is going wrong. Composition on this thread

GridOfCubes-list-rnd-color-2.vuo (7.9 KB)