3
$\begingroup$

I want to place object radiallty around a center pivot. I know it can be done with array modifier.

So I tried and got a weird result and I cant figure out what is wrong.

At cursor is the Pivot object. And the one above it is the original. I want to rotate it around Y axis so it would create a circle of these shapes, but instead I get this. And if I rotate the empty object in any way it just rotates the object around some random axis. I'm using blender 2.83. What am I doing wrong here? enter image description here

$\endgroup$
2
$\begingroup$

You have to do this with a curve.

1) Add a circle curve around the center pivot that is the size of the array circle you want.

2) Change the "Fit type" in the array modifier for the arraying objects to "FIT CURVE".

3) Select the circular curve you added as the array curve.

Result: You can array around the curve and get the result you wanted.

$\endgroup$
5
  • $\begingroup$ I did nothing. i added circle curve. and set fit type to fit curve. I have only 1 object. If i added offset. other elements appeared but on a straight line. $\endgroup$
    – Marko Taht
    Jul 30 '20 at 20:58
  • 1
    $\begingroup$ Ah yes. I forgot. You also need to add a curve modifier for the objects to go around the curve. Add that and select the curve. $\endgroup$ Jul 30 '20 at 21:04
  • $\begingroup$ Also the object needs to be at the pivot point or the curve radius gets larger and objects are deformed. $\endgroup$
    – Marko Taht
    Jul 30 '20 at 21:07
  • $\begingroup$ You can adjust that by scaling, and by changing the number of objects. You have to set the array back to fit length, but it wont change much. If all still doesnt work, you can set the object origin to the center pivot, and duplicate around the center. $\endgroup$ Jul 30 '20 at 21:09
  • $\begingroup$ Fixed count fixed the issue. Fit curve leaves 1/4 of the curve uncovered. $\endgroup$
    – Marko Taht
    Jul 30 '20 at 21:11
4
$\begingroup$

When you give an Array modifier an object-offset target, there is a transform that would take the original of the arrayed object to the target.

For example:

enter image description here

The original cube is the one at 3 o'clock. Although the cube's mesh is at X=2, the cube's pivot, the object, is at 0, and aligned to the world. It's the larger yellow axes in the picture. (The mesh was moved in Edit mode, leaving the object behind.)

In the picture, there is also an Empty at 0, the smaller orange axes. The transform that would take the cube object to the Empty is a rotation of 30 degrees. The Empty is the target of the object-offset array.

The transform that would take the original object to the target in an object-offset array is the one that's given to each iteration of the array, with respect to the previous iteration. So, above, each element of the array is rotated 30 degrees from the previous one, about its own object axes.

In short, to get a clean rotation, without a translation being added, too, the object's axes must be coincident with the target, just rotated, that's all.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.