Rotating one object, to rotate many objects on their local axis

Hi, I’ve read a few posts on this but can’t seem to get to the bottom of it:

I’ve created an array of squares on a grid (10 x 10), which I’ve separated by loose parts into 100 separate squares.

I’ve copied one of them and moved it to the side to act as the ‘controller’. I’d like to rotate the controller, which then rotates all 100 squares individually on their local axis.

I’ve successfully done this using proportional editing, setting origins to geometry. But this doesn’t animate.

I can animate them all together, but this results in 100 curves which will be unmanageable. I just want one object rotating that controls all the others.

Is there a way of doing this? I’ve looked into hooks and empties, parenting, etc. But I am very confused!


Hi, you can use copy rotation constraints.

This totally worked. I selected one of the 100, added a copy rotation constraint, targeted the ‘controller’ square. And now when I rotate the controller square it rotates the single square in the grid.
Then I found the ‘copy constraints to selected objects’ which allowed me to copy the constraint of the 1 of 100, to the other 99 squares. Bingo. All controlled by the ‘controller’ square.

Is there a way for me to avoid having 100 constraints? E.g. tell Blender that 99 squares should do the same as 1 square? Or this actually what the constraints are doing? Just seems more complicated than it should be. I thought parenting would do this. So in other words, I thought I could parent 99 squares to the 1 square, and then constrain the 1 square to the controller.

Basically constraints are not really made for mass-controlling stuff like this. Blender lacked a proper solution for ever but since 2.93 you can do it with geometry nodes. The approach will be a little different though…

It’ll all be part of a single mesh, and you’ll have to replicate your square arrangement procedurally : create a grid with the desired number of subdivisions, instance a plane on every point, and plug the rotation output socket (from the object info node set to your “master” object) into the “rotation” input socket of the instance node.

If you’re using 2.93 this is a little more convoluted than it should be (3.0 completely changes the ways these things are handled with the introduction of fields), I almost feel safe advising you to use 3.0 beta but… it’s a beta and it’s not always completely reliable. So if it’s an important project, at least back up your file before trying.

Well, I have a solution for now at least. And at last I have a reason to explore geometry nodes. Makes sense to do it that way, sounds like it was built for this.

Thanks so much. I’ve also discovered the ‘copy attributes’ add-on, which also revealed the ‘copy modifiers’ so I could modify one square to a wireframe and then roll that change out to the 99.

I’m basically trying to create simple geometric art animations, so maybe geometry nodes is something I should explore anyway.

Yes, it’s an awesome tool ! the advantage of it over copying stuff is that it’s non-destructive by nature, so whenever you change something it instantly carries over to all concerned objects/components.

I admit I totally got lost but I’ll persevere. Any links to help on this much appreciated.

This is what I understood from your first post : copy_rotation_blender_3.0.blend (815.1 KB)
(to be opened with Blender 3.0 beta)

I don’t have the 3.0 beta. Is there a way you can export for an earlier version? I installed blender in the last few months sorry I don’t have my version to hand.

You can download it from it’s updated every day

Is it ‘safe’? I use my computer for work so I’m reluctant to try a beta version.

You could screen grab your geometry node tree instead? Thank you so much for your help!!

Like I said earlier, betas can be somewhat unstable, but nothing that would compromise your computer. My advice is to simply keep saving in increments so that whatever happens, you never lose your work. Unfortunately geometry nodes has changed enough that the nodetree I made can’t be made on previous versions, so it wouldn’t help you in the least to see it. Blender 3.0 should be stable in a month or so, see release schedule :
I’ve personally started using it for editing work since a week ago (never overwriting old files though).

Ok cool. Amazing that it’s already changed that much. I’ve heard great things about 3.0 and am keen to use it, so maybe I’ll take the plunge and as you say, keep saving the work (I’ve already had enough crashes and lost enough work to have that healthy amount of paranoia!). Thanks man, I’ll ping you any questions I have once I download and try your file.

Just clicked on the download link - I’m on a Mac, sorry to ask a dumb question but do I download Intel or Arm version?

You can get that information from the “about this mac” dialog in the upper left corner if my memory serves correctly

As long as you don’t save over your old files you have nothing to worry about. Keep separate folders for 2.9 and 3.0 blend files if you want to be on the safe side. I wouldn’t expect anything to break during the one-month beta phase, as the heavy lifting has been done and tested widely already, but you never know.