テンプレート:Release Notes/2.40/Transforms
目次
Transform
<section begin="foo" />
Manipulator
This commit merges manipulator orientation selection back in "traditional" transform. This is how it works:
- The dropdown in the 3D view header is always visible
- The orientation chosen will be used when choosing an axis with MMB and for the *second* key press of X,Y,Z (note an exception being if Global is selected then the second keypress uses local)
- However, Local orientation doesn't use the one calculated by the manipulator. This is to ensure that multiple object local and armatures in pose still works as before.
- AltSpace (to change the orientation) works during transform
- New Transform orientation: View, using the view axis.
- MMB uses global axis, CtrlMMB uses user defined. (AltMMB cause conflict with the window manager on linux)
- Normal orientation align to metaball/ metaelement's rotation in edit mode
To Sphere
- Scale goes from 0 (original) to 1 (full sphere) instead of the contrary
- Mouse control is done by moving pointer left / right on screen. Full right is 1, left is 0.
- There's a 10% width padding on each border.
- Works correctly with Shift modifier now.
Transform for UV window
Using new transform code to handle UV window. With the ground work done, Transform could more easily be extended to handle IPO window now.
Orbit Around Active
This fixes the active object in place when orbiting the view. Accessed via the pivot menu. (Note: When you shift select multiple objects the last selection is the active object)
Choppy 15fps demo can be seen there: http://www.elysiun.com/~theeth/bf/around_active.html
Mirror Clipping
Mirror Modifier now has option "Do Clipping", which prevents vertices during Transform to go through the mirror. Note that it is *only* during transform, and Esc restores the non-clipped positions of vertices.
It works with multiple mirror modifiers and takes into accound elements already on the seam properly. Use mirror tolerance as limit for the clipping.
Using smooth on a mesh with a mirror modifier and the clipping option now preserves verts on the plane(s) of symmetry (i.e., those verts are smoothed, then projected back to the plane(s) of symmetry).
Write Protection for transform values
You now can set, in N Transform Properties Panel, per XYZ rot/loc/size, a protection for Transform tools to not change these values anymore. This now works for Objects or for Bones in PoseMode.
Usage is especially for character animation, to give Bones in a Pose defaults for rotation axes, so you don't have to worry about the correct limitations (or setup complex IK limits). Of course, this feature doesn't influence the animation system.
As an extra also the Transform Widgets then draw less handles. Note this is based on the actual locked value, and depends still on Manipulator orientation whether it can be used really.
Implementation warning: I had to remove the 'return' in the middle of the editobject.c compatible_eul() call. It now makes nice compatible eulers when they're simple (single axis rotations). Unfortunately there was no note in the code why it was ever removed...
Misc
GetBlenderCursor was prototyped but never defined. I filled it in, might be useful at one point (and for some uncommited evil Py code of mine).
Tweak mode can be enabled if compiling from source - if enabled, RMB click drag to select and transform (grab). Release to confirm. (Cancel with esc). The difference with before is that it is a single motion, you don't have to click at the end of transform, you can just release the mouse button. <section end="foo" />