1

See this blend file: https://drive.google.com/open?id=0B9fajYcxL7pvWmRubFN2bWk4cjg

Two objects (b and c) are parented to object A. If I move A, then b and c move with it and their location (x, y, z) remains the same. So that must mean "Location" is showing Local Space.

https://docs.blender.org/manual/en/dev/rigging/constraints/interface/common.html

In [local space] the parent of the object (or bone) is the frame of reference. Location is relative to the parent object origin. Rotation and Scale are oriented to the parent object axes. Only transformations to the object itself are taken into account. Transformations to the object’s parent and any other constraints higher up in the constraint stack are not taken into account.

enter image description here

enter image description here

enter image description here

enter image description here

Why does b have a location of 5,5 and c of 0,0? (we are ignoring z coordinates as we are not using them in this question) If they are both children of A, then should not they both show the relative local space coordinates? Why is c 0,0? As you can see the object origins are all in the center of each object.

Now try this. Move A to 10,10 and then duplicate it. Move the duplicate (let's call it D) to 5,5. Now we have two non-parented objects. D is in between World Center and A. Now make D a child of A. The coordinates do not change to Local Space. D will still show 5,5 instead of -5,-5! How can D and c both have the same x,y coords of 5,5 if they are both children of A and both on opposite sides of A? Shouldn't they have different coordinates whether it's showing local space or world space?

How can you change from viewing/editing local space to viewing/editing world space? How on earth does blender's location system work? Goodness gracious.

Xuan
  • 354
  • 3
  • 14
  • I would move the second part of your question with duplicating and elaborate on it with screenshots as it's a bit hard to imagine what's going there. As to the first part, afaik all the transforms are given in the global coordinates. The reason why coordinates of the child objects become kind of relative to parent is that child objects inherit transforms of the parent object, As to 0,0,0 coordinates for your C object - what transforms did it have before parenting? – Mr Zak Jun 09 '17 at 22:02
  • I think the issue here is that the local coordinates you describe are not relative to the parent object. If you put the child object in the exact same place as the parent object, the two objects won't necessarily have the same coordinates. The child objects coordinates are relative to a point that was located at (0,0) when the parent was first assigned, and which rotates, translates, and scales with the parent object. – Lukas Valine Jun 10 '17 at 05:00
  • @MrZak The second part is simple. Move A to x=10, y=10 then duplicate A to new object D. Move D to x=5, y=5. Now make A a parent of D. It will still be at x=5, y=5. This makes no sense because D and b are both on opposite sides of A, both are children of A, and both have same location (x=5, y=5). How can this be explained? I'm getting the impression no one knows how blender coords work. You say "child objects become kind of relative to parent". What is "kind of relative"? – Xuan Jun 10 '17 at 12:36
  • @LukasValine You say "child objects coordinates are relative to a point that was located at (0,0) when the parent was first assigned". So there is some mystery point that child objects are relative to which is lost forever after you move the parent? – Xuan Jun 10 '17 at 12:38
  • @MrZak You ask "what transforms did it have before parenting?" How would I know that? Does a blender user have to keep a log file in a notebook of every transform to make sense of current coordinates? Please explain. Thank you. – Xuan Jun 10 '17 at 12:41
  • "I'm getting the impression no one knows how blender coords work." the fact that you didn't receive answer to your question doesn't mean no one knows answer to that question. "Does a blender user have to keep a log file" No he doesn't. "What is kind of relative?" Something which seem to be relative to some other object but in fact it might not be. "How would I know that?" Easiest way is to unparent it and see what transform coordinates does it have. The reason I asked is because most likely 0,0,0 were its global coords. Maybe related – Mr Zak Jun 10 '17 at 12:56
  • @MrZak I appreciate your response. My impression is based on many days of searching online and finding no information on blender's unpredictable coord system. Sorry for getting exasperated. I uploaded a 2nd blend file to show the second part. https://drive.google.com/open?id=0B9fajYcxL7pvdnlkUElTWFAydVU Here you will see the new box D which is x=5,y=5 on the opposite side of A which is also x=5,y=5. As for the first part, I tried un-parenting box c and then it snapped back to world 0,0,0. if I re-parent with eyedropper, it moves to local 0,0,0 (center of A). (continued...) – Xuan Jun 10 '17 at 13:17
  • @MrZak (continued) If I re-parent with Ctrl+P, it is still at 0,0,0, but it does not move (it stays at world-center). If re-parent with Ctrl+P (Keep Transform), it is exactly the same result as Ctrl+P with out keep-transform. Not why those two are the same and why using the eye-dropper moves the object. – Xuan Jun 10 '17 at 13:19
  • Your second example is actually the same - object inherits transforms of the parent, so it becomes in local space of the parent. When moving D to 5,5 after duplicating A but before parenting you moved it to the same place where was B before parenting (because you moved A to 10,10 but before that A was at 0,0 and B was at 5,5, those 5,5 which still are preserved for that B because it's parented since then). Object C moved to 0,0 after unparenting because it was there before parenting. It won't move anywhere now if just parenting it with Ctrl+P.,see https://blender.stackexchange.com/a/26109/1245 – Mr Zak Jun 10 '17 at 15:24
  • So, the location of the object has nothing to do with the parent. When you move the parent, it moves the children, but the actual number in the location box does not change. Not because the location is relative to the parent, but because the global location gets "locked in" upon parenting, resulting in all children having locations which say nothing about where the object actually is. Blender must be the most confusing thing mankind has ever assembled. I'm going to design a multi-stage rocket while watching Donnie Darko to calm down. – Xuan Jun 11 '17 at 00:27
  • Amen! (all I want to say...just keep writing to get the minimal letters...) – knekke Aug 11 '17 at 12:36

0 Answers0