Let’s add Groups to Blender!
This thread is dedicated for designing and developing grouping in blender. This post will be updated as design and definition of functionality, and implementation progresses. Currently we’re in the design / prototyping phase, and will eventually transition to core development once features and UX have been worked out. Please let us know what you think and jump in if you have ideas and feedback!
Group Functionality (In-Progress):
Groups will be added as a new object type. That will allow for a clear distinction from collections and their unique functionality, provide for backwards compatibility, and a true hierarchical system in Blender. Below are in depth explanations of how they’ll function and what features we’ll need to design and develop.
Structure
- Group Structure
Groups will be an entity similar to an empty. But also different. At their core, groups will allow for separate objects, or other groups (and eventually collection instances), to act as one entity, while still retaining the independent nature of their constituents. They will appear in the outliner as an entity with constituents as deeper elements in the hierarchy. (FYI I’m trying to avoid using children to not confuse grouping with parenting). - Group Implementation
TBD
Origins, Pivot Points, and Transformations
- Origins
Groups should have their own origin, independent of their constituents’ origins. This will allow for a fixed point of origin regardless of what is added, removed, or modified within the group. - Pivot Points
Pivot points will be a great enhancement for groups, and will also be added to objects and collection instances. Pivot points differ from origins in that they are positioned relative to the origin, and you can have multiple of them. You can only use one pivot point at a time, the active pivot, but which pivot point is active can be animated, and pivot points themselves can be animated. - Transformations
TBD
Selection
- Group Selection
TBD - Group Item Selection
TBD
Materials, Modifiers & More
- Materials
TBD - Modifiers
TBD - Constraints, Physics & More
TBD
Visibility
- Group Visibility
TBD - Group Representation
TBD
Instancing
- Group Instancing
TBD - Object Instancing
TBD
Collections
Collections will be left as is for what they are best at, and seem to have been designed for, which is scene and render management. This includes organization of your scenes to control visibility and render-ability in unique ways that aren’t dependent on the scene’s structural hierarchy. Since objects can exist in multiple collections, it makes them very powerful for this. Groups, as a new type, will also be able to be added to multiple collections to benefit from their unique organizational traits.
Potential enhancements to collections
What features would you like collections to have with this focus in mind?
- List item
Parenting
Parenting will also be left as is. Groups will be able to be children to other parent objects, and other objects / groups will be able to be parented to groups. Grouping will act similarly at a very basic level in terms of general manipulation, but will be separate as there will be many differences to traditional parenting.
Objects
Object will also be left as is. They’ll be able to be grouped together in a group, as well as serve as children or parents. Adding object instancing would be great, so that you could instance an object without having to add it to a collection or group will will both support instancing. So you’ll be able to instance individual objects, groups, and entire collections.
Open Design & Development Questions:
- How should materials on groups be applied to constituents?
- How should modifiers on groups operate?
- How should advanced things like physics be handled?
- What are your thoughts on optionally joining group items so as to treat groups as a single entity?
- What would you like to see from groups and how do you expect them to work?
Want to keep updated with every step of our progress?! Be sure to change your thread notifications to Watching.