From BlenderWiki

Jump to: navigation, search

Description

Etch-a-ton is a development branch for sketching techniques applied to rigging.

It can be used both for creating chains of deformation bones through various subdivision techniques (most based on skeletor) or through retargetting templates (also based on previous non-published work).

Demonstration

Ogg Theora: high quality videos

Vimeo: video album

Sample Video

Documentation

Generalities

Strokes direction affects bone (bone chains from the start of the stroke to its end)

Strokes have a normal defined at creation (for polylines, when each point is inserted). This normal points at the viewer.

Strokes' normal are used to define bone orientation. For conversion methods, Z axis point along the normal. For retargetting method, see the Roll option.

Sketches are NOT saved into the file.

Stroke threshold uses the Manhattan Dist setting from Grease Pencil (Userprefs - Edit Methods). If your mouse or tablet is too sensitive and you keep making points close to one another, crank that up a bit.

Sketching Hotkeys

PKey (or menu Armature -> Bone Sketching) opens the sketch panel (in Armature Edit Mode)

Draw strokes with LMB.

Gestures with RMB.

ESCkey cancels a stroke.

RMB ends a stroke.

Click for polylines, hold down mouse button for continuous strokes.

Hold down Ctrl to snap to strokes' poly points and bones' joints or to embed into a volume, depending on your snapping mode (in the 3D view header, same as transform snap).

RMB click select strokes (+Shift to add to selection)

Akey select/deselect all

Xkey delete stroke

Gestures

Gestures are only applied when Quick Mode is OFF.

  • Straight line intersecting a stroke once to CUT poly points into a stroke
  • L shape intersecting a stroke once to TRIM it. The half on the same side as the L's leg will be removed.
  • V shape intersecting a stroke twice to DELETE it
  • Half circle intersecting a stroke twice to REVERSE its direction
  • Curve line intersecting a stroke twice and ending in a pig tail (small loop on itself) to access the COMMAND menu (Flatten, Straighten, Polygonize). The actual command is applied between the two intersections.
  • X shape (three lines crossing itself) to CONVERT selected strokes to bones.

Sketching Panel

User-theeth-sketch panel annoted.png

1. Bone Sketching toggle

2. Overdraw and Quick Mode toggle

Overdraw: redraw on top of an existing stroke to modify it
Quick Mode: strokes are automatically converted and deleted once they are ended. No gesture (bone edit mode works as usual).
Overdraw

3. Conversion methods (dropdown)

  1. Length: Subdivide stroke in bones of the given length
  2. Correlation: Subdivide stroke based on linearity. Curved sections will have smaller bones, straight portions less bones. Parameter is between 0 and 1. The closer to 1, the less change of direction there has to be in the stroke before a new bone is added.
  3. Fixed: Subdivide stroke in the given number of bones
  4. Retarget: Fit template to the stroke.

4. Method options

Length: maximum length of each bone
Adaptive: linearity threshold (higher means more bones in curved regions)
Fixed: number of bones that will be created
Retarget: bone roll correction method method
  • No: Doesn't apply corrective method on bone roll.
  • View: Roll bone so that at least one axis is perpendicular to the view
  • Joint: Roll bone fit it's original rotation with regards to the bend of the joint with its parent.
Subdivision

5. Template to use for Retarget. If None, Retarget option will use a copy of selected bones instead.

Templating

6. Retargetting weights (defaults are ok most of the time)

  1. Angle weight: Controls how close to the original angles between bones the result will be.
  2. Length weight: Controls how close to the original bone lengths the result will be
  3. Conformity weight: Controls how much bones have to conform to the stroke, how much they can deviate from that shape.

7. Template Renaming fields and automatic toggle

  • Side: User defined string that will be inserted in retargetted bone names in place of &S
  • Number: User defined string that will be inserted in retargetted bone names in place of &N.
  • Auto: When turned on, Side field will be set depending on which side of the X axis a stroke starts on while Number will be incremented after each stroke.
Autonaming

8. Number of joints in the current template. When drawing a polyline, there should be at least as many points as joints.

9. Peel Objects option for volume embedding. When turned on, consider separate object as whole for volume embedding.

Template Usage

Templates can be used in the following manners:

- Using an external (not the one you are working on) armature object as template: Select the appropriate object from the drop down menu. - Using selected bones from the current armature: Select "None" from the drop down menu.

Template should only consist of a single chain of deform bones.

TODO NOTES

If you are not me, the following doesn't concern you.

- Python hooks in retarget, do deal with custom rigs