Anim8or Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Ian Ross has just released a book on Anim8or. It's perect for a beginner and a good reference for experienced users. It contains detailed chapters on every aspect, with many examples. Get your own copy here: "Anim8or Tutorial Book"

Author Topic: "Join solids"-objects change their origin without changing their axis location  (Read 13307 times)

davdud101

  • Hero Member
  • *****
  • Posts: 1067
  • Couldn't ever use Blender or Maya. Anim8or's good.
    • View Profile

I knew I wasn't crazy!! This is something I've been confused about for a while and I've finally found a way to replicate it. Not sure if it's meant to function this way, but basically the following steps lead up to this result:

  • Made two cylinders, cut them in half. One of them is located at -3,28,0 and the other at -1,28,0, so the center point of these two objects should be -2,28,0
  • Reconnected the top and bottom points to make a flat surface on each and filled it (J-command)
  • Bridged the two flat surfaces to make an elongated shape with half-round ends (pill? or I guess "stadium" is the geometry name)

However for some reason, this ends up with an object whose center point reads as 0,0,0, but is in fact located (as in, its axis/"crosshair" thing) at -2,28,0.

The same thing happens if I use the Join Solids command before bridging them (as of course bridging two individual meshes has the Join Solids command built in it seems). This also seems to happen in a handful of other instances, like some grouping operations and other stuff that I can't think of right now, lol

Not sure if this is meant to happen but it's been a bit of a concern of mine for a while because it makes things like manually mirroring over the axis pretty difficult because the coordinates aren't correct to the world/viewport ??? :o

File attached for reference
Logged
?

Steve

  • Administrator
  • Hero Member
  • *****
  • Posts: 2124
    • View Profile

The axis (crosshair) is the cener of a mesh for things like rotation and scaling. It is independent of the position which is the location in world space of the point (0, 0, 0) in mesh coordinates. You can move and rotate the axis in Object/Axis mode, hot key O.
Logged

Claude

  • Sr. Member
  • ****
  • Posts: 285
    • View Profile

I would like to add this to Steve's explanation hoping that
it would help you understand:

In point mode, if you double
click on a point, you get its coordinates.
In object mode, if you double
click on a mesh you get a transform
(translation + rotation) to be applied
to each point of the mesh before rendering
to the viewport. Think of Location as a translation.

When you join 2 meshes, all the points coordinates
are updated by applying their mesh transform and
the new mesh transform is set to 0.
Logged

davdud101

  • Hero Member
  • *****
  • Posts: 1067
  • Couldn't ever use Blender or Maya. Anim8or's good.
    • View Profile

The axis (crosshair) is the cener of a mesh for things like rotation and scaling. It is independent of the position which is the location in world space of the point (0, 0, 0) in mesh coordinates. You can move and rotate the axis in Object/Axis mode, hot key O.

I would like to add this to Steve's explanation hoping that
it would help you understand:

In point mode, if you double
click on a point, you get its coordinates.
In object mode, if you double
click on a mesh you get a transform
(translation + rotation) to be applied
to each point of the mesh before rendering
to the viewport. Think of Location as a translation.

When you join 2 meshes, all the points coordinates
are updated by applying their mesh transform and
the new mesh transform is set to 0.



To be honest, still not sure I'm getting it  :-\ I attached an image that hopefully explains why I don't understand. I'm just confused WHAT it (the Object Location) is measuring if it's not a comparison the object's origin to the world origin.  ???

Also I get that point transformations and orientations are arbitrary compared to objects - is it because of how Object/Axis Mode and Point mode sort of "disregard" each other's transform data? I understand that I could select all the points and move them to change their position relative to the object's origin, OR that I can go to Axis Mode and transform the origin itself.
Is it related to that whole principle?
« Last Edit: January 30, 2021, 10:32:15 am by davdud101 »
Logged
?

Steve

  • Administrator
  • Hero Member
  • *****
  • Posts: 2124
    • View Profile

You start with two meshes. mesh06 has an origin of (-3, 28, 0) and mesh07 has an origin of (-1, 28, 0). Once you combine them, a new mesh is created, it's given the name mesh01. The origin of mesh01 is set to (0,0,0) when it's created. All points in the original 2 meshes are translated into world coordinates before they are added to mesh01.

So a point in mesh06 with the original value of (10, 20, 30), which is relative to the origin of mesh06, has a world coordinate of (7, 48, 30), equal to the point's value plus the origin of mesh06, i.e. (10, 20, 30) + (-3, 28, 0) = (-3 + 10, 28 + 20, 0 + 30).

You may be confusing the axis of the new mesh with it's origin. A meshes points are defined relative to the mesh's origin, not it's axis. The axis is created at the center of all the points in the new mesh to make operation like rotation and scaling more natural.
« Last Edit: January 30, 2021, 11:36:28 am by Steve »
Logged