Does Blender have a transform modifier? I mean a modifier that can do scaling, rotation and translation, just like s, r and g respectively, as you would normally do with a mesh. However, s, r and g do this permanently to a mesh, but I am asking for a modifier that you can undo or change easily, and will be permanent only if you apply the modifier. If yes, then can the modifier use different pivot points, such as , active element, 3d cursor, median point and individual origins?
With Blender 2.92 this is now possible using the Geometry Nodes modifier.
- Add the modifier.
- Change the editor type of an area to Geometry Node Editor.
- Add a node (Shift+A).
- Search for and select the Transform node.
- Put it on top of the connection between the group input and group output.
- Change translation, rotation and scale to your liking.
It cannot use the 3D cursor, but you can change the pivot point to a different object like an empty. That empty can then be parented to a vertex or the like. To do this, add two more transform nodes before and after your transform. The first one takes a transform values from an Object Info node with the pivot object, the second one takes those same transforms but inverted using a Vector Math node to translate/rotate/scale it back again.
I don't think there is a modifier that can do this. The Lattice modifier is close but it doesn't transform the object as you might expect if you rotate it.
I think the best thing you can do is to parent the object you want to non-destructively transform to an Empty and perform all the transforms on the Empty instead of the object. If you want to 'undo' all the transforms then just un-parent the object and it will revert to its pre-transformed state (as long as you choose the standard Clear Parent option from the Alt+P menu).
If you want to 'apply' the transforms you did on the Empty to the object itself then choose Clear and Keep Transformations from the Clear Parent menu.
Alt-S will undo scaling (ie. set scale factors to 1.00) Alt-R, and Alt-G will, in the same way, undo rotation and translation respectively. In that sense, S,R, and G are not permanently changing your mesh objects. If you want to make transformations permanent, Ctrl-A and Apply rotation etc. Does that answer your question?
IMHO, the best way to transform an object, especially on top of modifiers such as Mirror or Array (that will change the look of your object when you move it) is to add a bone on the same position as your object and then parent it using the automatic weights option.
You just have to make sure that your object is entirely weight painted in RED.
This let you move objects with mirror modifier without having to apply it.