Freeze Transforms

Hey guys. Sorry for the maya terminology, but this might be the easiest way to title. Basically in Maya you had a command called freeze transforms which would basically move an object’s “origin” to wherever it was in global space.

For example
You take cube001
Move it one the Y axis by 5
Apply freeze transform
Now when you clear all transforms in cube001 it remains at Y axis 5. So in essence you’re setting a new origin. Very useful for rigging stuff.


Hi, I struggled looking for that a while too. I think what you are looking for is known in Blender terminology as “apply transform”. Create your cube, move it, rotate it, whatever… then hit Ctrl-A and a menu will appear asking if you wish to apply location, rotation, scale, or everything. Select one to “freeze” or apply the transform to the mesh. If you have your transform properties open (hit “N” to toggle this window), you’ll see the location/scale/rotate values return to zero after applying the transform.

Hope that’s what you’re looking for!

Problem is from this point, the object pivot goes back to the scene center.

Don’t know if you figured this out yet but here is how I do it.

Looking at this from a rigging point of view.

  1. Create your controller, say a nurbs circle. I usually do this in the top view.

  2. Shape the circle into whatever shape you want. (DO NOT MOVE IT OR ROTATE IT) Keep all locations and rotations at zero. Just shape it and scale it.

  3. Once you are done shaping the controller go back into Object mode and hit (CTRL-A, 1) The scale transforms should now be set back to 1. The rotation and location transforms should have been 0,0,0 already. Because you did not move or rotate the controller while you were shaping it.

  4. Now create what Blender calls and “Empty”. Maya users call this a NULL. (Space Bar, Add, Empty)

  5. Right click on the controller curve to select it, then Shift-Right click on the “Empty” to add it to your selection and hit (CTRL-P) on the keyboard to parent the “Empty” to the controller curve. Hit “A” to clear the selection and then right click on the “Empty” and hit “G” to grab it and move it around in 3D space.

  6. Use the “Empty” to scale, rotate, and position the curve wherever you want it. You can snap it to a joint; rotate it to align with the joint chain, etc. Just be sure you are transforming the “Empty” and not the curve. Once you are done positioning the “Empty” lock all of it’s transforms in the transform properties window and hide it by hitting “H” on the keyboard.

  7. If you’ve done everything right you can now select the controller curve and all of it’s location and rotation transforms should still be set at zero. Scale should still be set at one.

Hope this helps.

Isn’t arvinmoses just wanting “center new?” Like, select all objects and perform Object >> Transform >> Center New?

Or, isn’t it just [CTRL][A] (apply transform - Blender 2.5)?
Object => Transform => Center Cursor (Blender 2.49) when cursor is set to the grid origin?

Freeze Transforms, … Freeze Transforms. I’m yet to see this topic properly addressed. Why not in this thread? So what’s my take on frozen transformations? First off, I’m no guru … I’ll just share the perspective I gathered while learning MAX (I hope it works same for Maya converts)

Imagine a box object at the origin (0,0,0), which I move to a new location, say 5 units along X, 8 along Y, and 2 along Z … that’s=(5,8,2). if I apply this transformation in Blender with Ctrl-A (location), I get a box that is visually at 5,8,2 but globally at 0,0,0 (as if the centre of mass, or handle … or whatever one may call it … is at the origin). This does not seem to equate to frozen transforms in MAX. I could be wrong but judging from visual results … this is a newbie’s way of seeing it.

In MAX, the object is still globally at (5,8,2) when transforms are frozen. MAX just stores that transform separately, and creates another slot … or layer … and calls the new location a zero location (0,0,0). It achieves this with a List Controller. The first slot bears the first transforms (5,8,2 … etc), the next bears the deltas from the previous transform. One could then move the object again 1 unit along X, 2 units along Y by feeding (1,2,0) to the list controller which in global coordinate, is really (6,10,2). In MAX, one can still access the original transforms by going back to the first slot. In Blender, the newbie is lost … he doesn’t know if the information about the first transformation is stored somewhere. He just notices that the object has a zero origin that is far away from the object.

I hope have explained this dilemma well enough for the Blender gurus to come in. Its really all about how Blender interprets and stores transformations. May be we should be asking if there is a list controller in Blender. If this has been addressed in another thread … I’d be glad to know.