owned this note
owned this note
Published
Linked with GitHub
# Asset Browser Pose Library Demo
This document lists things we'll want to show in a demo of the Asset Browser & Pose Library demo.
> [color=#8d8]
> **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.
> [color=red][name=Sybren] TODO: skip "basics" in prezzo, go directly to use.
> [color=red][name=Sybren] TODO: pre-record what we want to show in video.
> [color=red][name=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)
> [color=red][name=Sybren] TODO: pose blending: support ctrl for snapping and shift for precision mode.
- Auto-keying is fully supported
### Pose Creation
> [color=red][name=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.
> [color=orange]
> **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
- [color=orange] 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
> [color=#8d8] 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
> [color=#8d8] 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](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) 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.