129fb2eab82796d144c0635f73dab6a6d32fead8
Make it possible to nest bone collections. The data structure on the armature is still a flat array. It is organised as follows: - Sibling collections (i.e. ones with the same parent) are stored sequentially in the array. - Each bone collection keep track of the number of children, and the index of the first child. - Root collections (i.e. ones without parent) are stored as the first elements in the array. - The number of root collections is stored on the Armature. This commit also contains the following: - Replaced the flat UIList of bone collections with a tree view. - Updated the M/Shift+M operators (move/assign to collection) to work with hierarchical bone collections. - Updated RNA interface to expose only root collections at `armature.collections`. All collections are available on `armature.collections.all`, and children at `bonecollection.children`. - Library override support. Only new roots + their subtrees can be added via overrides. See https://projects.blender.org/blender/blender/issues/115934 Co-authored with @nathanvegdahl and @nrupsis. Pull Request: https://projects.blender.org/blender/blender/pulls/115945
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
