News:

 

Topic: Instance->Radial: How?  (Read 8236 times)

0 Members and 1 Guest are viewing this topic.

  • No avatar
  • Posts: 976
  • Polygon
February 22, 2013, 05:34:37 pm
Hello.
I'm trying to figure out how to automatically create three duplicates of the selected object around the pivot (see the leftmost picture). I think I don't understand the Instance->Radial tool. It gives me weird results, with rotation of instanced objects not matching my expectations and being too densely packed, instead of being evenly distributed over 360 degrees (see middle picture).

The result I'm trying to achieve can be seen on the rightmost picture (this was made by manually duplicating and numerically rotating the objects).

Can someone point out what I'm doing wrong here?

  • Posts: 496
  • Triangle
February 22, 2013, 10:08:09 pm
I know, this doesn't solve your problem, but if the rightmost picture is, what you want to achieve, I'm wondering why you don't simply create a torus?! 'Geometry -> Create -> Open Torus Tool'
But to get to your question: It seems, the result is dependent on the alignment of the object regarding the world axes. If I select that one piece that you have selected in your first picture, rotate it by -112.5 degrees (-90°-22.5°), so it sits nicely aligned on the negative z axis, being parallel to the x-axis, then do a 'Geometry -> Common Commands n Tools -> Freeze Object Orientation', so that the pivot is aligned to world axes and rotation is 0, and after that create a radial instance array (num=7, Y-Axis, Angle Interval= 45, Angle Offset = 45, Z-Offset -> Use selection position), I finally get the result you want.

[EDIT:] Oh wait, you were just looking for 3 copies. Number of Instances = 3, Angle Interval = 90, Angle Offset = 90.
« Last Edit: February 22, 2013, 10:26:33 pm by Vaquero »

  • No avatar
  • Posts: 976
  • Polygon
February 23, 2013, 01:18:54 am
Hey Vaquero.
Quote
I know, this doesn't solve your problem, but if the rightmost picture is, what you want to achieve, I'm wondering why you don't simply create a torus?! 'Geometry -> Create -> Open Torus Tool'
The torus was the initial shape of objects from the image. Just imagine it's a complex car rim and you're modelling a small part of it that is going to be radially duplicated to form a whole shape.

Anyway, note how easy it is for a user to manually duplicate and rotate this exemplary object in order to achieve the desired result. Instance tool should simply automate this process basing on the same principle: rotate around the current pivot position and use pivot's orientation when determining rotation of new objects. I think. ;)

I believe you're absolutely correct by suspecting it somehow depends on object's alignment towards the world axes. I'm not sure how though. If I don't rotate the object, it's okay. But if I give it some different-than world's orientation, the rotation of duplicates breaks.

Like here: a cube not sitting at the origin. I'm using manual position of the pivot and object space for orientation.
NVil places the duplicates around the pivot and it's correct in what it's doing, but the rotation of new objects is wrong. It feels like something affects it.

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
February 23, 2013, 11:38:59 am
rubberDuck, I added a new option 'Use object space'. See if that can produce the result you want.

  • No avatar
  • Posts: 2103
  • Polygon
February 24, 2013, 08:05:02 am
Hi IStonia,

The new default behavior will only give correct result for what is show above, if the object(to instance) pivot is in correct position.
Other functions on that tool are now broken, as instance radial can no longer be controlled via world space pivot(it appears to default to "pivot position-> selection" location when "Use object space" is disabled) .
When using (object space)instance radial, when scaling(option) the instances, they do not maintain position.
While in "Use object space", the offsets only make offsets in one direction.


  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
February 24, 2013, 11:51:16 am
Steve, can you test it again. I have made some changes and 'Use Object Space' is no more.

rubberDuck, I think I understand what your expected method is now. Place the source object on the circle line then use the manipulator as the rotation center to rotate and produce instances, right? If the circle is a round one, there would be no problem, but for 'Ellipse' and 'Oval' shape, there is a radius problem, because where is the object center? Geometry center or object pivot. The current method doesn't have this problem, but you have to place the object at the manipulator's origin.

  • No avatar
  • Posts: 2103
  • Polygon
February 26, 2013, 05:05:40 am
Hi IStonia,

Steve, can you test it again. I have made some changes and 'Use Object Space' is no more.

For the first example on thread, the "instance radial" can now be made either using the world/object pivot position, as long as pivot location in correct position, which is what I would expect. So that I would say is OK. That does give possibly unexpected results when making offsets, but you have mentioned that, so it is the implementation and not a bug.

When creating "instance radial" on an object that is at pivot location, I am not sure as to what you have intended, but find that the object changes orientation which is not expected.

Simple example:-
Object at world pivot position/orientation (object pivot same as world). With radial axis at "Y" with offset to +X, the objects(instance) orientation changes by -90 deg

(if x offset is negative, the orientation changes by +90 deg)

If I change offset to +Z, the orientation of the instance changes by +180 deg

(if Z offset is negative, object orientation appear to be correct)

Maybe that is what is intended, but the results are not as I would expect. I would of expected the objects instance orientation to remain as it is (for the first instance), regardless of which offset axis/direction is made.

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
February 26, 2013, 05:50:11 am
It is qite a tricky tool. The important factor is the position difference between object and the manipulator. Object's pivot point should has no effect at all provided you are not manipulating it at that time because in that case the two's spaces are the same and it can be misleading .

If you want to have the result rubberDuck asked for, they should be far apart. But don't expect the scale/offset/ellipse can work as expected, not possible.

If you want scale/offset/ellipse to work, you need to make sure the two's positions are very closed to each other and then adjust offset to fan out. If the intance orientation is not expected. use manipulator manual tool to rotate the manipulator by 90 arround the selected axis.

  • Posts: 496
  • Triangle
February 26, 2013, 12:36:03 pm
I got curious, so I tested it again. I will start off with the offest order, because that is crucial to everything else.
@Steve: The order in which the offsets are made indeed counts. And I think it's not possible to avoid that. You got unexpected results, because you made the offsets in the wrong order (except for your second pic, that maybe a problem).

From what I can tell from my experiments is, that the order in which offsets are made in general is XYZ, which means Y follows X, Z follows Y and X follows Z (XYZXYZXY...). So which offset is made first depends on which axis you are revolving around. If you revolve around the X axis, then the first offset made will be Y, then Z in the revolving plane. If you turn around the Y axis, then the first offset will be Z, X as the second. If you revolve around the Z axis, first offset is X, second is Y.
So whenever you offset the axis that follows your revolving axis, the first instance can have the same orientation as your source object, as long as the instance resides on the offset axis, of course. Though I don't know, why the offset on Z when rotating around Y has to be negative to achieve this. This is maybe a bug?
That also means, that if you skip an axis for the offset and start with the next but one, the instance that sits on the first offset axis that follows your rotation axis, will have the same orientation as the source object. But that won't be your first instance.

The offest order also has implications for the ellipse function of the radial instance tool. If you disregard the order, you will get unexpected results:

See how the orientation of the instances gets messed up, as soon as you enable ellipse and offset on the wrong axis. Strangely though, it goes away if you uncheck 'even spacing'. and of course, if you have 'maintain orientation' on, the instances will have the source's orientation.

At alst just a quick look at the ellipse function when pivot position is manual.

The ellipse scale will only modify the spacing between instances on the circle. Offsets will just mess things up.
« Last Edit: February 03, 2014, 08:54:51 pm by Vaquero »

  • No avatar
  • Posts: 2103
  • Polygon
February 26, 2013, 01:11:40 pm
@Steve: The order in which the offsets are made indeed counts. And I think it's not possible to avoid that. You got unexpected results, because you made the offsets in the wrong order (except for your second pic, that maybe a problem).

It is not the offset direction, it is a forced orientation alignment to a specific angle. In the case of Y and X axis radial array, it is forced to 90 deg. If an orientation alignment is made, it should be to standard 0 deg (3 o'clock) which Z axis radial array is.

The reason for forced alignment, I would expect, is to stop conflict if multiple axis offsets are made.

As for the Ellipse/Oval, with default "Even spacing" enabled, the results are quite bad.

  • No avatar
  • Posts: 976
  • Polygon
March 03, 2013, 08:04:58 am
I'm sorry for taking so long to reply, but I caught a flu. And these forums somehow wouldn't accept my log in requests sent from a different machine. SMF wouldn't even send me a new password when told to (looks like there are problems with "Forgot password").

Thanks for adding the functionality, IStonia. I'll explore it and give feedback ASAP.

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
March 03, 2013, 11:08:36 am
...but I caught a flu...

Sorry to hear that. Take care!

  • No avatar
  • Posts: 976
  • Polygon
March 07, 2013, 11:46:56 pm
Thanks.
And about the radial tool. Working great so far. :D