Etch-a-ton or Bone Sketching
Mode: Edit mode
Panel: Bone Sketching (3D View window)
Menu: Armature » Bone Sketching
If you think that creating a whole rig by hand, bone after bone, is quite boring, be happy: some Blender developers had the same feeling, and created the Etch-a-ton tool, which basically allows you to “draw” (sketch) whole chains of bones at once.
The Etch-a-ton tool is obviously only available in Edit mode, in the 3D views. You control it through its Bone Sketching panel (P, or Armature » Bone Sketching), and mouse (LMB to draw strokes, and RMB for gestures). Showing its tool panel won’t enable sketching – you must click on the Use Bone Sketching button to start drawing bone chains (else, you remain in the standard Edit mode…).
Sketching is done in two steps:
- Drawing some “smooth” and/or polygonal lines (called “strokes”). Each stroke corresponds to a chain of bones.
- Converting these strokes into real chains of bones, using different methods.
The point of view is important, as it determines the future bones’ roll angle: the Z axis of a future bone will be aligned with the view Z axis of the 3D view in which you draw its “parent” stroke (unless you use the Template converting method…). Strokes are drawn in the current view plane passing through the 3D cursor, but you can create somewhat “3D” strokes using the Adjust drawing option in different views (see below).
If you enable the small Q button of the Bone Sketching panel (top right corner), the two steps are merged in one: once you have finalized the drawing of a stroke (see below), it is immediately converted to bones (using the current active method) and deleted. Quick and efficient, but you lose all the advanced stroke edition possibilities…
Sketches are not saved into Blender files, so you can’t interrupt a sketching session without loosing all your work! Note also that the sketching is common to the whole Blender session, i.e. there is only one set of strokes (one sketch) in Blender, and not one per armature, or even per file…
So, each stroke you draw will be a chain of bones, oriented from the starting point (the reddest or most orange part of the stroke) to its end (its whitest part). A stroke is made of several segments, delimited by small black dots – there will be at least one bone per segment (except with the Template conversion method, see next page), so all black points materialize future bones’ ends. There are two types of segments, which can be mixed together:
- “Straight” segments
- To create a straight segment, click LMB at its starting point. Then move the mouse cursor, without pressing any button – a dashed red line materializes the future segment. Click LMB again to finalize it.
- Each straight segment of a stroke will always create one and only one bone, whatever convert algorithm you use (excepted the Template conversion method).
|Drawing straight segments example.|
- “Free” segments
- To create a free (curved) segment, click and hold LMB at its starting point. Then draw your segment by moving the mouse cursor – as in any paint program! Release LMB to finalize the segment – you will then be creating a new straight segment, so if you would rather start a new free segment, you must immediately re-press LMB …
- The free segments of a stroke will create different number of bones, in different manners, depending on the conversion method used. The future bones’ ends for the current selected method are materialized by small green dots one those segments, for the selected strokes only.
- The free segment drawing uses the same Manhattan Dist setting as the grease pencil tool (User Preferences window, Edit Methods “panel”, Grease Pencil group) to control where and when to add a new point to the segment – so if you feel your free segments are too detailed, raise a bit this value, and if you find them too jagged, lower it.
|Drawing free segments example.|
You finalize a whole stroke by clicking RMB . You can cancel the stroke you are drawing by hitting Esc. You can also snap strokes to underlying meshes by holding Ctrl while drawing. By the way, the Peel Objects button at the bottom of the Bone Sketching panel is the “same thing” as the “monkey” button of the snapping header bar controls shown when Volume snap element is selected – see the snap to mesh page for details.
A stroke can be selected (materialized by a solid red-to-white line), or not (shown as a orange-to-white line) – see (Strokes example) above. As usual, you select a stroke by clicking RMB on it, you add one to/remove one from the current selection with a ⇧ ShiftRMB click, and A (de)selects all strokes…
Hitting X or clicking on the Delete button (Bone Sketching panel) deletes the selected strokes (be careful, no warning/confirmation pop-up menu here…). See also the gesture description below.
You can adjust, “redraw” your strokes by enabling the A button of the Bone Sketching panel (just to the right of the Use Bone Sketching one). This will modify the behavior of the strokes drawing (i.e. LMB clicks and/or hold): when you draw, you won’t create a new stroke, but rather modify the nearest one. The part of the old stroke that will be replaced by the new one are drawn in gray. This option does not take into account stroke selection, i.e. all strokes can be modified this way, not just the selected ones… Note also that even if it is enabled, when you draw to far away from any other existing stroke, you won’t modify any of them, but rather create a new one, as if A was disabled.
|Adjusting stroke example.|
Finally, note that there is no undo/redo for sketch drawing…
There quite a few things about strokes editing that are only available through gestures. Gestures are started by clicking and holding RMB (when you are not already drawing a stroke…), and materialized by blue-to-white lines. A gesture can affect several strokes at once.
|Cut gesture example.|
- To cut a segment (i.e. add a new black dot inside it, making two segments out of one), “draw” a strait line crossing the chosen segment where you want to split it.
|Trim gesture example.|
- To trim a stroke (i.e. cut out and delete one of its ends), “draw” a “L” (two straight lines at right angle), the first line crossing the stroke where you want it cut, and the second line more or less aligned with the part of the stroke you want to delete.
|Delete gesture example.|
- To delete a stroke, draw a “V” crossing twice the stroke to delete.
|Reverse gesture example.|
- To reverse a stroke (i.e. that the future chain of bones will be reversed), draw a “C” crossing twice the stroke to reverse.
|Action gesture example.|
There are two other gestures, a bit more “complicated”:
- The Action menu
- To show the Action menu, “draw” a “C” crossing twice the stroke to affect, and ended with a small “pig tail” – the affected part of the stroke will be between the two crosses.
- The menu has three options:
|Flatten action gesture example.|
- This should flatten the curved parts, I guess – but it seems to have no effect…
|Straighten action gesture example.|
- This will make the “selected” part of the stroke straight (the segments are kept – but the already straight ones tend to be heavily shorten…).
|Poligonize action gesture example.|
- This will transform all (partly) “selected” segments into straight ones – so this won’t affect segments already straight…
|Convert gesture example.|
- The convert gesture
- By “drawing” three straight connected lines, the third one crossing the first one, you will do the same as clicking on the Convert button of the Bone Sketching panel – you will convert selected strokes to bones. See below for details on converting strokes to bones process.
- This is the only gesture which position has no importance, neither which strokes it crosses – only all selected strokes are converted…
Unfortunately, there is no direct way to cancel a gesture once you’ve started “drawing” it. So the best thing to do, if you changed your mind (or made a “false move”), is to continue to draw until you get a disgusting scribble, crossing several time your stroke – in short, something that the gesture system would never recognize!
|Canceling gesture example.|
Converting to Bones
Once you have one or more selected strokes, you can convert them to bones, using either the Convert button of the Bone Sketching panel, or the corresponding gesture (see above). Each selected stroke will generate a chain of bones, oriented from its reddest end to its whitest one. Note that converting a stroke does not delete it.
There are four different conversion methods – three “simple” ones, and one more advanced and complex, Template, that reuses bones from the same armature or from another one as a template for the strokes to convert, and which is detailed in the next page. Anyway, remember that straight segments are always converted to one and only one bone (except for the Template conversion method), and that the future bones’ ends are shown as green dots on selected free segments.
Remember also that the roll rotation of the created bones has been set during their “parent” stroke drawing (except for the Template conversion method) – their Z axis will be aligned with the view Z axis of the active 3D view at draw time.
- Fixed conversion
- With this method, each free segment of the selected strokes will be uniformly divided in
nparts (set in Num numeric field), i.e. will give
|Fixed stroke-to-bone conversion example.|
- Adaptative conversion
- With this method, each free segment of the selected strokes will create as much bones as necessary to follow its shape closely enough – this “closely enough” parameter being set by the Threshold numeric field, higher values giving more bones following more closely the segments’ shape.
- So the more twisted a free segment, the more bones it will generate.
|Adaptative stroke-to-bone conversion example.|
- Length conversion
- With this method, each free segment of the selected strokes will create as much bones as necessary, so that none of them is longer than the Len numeric field value (in Blender Units).
|Length stroke-to-bone conversion example.|
- Template conversion
- This is a more complex topic, detailed in its own page.