How to Rotate Objects around a Circle

I am trying to get an object to look something similar to the picture below but I can’t believe how difficult this is to accomplish in Blender. :confused:

I’ve followed a tutorial on using an Array" modifier and an “Empty” to rotate an object around to create a circle of objects but it is not working. When I rotate the Empty the object doesn’t move. What am I doing wrong?

pg

http://img805.imageshack.us/img805/1277/circle.jpg

Hmmm… You need to explain more. What are the settings in your array?

Ok, here are my settings. I created a shape (X: 0.100 Y: 0.100 Z:4.00) I then move the object off of center. I then create an array modifier (see settings). I then create an Empty and then select the “Empty” and rotate it and the object is supposed to rotate around, but when I select the object and select “Object Offset” it just seems to create a cube object.
(See Image Below)

Array Settings
http://img823.imageshack.us/img823/954/arraymodifier.jpg

Blender Scene
http://img15.imageshack.us/img15/9518/objecth.jpg

Your object was made by scaling a Cube in Object mode instead of Edit mode. Apply the Object scaling and rotation to your mesh.

Best wishes,
Matthew


Each object is rotated as you rotate the empty but you also need offsets. In this image I have an array of 8 cylinders, the Cylinder and Empty are on the origin. (I have shown transform properties but I think this may be confusing because it shows the dimension of the entire array of objects.)

The important bit is to rotate by the appropriate amount. You want 8 objects and this requires each object to be 45-degrees offset from the empty — just select the Empty and do an RKey 4 5 .

For your purpose, use a constant offset instead of relative.

You can now see how this works. Increasing the array count over 8 will start overlapping objects (it won’t LOOK different but it is) and increasing in X or Y will spread the objects out in a circle.

This might be easier to with dupliverts or the spin duplicate function, depending on what you’re going to do with the duplicates

Did this with the spin tool in about 5 mins…

Randy

Attachments


Not sure I understand Matthew. What do you mean “Apply the Object scaling and rotation to your mesh?”

http://img805.imageshack.us/img805/7088/array.jpg

  1. In Object Mode I created a cylinder object at the “origin” (0,0,0) and sized it to:

X: 0.400
Y: 0.400
Z: 4.000

  1. I then selected the object and added an “Array Modifier” with these settings. (see image)
    http://img805.imageshack.us/img805/7088/array.jpg

  2. I then added an “Empty” (see image)
    http://img805.imageshack.us/img805/7088/array.jpg

Question 1
When I select “Object Offset” from the Array Modifier settings the cylinders “Scale” and I don’t know why they don’t stay the same shape as the original cylinder object?

Question 2
Is the correct way to select the “Empty” then select the Object Icon and use the settings in there to rotate etc? The first time I did this I actually rotated the Empty, but then I see under the Object Icon there are settings for rotating and scaling the empty so I should probably be doing it in there instead… Correct?

Could you please post a .blend or explain the steps one at a time?

pg

Use Ctrl+A and select Scale to reset your objects scale values back to 1 (from 0.2, 0.2, 2.0). Do this for your empty as well as that seems to have odd scale values as well. You need to be more vigilant in controlling scale values or you’ll get other odd behaviour when doing other tasks.

You want to do this resizing in Edit mode, not Object mode. If it is already done in Object mode, then you can fix it by 'Apply’ing the transformation (that’s Ctrl-A, as Richard said).

  1. I then selected the object and added an “Array Modifier” with these settings. (see image)

I usually find it confusing to combine a constant or relative offset with an object one: just placing, sizing and rotating the Empty gives you complete control of the array.

When I select “Object Offset” from the Array Modifier settings the cylinders “Scale” and I don’t know why they don’t stay the same shape as the original cylinder object?

The scale of your array object is different from that of the controlling empty, and each step in the array is rescaled by the ratios of the two.

Is the correct way to select the “Empty” then select the Object Icon and use the settings in there to rotate etc? The first time I did this I actually rotated the Empty, but then I see under the Object Icon there are settings for rotating and scaling the empty so I should probably be doing it in there instead… Correct?

Whichever you prefer. You can rotate the empty 45 degrees either by actually 'R’otating it that much, or by opening the settings panel and entering ‘45’ in the appropriate place. The result is the same.

Could you please post a .blend or explain the steps one at a time?

My version is attached: it’s a 2.49 file, but should load fine in 2.5, which I see you are using.

Note that I have shifted the cylinder mesh relative to the object centre: the object centre becomes the centre of rotation for the array, and hence the centre of the final object rather than just of the initial cylinder. You don’t have to do it this way, but it’s usually the most natural approach for a circular array like this.

Best wishes,
Matthew

Attachments

cylinderarray.blend (113 KB)

g60, thanks for the explanation. I’ll give it a try. :slight_smile:

Thanks. I’ll try it with SpinDup too but I hope to learn both methods.

Great example. Thanks :slight_smile:

You’re right. I always forget to rest my Scale. So should the scale always be set at? (1,1,1)

Thanks so much Matthew. I will read this over closely and give it a try. You’ve been very helpful. :slight_smile:

pg