Armature bone layer modernization
Introduction:
The armature is an object of immense complexity that can and often does control every aspect of an asset.
On more complex production ready assets such as a character there are many unrelated or loosely related bones such as "left arm IK", "left arm tweak", etc... Due to how relatively unrelated bones like this are, we like to put them in different "groups" so when rigging or animating one can temporarily remove any visual noise and selection annoyance.
Problem 1:
Currently the armature handles this problem via the bone layers. In concept they work fine but as the complexity of a rig increases so does the need for more layers with increasingly granular contents.
At some point a rig will hit the arbitrary limit of 20 layers where if the rigger wishes to continue working, they will have to start merging layers that they do not wish to. At first one may start merging deformation and internal (mechanics) bones what will give some extra layers for the controls that the animator is concerned with. But, this will result in huge swats of bones on a single or few layers what will scare any mortal rigger, even if it's a rig of their own.
Solution:
There is to my knowledge no solution aside from using multiple armature objects what introduces a completely different set of issues.
Problem 2:
As the complexity of a rig grows, the bone layers system mirrors similar issues of the predecessor to the 2.8 outliner. When you are looking at a set of 20 dots it is not easy to know what is in what layer. There is no label or color or any way to tell them apart aside from if they are empty or have something selected.
Solution:
Thankfully this is where the rigger can write a specialized addon for the rig to name and lay out the layers in an understandable way (such as the blender foundation rigs) or use a less powerful but general solution such as the Bone Layer Manager ( fin.gumroad.com/l/STdb ) Although this is a solution, it is not a good one in the sense that it does not fix the problem but puts a subpar bandage over it.
Conclusion:
There is a lot of space for improvement in this area and fundamental problems to solve/remove when it comes to the bone layers system.
Real solution:
Redesign the bone layers system from the old 2.7 style layer system in to a real "outliner" that is specialized to work with bones and only bones.
With an armature outliner not only are the problems above completely resolved but there is much more to gain.
- A mechanism of operations on a layer could introduce a built in way to do IK <-> FK snapping.
- Easier to understand and manage rigs as nested layers can convey parts of the rig better.
- More interactive way to work with a rig as selection disabling can be made easy
- Potentially removes excessive rigger tears
For real real solution:
Conversation and discussion.
Saying "just make an outliner" is easy but as a programmer, I know well that there is always an overwhelming amount of unplanned details and unforeseen problems when something is actually worked on.
This is where any rigger, animator or developer is more than welcome to chip in. Suggestions, design sketches, problems or lack of them or anything at all related to this.
I intend to put considerable time in designing and programming possible solutions but I am only 1 person that still has to familiarize with the blender code base.
2 Comments
From Softimage I konw the Schematic View which is much more intiutive and with perfect overview of complex rig structures than a simple outliner. So I'd like to suggest something like this as solution. Where you can see tree-like structures and possibly even constraint-connections. If you have a rig with multiple layers of bones (like IK, FK and weighting bones) and in the viewport all are ontop of each other, you easily loose overview. If you have a schematic view where you can display bone hierarchies side-by-side with thin lines indicating constraints, it's so much easier. Thanks for considering!
32 dots