Shape Keys Management
Attendants:
- Dalai Felinto
- Rik Schutte
Follow-up meeting to revisit the Shape Key benchmark file and clarify other development opportunities. Read the original discussion about Shape Keys performance.
Performance Benchmark
You can read the latest findings here. The conclusion so far is that performance is not the deal-breaker it was assumed to be.
Management
The term management is used here to include:
- Creating and updating
- Grouping
This concerns only riggers, and animators shouldnāt need to be aware of any of this.
Creating and updating
The current workflow Rik is exploring relies heavily on the āJoin as Shapesā operator. He creates multiple copies of the object, and edit each one manually. Once the shapes are good-to-go, he joins them as shape keys into the original object.
This works well for the initial pass, but not for subsequent updates or to handle mirror shapes.
New operators/options that would help:
- Join as Shapes Mirrored
- Update Shapes
- Update Shapes Mirrored
Whether the āMirroredā variants are an option in the re-do panel or their own operator entries is a discussion to be had with the animation module.
The Update Shape operator should follow the same āname to Shape Keyā mapping that the Join as Shapes operator uses. Even warning/failing if there is a name mismatch.
The proposal moving forward is to prototype those operators in Python, test them in production, before committing to implement them in Blender.
Grouping
For Rikās workflow in particular (though there is nothing particular about his workflow) he creates multiple related Shape Keys.
You can see in this example the multitude of mouth corner Shape Keys.
The way Layer Groups work is a good example of the behaviour that could be expected. The group itself contains no data, but is only an organization element.
The control expected on the group level is:
- Folding (to reduce visual clutter)
- Enable
- Lock
The values are still defined per Shape Keys.
This is more convoluted to be done than the āCreating and updating topicsā. As such it is not a module task that may just get picked up. For this to be pursuited as a feature it will need to be prioritized/planned (and have its design fleshed out).
Batch Editing
The ability to batch select shapekeys in order to adjust them or move them at the same time.
Developer Note: This is only possible if we move away from UI Lists and use NavTrees. This is also a requirement for the Grouping feature, and equally demanding.