Friday, January 14, 2011

BlenderDev - Clearing the todo's...

Just a little update on what I've been up to lately: clearing out some Blender todo's I've had lurking around for ages.

Some Highlights:
  1. Markers can now be edited from the various animation editors again
  2. Added Grease Pencil "Sketching Sessions" Functionality
  3. Partially Restored "Grease Pencil" mode in DopeSheet
  4. Driver creation tweaks and hacks

Firstly, some "big ticket" items:
  1. Markers can now be edited from the various animation editors again (34115) - although markers have been visible all along, from early 2.5 versions, marker editing has been disabled due to the keymaps for markers blocking the editors' own keymaps from working. In order to resolve this conflict, I've had to restrict where these operators will catch events.  
    • Usage Notes: in animation editors (i.e. all places where markers are shown except timeline), hotkeys will only be interpreted as marker actions if the mouse is within the narrow strip above horizontal scrollbar where the markers appear.
  2. "Pose Markers"are now shown and editable in the Action Editor (and ShapeKey) Editors again (34210) - these are used by the Pose Library to denote the which frames have "poses" stored on them in an action, and can also be used to act as action-specific timing tags.
    • Usage Notes: From the Markers menu, enable the "Show Pose Markers"to show Pose Markers instead of Scene Markers, with all marker operations in the Action/Shapekey Editors only being applied to the Pose Markers while this setting is enabled.
  3. New Grease Pencil "Sketching Sessions" (34051) - this emulates the old "Draw Mode" toggle in the old Grease Pencil implementation that many people have been asking for. In other words, with this feature turned on, starting to draw normally using Grease Pencil starts a "Sketching Session", which makes the drawing operator wait for further strokes to be drawn (without needing DKEY to be held, or the buttons in the toolbar to be constantly clicked) instead of only performing a single stroke and then exiting.
    • Usage Notes: Just enable the "Use Sketching Sessions" beneath the row of Draw/Line/Erase toggles in the 3D-View toolbar, then start using Grease Pencil normally. Be aware that whatever tool you invoked the operator with will be the tool that is used for the entire "Sketching Session" (i.e. freehand drawing session, line drawing session, etc.). To end a sketching session, simply use one of Enter/Escape/Spacebar.
  4. Restored "Grease Pencil Mode" in Dopesheet (34236) - this mode in the DopeSheet Editor/Action Editor allows retiming Grease Pencil sketches, which is useful for using Grease Pencil as an "all-in-one" animation planning tool. This has only been partially restored, as there are still some operators missing. However, most of the core operations needed for this to be useful are already present.
  5. Driver creation tweaks and hacks
    1. Material/Texture driver creation hack (34315) - after writing several blog posts to try and publicise the methods and rationale behind the current state of affairs regarding driver creation, I've figured that perhaps a compromise is in order! This hack simply does the grunt-work of going through the Datablocks editor to create object-rooted paths for newly created Material and Texture drivers, allowing these properties to be easily driven within the limitations of the current Depsgraph. 
    2. An empty Driver Variable is added for newly created drivers - although for a long time I thought it would be less elegant to potentially have empty driver variables hanging around for a while, testing the old 2.49 drivers system to verify some old behaviour made me realise how inefficient the original 2.5 behaviour was from a user-standpoint. By adding this a single driver variable by default, and setting it up in preparation for setting up the most common type of driver, the drivers workflow is now close to as good as before I think.
In addition to these, there are a few other smaller todo's that I've been wanting to do for a while:
  1. An operator to enable all armature layers, just like the ~ for 3D-View/scene layers (34264)
    • Usage Notes: this is currently mapped to Ctrl ~ and will enable all 32 layers. However, for most rigs, only the first 16 layers usually have controls that animators should be able to see, so this operator defines an option that will only enable 16 layers instead of 32 (but you'll have to manually set this in your keymaps yourself if you need this for now)
  2. Clear all bone transforms operator (34255) - found in the Pose : Clear Transforms menu, this operator is simply an amalgamation of the Clear Loc/Rot/Scale operators that exist
  3. Clearing the active Keying Set can be done with Numpad 0 (34269) - finished off some missing functionality to allow this to work
  4. A template for creating your own Builtin Keying Sets (34256) - I've got an upcoming post that will be useful in conjunction with this template for getting on track to coding up your own little builtin Keying Sets
  5. Creating new actions from the Action Editor databrowse will now copy the existing action instead of always creating new actions (34241) - A few prominent Blenderheads have requested that this functionality returns, as it is apparently useful for "versioning" existing actions

1 comment:

  1. Hi!
    I'm sure that everything written here is very good and useful!
    Please, can you explain a bit more on "A template for creating your own Builtin Keying Sets" (or just give a link to some thread)?