46
$\begingroup$

I've watched several tutorials and very often they applied the location, rotation or scale to the object when they transformed it in Object Mode. They always said it is important, but why?

$\endgroup$
35
$\begingroup$

For a rigid body physics simulation extreme unapplied scale transforms can cause very noticeable strange results, such as unnaturally fast or slow rotations depending on if the object is scaled up or down:

enter image description here

From the wiki:

If dynamic scaling is not needed, rigid body objects should have the scale applied by using the "Apply Scale" operator.

Unapplied rotation tends to make the simulation more unstable:

enter image description here

$\endgroup$
  • $\begingroup$ Ok thanks. So it is only needed for Physics? $\endgroup$ – Codey Feb 24 '14 at 20:34
  • $\begingroup$ @BlenderShark No, there are other cases too, e.g. exporting. Though most exporter scripts should have an option to do this for you. $\endgroup$ – gandalf3 Feb 24 '14 at 20:38
  • $\begingroup$ @gandalf3 How do you apply scale and rotation? As far as I see in these simulations, the objects seem to have the same rotation and scale. I think I'm not sure what scale and rotation means in this context. $\endgroup$ – Amir Sep 11 '18 at 20:24
  • $\begingroup$ @Amir Ctrl+A. Each object has a scale, rotation, and position by which the underlying mesh data is transformed before being displayed. Applying a given component permanently transforms the mesh data and resets the object transformation to 0. $\endgroup$ – gandalf3 Sep 11 '18 at 20:45
  • $\begingroup$ @gandalf3 I see. Thank you. Here's how people can do it via Python: 1) select your object so that bpy.context.scene.objects.active points to it 2) bpy.ops.object.transform_apply(location = False, scale = True, rotation = True) $\endgroup$ – Amir Sep 12 '18 at 1:36
43
$\begingroup$

Short answer: it depends.

Applying transformation can be important but it mostly comes down to what you do intend to do with the objects.

Looking at this from a simplistic viewpoint, ideally it wouldn't matter and everything would work just fine even when scaled/rotated.

A good rule of thumb is:

Apply rotation and scale to your models unless you have a reason not to.

Transformation is split up into translation/rotation/scale, generalizing on Blender's support:

  • rotated objects (well supported)
  • translated objects (well supported)
  • scaled objects (well supported)
  • non-uniform scaled objects
  • negative scaled objects

The last 2 can cause issues with modifiers, constraints and some tools. Even though for basic operations it works fine, there's rarely a good reason to have negative scale.

Considerations:

  • Most modifiers are applied before scale. So the effect of a bevel or solidify could be squashed with non-uniform scale. Armature and hook modifiers are an exception to this rule.
  • Negative scale will flip the object's normals (when an odd number of axes is flipped).
  • Most edit mode tools such as smooth-subdivide won't take non-uniform scale into account.
  • Rotation and scale can cause problems with armatures, especially when exporting to different formats.
  • Rigid body physics doesn't support scaled objects well (this could be seen as a bug, nevertheless as it stands it's not working well).
  • Scale applied after parenting will be applied to children, if you have complex parent/child setups - it's less trouble if you only scale objects when necessary.
  • Extreme scale values >1000.0 or <0.0001 (a large object scaled down or a small object scaled up) can cause floating point math precision issues when in edit mode, also for other calculations.

Areas scaled/transformed objects are fine:

  • Static scenery (maybe you want to have different sized rocks). Objects which don't move or interact with other objects via modifiers, constraints etc.
  • When it's intentional - an object stretches (animate scale with a bouncing ball).
$\endgroup$
  • $\begingroup$ I wouldn't recommend applying rotation as a general rule. Often it is useful to ALT+D (link duplicate) an object, clear it's rotation with ALT+R and modify it in it's original state. $\endgroup$ – itmuckel Apr 2 at 20:03
28
$\begingroup$

It is also important to apply scale when doing UV unwrapping. When you scale an object in object mode the UV unwrap does not see the scale, it will unwrap the mesh as if you had not scaled it.

Scale not applied

enter image description here enter image description here

Scale applied

enter image description here enter image description here

$\endgroup$
  • 3
    $\begingroup$ This is very helpful. If you use the checker pattern to check your uv unwrap and see bad results it can sometimes be that you need to apply the transform. I'm not sure but I would guess you should do it to everything you uv unwrap $\endgroup$ – luigi Mar 7 '15 at 2:31
6
$\begingroup$

I guess, my issue about the Array modifier of a rotated object is a helpful example. Here are the pictures of what I had, what I needed to get by adding an Array modifier and what I actually got:

enter image description here enter image description here enter image description here

Duane Dibbley provided a nice explanation: if the scaling/rotating is not applied, the Array doesn't only applies rotation with respect to the pivot (Empty), but also applies previous non-applied scaling and rotating!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.