5
$\begingroup$

Why do we apply that location. If I have multiple objects in blender, I can relatively see each coordinates, and add new one based on existing. If I reset all will be zeros, so nothing to compare.

$\endgroup$
9
  • 2
    $\begingroup$ Do you have a specific case you don't understand where we can explain the reason? Generally you apply location only when you need to - usually for modifiers and in other cases where the location of the object origin matters. $\endgroup$ Commented Feb 24, 2018 at 23:14
  • 2
    $\begingroup$ I'm not sure I EVER applied the location on purpose since 2001. It simply moves the Object Origin to 0,0,0. I apply rotation and scale frequently. Maybe it's for completion sake. Or some ancient functionality required it. $\endgroup$ Commented Feb 24, 2018 at 23:17
  • $\begingroup$ Say you want the origin on the base of the default cube. You can move the cube up one unit in z (g z 1) and apply location. $\endgroup$
    – batFINGER
    Commented Feb 25, 2018 at 0:55
  • 1
    $\begingroup$ Or I can do it in Edit Mode. TAB G Z 1 RETURN TAB is easier for my addled brain. Menus give me angst. Sometimes I wonder what people think about us when we throw rows of keyboard shortcuts around $\endgroup$ Commented Feb 25, 2018 at 1:28
  • 2
    $\begingroup$ Related: Why is it important to apply transformation to an objects data? $\endgroup$
    – user1853
    Commented Feb 25, 2018 at 2:09

1 Answer 1

4
$\begingroup$

Do we have to apply location after moving object?

In short, No. In which case thought I'd explain what it does, and a couple of scenarios where it may be useful.

Local vs Global Coordinates.

Blender uses world and local coordinates.

When an object has zero location and rotation, and unity scale, the local coordinates of its data will match the corresponding world coordinates.

For instance the default cube has its origin at (0, 0, 0) and its data, the mesh, has a corner (vertex) at (1, 1, 1).

If I move the cube object to (1, 1, 1) the local coordinates remain the same, but the global coordinate of the fore mentioned corner vertex is now (2, 2, 2) I've snapped the 3D cursor to the vertex in image below to demonstrate, would also show by selecting "Global" for vertex coordinate.

enter image description here

Applying location in object mode, would alter all vertices local coordinate to the global coordinates, matching its origin to global origin. (note has no rotation or scale applied)

Applying location is the same operation as Origin to 3D cursor with the 3D cursor at (0, 0, 0). (with no object parenting)

Why do this?

  1. If I want the origin on base of default cube I can move it up one unit such that global (0, 0, 0) is on its base, and apply location.

  2. Let's say I have an intricate assembly made up of different parts that I've modeled with a separate object for each. When finished, it may be simpler to have all the parts located at (0, 0, 0) and let the local mesh data take care of the positioning, by applying all transforms on all components. (that way if I transform a part later, it can be relocated easily, I don't need to remember its location, rotation and scale, I can just set all to default) I've imported a number of models that have been arranged this way.

  3. Making simple model of earth and moon. Add sphere (earth) at origin, duplicate for a moon, scale down move away along x axis and apply location. It can now be rotated in its fixed orbit around earth by simply adjusting the z Euler rotation.
$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .