A quick question - how do I rotate an object, or its instances, around an axis to create a circular array?
I’m coming from Rhino CAD + Grasshopper, and it’s a no brainer there. A very basic example
Create the object (a cone), with an x-offset of 1 (constructed vector)
Create a list of three angles, with an increment of 120 degrees. (there are more elegant ways to do this in Rhino)
Set the rotation axis, constructed from two points. Could have used a single vector too. The rotation is set to happen at the origin, around the z axis, in 120 degree increments.
The “Transform Geometry” node doesn’t accept fields, you can tell this because it has a circle and not a diamond for an input. You’ll need to use “Set Position” and “Vector Rotate” (not “Rotate Vector”) nodes to rotate the position field, if you want to do it this way.
If you’re just wanting to make a circular array, I’d suggest making a curve and using it to instance on. Doing it this way gives you more flexibility, because you have access to the tangent, and normal of the curve.
I think I covered everything you need to know, if not, let me know.
I started the geometry nodes course yesterday. I love node-based modeling. And I’m using it in Rhino+Grasshopper since 20 y’s now. Well, as with moving from CAD to Blender, it’s about unlearning habits and expectations when switching from Grasshopper to Geo Nodes.
It took me a little bit to figure out why what I said didn’t work for you. I think I figured it out; It looks like the position of your instances are at the object origin (0,0,0) and what I told you to do would only rotate the location of the instances, and not change rotation of the instances themselves.
Just to let you know of a downside of your solution, It will make it hard to rotate the instances individually. If you wanted to be able to give each instance a unique local rotation, you could move it into position after making it into an instance, and uncheck Local Space on the rotate instances node. Then add local space rotation with another rotate instances node.
The original object was moved to 1,0,0. With the idea I can then rotate the instances around an axis at 0,0,0 (pivot point) by 360/(number of instances).
Oh, that makes sense. Will give it a try / keep this in mind.