Try   HackMD

Asset Browser Pose Library Demo

This document lists things we'll want to show in a demo of the Asset Browser & Pose Library demo.

NOTE: this demo will primarily be about the pose library, and only touch upon general asset workflow. Disucssing the latter is for the workshop. This includes navigation & filtering of poses.

Outline

  • Asset Basics
  • Pose Library: Use
  • Pose Library: Creation
  • Pose Library: Exploration
  • Asset System Ideas

Asset Basics

  • Recap of what an asset is:
    • Datablock with meaning
    • Appended, Linked, or, in the case of presets, applied
    • Blender has been extended with temp-loading for preset use

Pose Library

The pose library contains only preset-style assets.

Pose Library Use

  • Basics:
    • Add the library directory as an asset lib (preferences)
    • Ensure the asset browser is visible in the current workspace
    • Switch the asset browser to the pose library (i.e. filter to Animations)
    • Some functionality provided by add-on, enabled by default.

Sybren TODO: skip "basics" in prezzo, go directly to use.

Sybren TODO: pre-record what we want to show in video.

Sybren TODO: add outline of different use cases

  • From the Asset Browser

    • Click pose to select
    • Optional: select bones to apply the pose to
    • Use Apply Pose button to apply the pose instantly, or double-click.
    • Use Blend Pose to interactively blend the pose into the current pose. Press Tab to toggle between the original and the blended pose.
    • Use Flip Pose checkbox before pressing a button to apply/blend flipped
    • Use Select to select the bones used in the pose
  • From the Pose Library Side-panel in the 3D View

    • Click to apply pose
    • Drag to blend pose
    • Ctrl+F to search poses
    • Cursor left/right to toggle between poses (future)

Sybren TODO: pose blending: support ctrl for snapping and shift for precision mode.

  • Auto-keying is fully supported

Pose Creation

Sybren TODO: add little outline

  • Design Rules:

    • Each pose is its own data-block
    • Poses are encapsulated. They don't depend on other data-blocks and their previews are stored as part of the data-block.
    • Poses are stored in the current blend file
    • Creating a pose asset from an animation editor implies setting it as active action, so that it can be inspected and adjusted
  • Basic pose creation flow with 3D View + Action Editor:

    • Pose character
    • Select the bones that should be in the pose asset
    • Press "Create Pose Asset" button in the Action Editor
    • Action switches to new asset action
    • Rename the pose asset action in the Action editor
    • Click the 'X' in the Action editor to no longer edit the pose action.
  • Original frame number of pose is remembered

    • Select "Smug 2"
    • Assign Action
    • See that it was created on frame 20
    • Go to frame 20 to see correct camera & background
  • Pose creation from existing animation

    • Pose character, possibly by going to a certain frame
    • Select the bones that should be in the pose asset
    • Press "Create Pose Asset" button
    • Action switches to new asset action
    • Rename the pose asset action in the Action editor
    • Click the 'back' button in the Action editor to go back to the original Action.

Note: This "back button" is temporary behaviour of the add-on. Blender should get a concept of "temporary action", "temporary override", or "local view" for this kind of flows, in the same way that the NLA system has (but implemented better). That can then just be deactivated to bring the animator back to their previous state.

  • Basic pose creation flow with 3D View + Asset Browser:

    • Pose character
    • Select the bones that should be in the pose asset
    • Press "Create Pose Asset" button in the 3D Viewport
    • Rename the pose asset action in the Asset Browser
  • Including custom bone properties in the pose

    • Not recorded as video, just explain
    • Useful for IK/FK switching etc.
    • Pose the character
    • Key the custom properties that should be in the pose asset
    • Create pose asset as usual.
  • Copy-paste from anim file to pose library

    • Pose character, possibly by going to a certain already-keyed frame
    • Select bones
    • Press "Copy Pose As Asset"
    • Right-click on an existing pose, choose "Open In Blender"
    • Press "Paste Asset" in the Asset Browser
    • Set name, description, regenerate preview
    • Save & Quit
    • Original Blender reloads poses

Pose Editing

  • Poses are Actions, and can be edited as such
  • Activate & Edit button in the Asset Browser

Pose Exploration for Creation

  • Have character + poses in the Asset View
  • Use mouse/pen or cursor keys to quickly switch between poses
  • Use dragging on a pose icon to blend that pose into the current pose

Idea for future: allow setting blend percentage on multiple poses simultaneously, then have one confirmation action that blends all of them into the current pose.

Asset System Ideas

The points below are ideas for the future, and only serve as a "bigger picture" in which the pose library will fit.

  • Assets are location-independent
    • Can be directly loaded from a library on disk
    • or from cached file downloaded from more elaborate system.
  • Use URI for identifying the asset as well as its library
    • Used as identifier, not necessarily as locator
    • file:///path-to-file.blend/Objects/objectname
    • library://SpriteFright/victoria-poses.blend#Actions/spray
    • cloud://cloud.blender.org/project/assets/characters/victoria/poses/spray
    • project://sprite-fright/characters/rex/poses/smile
  • Add-ons can register scheme://hostname URI prefixes and serve assets to Blender
    • Takes request to load a certain URI
    • Provide the identified datablock
    • Addon determines whether linking is possible (otherwise only append/preset)
  • LIB datablocks for asset library links
    • Use URI to specify the library source
    • Can quickly produce proxy ID to represent asynchronously loaded datablock
    • Once loaded, real datablock replaces proxy
    • When linked blend file changes location, it can be re-linked transparently to the user by using the URI system.