Dev:Ref/Release Notes/Animation/Armatures/Edit mode

From BlenderWiki

Jump to: navigation, search

Contents

[edit] 2.40 Release

[edit] Editing Methods

Add Armature or Bone (Shift A) now adds by default a single Bone, view aligned and of unit-size 1. You can add additional bones by extruding (E) or by Ctrl LMB Image:Template-LMB.png instant extrude.

If you wish to have automatic mirroring, in the Armature panel enable X-Axis Mirror Edit,

Enable X-Axis Mirror Edit

then Shift E to initiate mirrored extrude.

Extrude

Continue to mirror extrude with E or Ctrl LMB Image:Template-LMB.png. To turn mirroring off disable local x-axis mirroring. The new bones will be automatically named with the appropriate _L and _R suffix.

You can now subdivide bones with the W.

Before subdivision
After subdivision

[edit] armature mirror editing

The naming convention was tweaked a bit; names like Bone_L.005 and Bone_R.005 are considered counterparts. However, if you use the Flip names option, the number extension is still truncated.

Using N panel in 3D window on EditMode armature now applies the new mirror edit as well. Including the 'roll'.

Please note that roll values can differ a lot when you have modeled without 'mirror' mode. You can enforce the roll to match by first moving the Bone a little bit, so the other one aligns perfectly.

[edit] Bone Flipping

Bone flipping

  1. First it removes the number extension, if it's there (like .001)
  2. Then it checks for a separator on either the 2nd position (L_calfbone) or last-but-one (calfbone.R). If there's an l, r, L or R it switches the letter.
    Seperators:
    • space " "
    • dot "."
    • minus "-"
    • underscore "_"
  3. If no switch done yet, it tries if a name starts or ends with left or right, case insensitive. It replaces this, disregarding separator.

Examples:

Lefthand -> Righthand
L Hand.005 -> R Hand
hand.r -> hand.l
right-l -> right-r
pelvis LEFT -> pelvis RIGHT

W in Armature Editmode now has option for flipping names too.

[edit] misc selection

[edit] Lasso Select

Lasso Select (Ctrl LMB Image:Template-LMB.png-drag) for Bones in PoseMode and EditMode. For PoseMode it selects using only the line between root and tip of the Bone. In EditMode, armatures actually only consists of points, flushing bone selection based on points that are selected.

before
after

[edit] Editmode border select

EditMode armature border-selecting is now smarter. If there are points in the border, only the points get selected (and an entire Bone when both points are in border). If no points are within the border, the tip gets selected for connected Bones, the entire Bone gets selected for non-connected Bones.

[edit] Selection State Preserved

Bone selection state is preserved across PoseMode and EditMode.

[edit] Bone Types

[edit] Hinge

There is a new Bone type "Hinge", which doesn't inherit pose rotation/scale from its parent pose-channel. This button is available in Editing Buttons for PoseMode as well as EditMode.

This should reduce Constraint usage (copy location).

[edit] BBones

Literal now support adjusting the 'handle length', with the values "In" and "Out" in the new PoseMode Panel, editing buttons.

BBones allow better control over the curvature of any bone deform. No need to give Bones (vgroups) large influence, just add a couple of BBone segments.

The Bone property "Segments" defines if a deform happens as a 'BBone'. The drawtype BBone is just for display in 3D window.

A BBone also deforms (bends) in rest-position, if there's a joint that creates a curved Bone. Therefore, you can achieve the best results by creating a rest-position with straight joints. Or, if you prefer a slightly bent rest-position (for a spine or similar), make sure the Mesh model is not curved, the BBone will do this for you.


[edit] 2.42 Release

[edit] Animation Baking

animation baking code. also a patch to autokey, to only key the keys made.

[edit] Armature

Log: More things for easing the job of replacing proxy/working armatures in the scenes of Elephants Dream with the final ones: 1) adds removing Fakeusers from Actions to PyAPI, now with a hackish call in the Blender module. Possibility of better ways should be discussed on bf-python.

2) adds BPY Object.copyNLA(otherob) - that was simple 'cause the copy_nla function was nicely in kernel nla.c.

3) Object.convertActionToStrip(), here it gets tricky: the function to convert the active action of an object to a NLA strip was buried inside the respective function in the GUI editnla.c which had also code for reading mouse coordinates and whatnot. So I took the actual copying out of it and moved it to the kernel nla.c as a new function, bActionStrip *convert_action_to_strip (Object *ob). that code used other functions, of which find_stridechannel() was also in editnla.c but free of UI code so i moved it to kernel too. Kept things with UI code in editnla.c. Tried to be careful with keeping mallocs and the pointer business intact, and tested that this works and after usage Blender gives no memory warnings or anything, so seems ok - but certainly is best reviewed by ppl more active with c coding than me. Hopefully this little refactor makes it possible to add this function to the menus too, which was not straightforward earlier when Matt took a look at it.

[edit] Bone Radius Numeric

Added UI numeric access to bone radius (for envelopes), needed to access the other day to make bones the same radius and had to guess. See the edit bone properties.

[edit] Bones

Some better support for new bone layers: action window now draws nicer... it was still counting all bones for defining visible area, so many times channels got displayed out of view.

Custom drawing types for bones in Poses!

In Armature Pose-bone panel, the 'hide' button got replaced with a button where you can type (TAB complete works) a name for a Mesh Object. It then draws that Object instead of the indicated bone drawing type.

Fixes for bone layers: - Akey in Editmode didn't work properly (now deselects all non visible bones too. selection for editmode works on the vertices, not bones... - Snap in Editmode now respects layers

On adding constraints, names are now unique per object/bone, this prevents confusing situations when adding constraint ipos.

[edit] Change Step by Using the Up and Down Arrow Keys

Patch #4044 patch to change the step when changing frame with up or down arrow keys.

This adds a per Scene setting to specify the number of frames skipped by the up and down arrow. This setting can be changed in the Timeline header and in the Anim/Playback section of the Scene settings.

Upon loading a file without that setting or creating a new scene, it is set to 10

Also fixed the Start and End frame buttons in the Scene buttons to do a proper refresh.

[edit] Constraints

Inserting keypositions for a constraint which is part of action that's part of action strip... now is corrected for action strip offset.

[edit] Copy NLA Strips

Added a command to copy NLA strips to the Copy Attributes (Ctrl C) menus. Will be useful for updating versions of armatures, and transferring animation between them.

[edit] Copy Shape Verts

Copy Shape Verts

In mesh editmode, while editing a shape, select some verts, W Key, "Copy Shape Verts". You will be presented with a list of shapes and once chosen, the selected verts will be moved to the position of the verts from the chosen shape. Most handy use would be reverting part of a shape back to basis e.g.

Making eyebrow shapes, add a key and model the eyebrow shape symetrically with the x-mirror tool Go out of editmode, copy that shape Go into each shape and revert 1 side to basis

If the mesh has had verts added/removed since last entering editmode, you need to TAB-TAB first before copying

Additional Shape Vert Copy Tools in editmode WKEY

Copy Shape Verts Blend (interactive blending copy) Propagate Verts (copys selected verts from current to all other shapes)

UI for interactive needs work and Propagate verts needs tidying up, propagation does not show yet until TAB :(

now sets RECALC for all objects that share the obedit's mesh data. So no more TAB-TAB nonsense :)One caveat: Undo is on Global Level not editmode level.

Also added header note for Copy Shape Vert that MMB does 100% copy

[edit] Copy Size Constraint

This new constraint is pretty simple. Following in the footsteps of such giants as Copy Loc and Copy Rot, it lets you constrain the size of an object/bone to another object/bone, with per axis restrictions.

[edit] NLA

Another NLA goodie. The NLA code didn't evaluate any strips when the current frame was outside of strips. This gives potential errors with playback that skips frames, or for a renderfarm. And, while editing, the poses got 'stuck' if you changed to different frames.

Now if no strips are found on the 'current frame', always the first strip to the right is used, or the last strip to the left.

Enabled Striding in NLA to also use FollowPath Constraint. Until now it only worked when Object was parented to a Curve. Interesting feature now is that it checks for all FollowPath Constraints, and it chooses to stride over the first Path found with influence > 0.5.

Note: to make switching to other paths work, map the time curve for these paths to match the switch. This is not very NLA friendly... but let the dudes in studio test it first. :)

Todo for later once; ensure proper blending...

[edit] Parent-offset Lines

Made dashed parent-offset lines option for drawing Poses.

[edit] Stride

For some ancient reason, the stride option only worked on a single strip, and extended always. This made it nearly impossible to integrate it well with other actions in NLA. This commit changes it as follows;

- As any strip, the striding-strip also stops at the end of a strip - This allows to put multiple different actions on a single path, and if all of these have the striding option set, the actions will each do their own individual stride. - To match the different actions, a new "Action Offset" button was added in the NLA Panel, which allows to internally cycle the action. - Of course, blend-in and blend-out works nicely too.

Here's a quick AVI test with 2 actions. There's some slipping of the feet between actions still, because of the stridebone blending. I might look at that later, for now you can correct it with a simple Ipo on Armature too

http://www.blender.org/bf/0007_0151.avi

[edit] Zoom to Selected Bone

When weightpainting, with the armature in posemode, you now can press the NumPad-period key to zoom in to the selected bone. (it used to zoom to the painted mesh instead). Actually bugreport 4161.