Why does the location change when I apply location?

Hello. Thank you for watching.

The wheel and the lattice was paranted. Then I cleared parant with keeping transform. To start rigging, I tried to apply location, rotation, scale. However, when I applied LoRoSc of the lattice, the wheel changes its LoRoSc even though I had cleared parent…

Could you tell me how I can apply LoRoSc without causing that?

wheels and lattices.blend (6.58 MB)

Also, if I set the strength of lattice modifier from 1 to 0, the wheel goes back to the correct position. does the lattice have that kind of effect?

Applying transforms is usually a good idea, especially before doing any rigging, parenting, or other math-related stuff. However, in the case of a lattice, it usually is NOT a good idea. The reason for this is that a lattice deforms an object based on how the lattice mesh (as tweaked in Edit Mode) differs from the default mesh. So, for instance, you could create a mesh, go into edit mode, and simply scale down the entire thing, and an object with a Lattice Deform modifier would simply shrink down with it.

When you Apply Transformations, you are essentially editing the mesh in such a way that once the object is scaled to 1.0 (from whatever it was before) it won’t look any different. E.G. If you have a cube scaled down to 0.5, when you Apply Transforms, it will quietly scale the mesh down by half, then double the object’s scale – so it LOOKS the same, though in reality your mesh is half the size and your object has doubled in size.

So, carrying the logic to it’s troublesome conclusion, if your lattice was scaled to 0.5, and you apply the scale, it will SCALE THE LATTICE MESH UP IN EDIT MODE (in this case by 2.0) so that the Lattice won’t look any different. BUT IT IS DIFFERENT. YOUR LATTICE MESH HAS BEEN AUTOMATICALLY EDITED. And the result is that an object using that Lattice for a deform will suddenly scale up by 2x (in this case).

Hopefully that makes sense. I love the Apply Transformations feature; I use it all the time. But if you don’t know what it’s actually doing, it can seem a bit mysterious at times.

Thank you very much for your clear explanation! I understood that a lattice was different from other objects. This time, I’m going to remake lattices because that won’t take so much time.

so to clarify… (for me and the other nubs)

“apply transform (location or rotation)” sets the “origin” of the mesh to 0,0,0 while keeping the vertexes in the same position…
this can really mess up anything other than the simplest of objects… (best not to touch unless you have to.)
whereas “apply scale” is our friend… (as long as you remember to rekey any scale keyframes :wink: )

More or less. Basically it resets the OBJECT values to zero (location, rotation, or scale), while adjusting the MESH (like you’d do in Edit Mode) so that it looks like nothing was changed. This is a handy shortcut when you’re doing your initial modeling.

Applying transforms after there are modifiers / constraints / etc for your object alters the math, which can cause trouble. So always try to remember to apply transforms early in the game.