KatsBits Community

Game Editing => Video Channel => Topic started by: kat on April 10, 2016, 12:54:09 PM

Title: [Blender] manage Scenes/objects using Group and Parent
Post by: kat on April 10, 2016, 12:54:09 PM

Q: Is there a way to manipulate 'groups' of items or multiple selections in Blender without constantly having to use Shift+RMB to select each item beforehand then move?

A: Yes, but with caveats. Basically Blender provides two general means through which multiple Objects and Object types can be managed and manipulated as a unit by assigning a differing relationship between objects using; 1) Parent or 2) Group properties.


Situation
Wanting a simply way to group items together, often of differing 'type', so they can be manipulated as a larger selection, rather than necessarily wanting to create any special relationship between items, or instead of constantly having to multi-select individual objects or elements. Essentially a better way to manage or organise a Scene or objects within it.

Parent
The use of "Parent" to group objects together creates a relational link or association between items of a larger selection so when any single sub-item is selected and moved, any 'Child' objects linked to the 'Parent' or 'control' item it will follow. In this way relatively complex relationships can be set up between linked units, within which different sub-units can be further defined and manipulated independently of the 'Parent' or 'root' item to which everything belongs. For example;

Code: [Select]
Parent (red)
> Child 1 (blue)
>> sub-Child 1 (light-blue)
>> sub-Child 2 (purple)
> Child 2 (green)
>> sub-Child 3 (yellow)

In this scenario, selecting and performing basic OBJECT manipulations on the "Parent" item modifies the entire chain of items because the "Parent" is the 'root' or 'master' through which transform essentially takes place. Alternatively selecting and manipulating "Child 2" only affects it and its Children - modifying its size alters only those along the local chain ("Child 2" plus "sub_Child 1" and "sub-Child 2" as exampled below).

Group
Alternatively, "Group" can be used to similarly organise selections through the use of 'disassociated' linking. This essentially creates a link between objects within the group without propagating object data properties - whilst objects can be linked together they behave individualistically, selecting the 'root' of a sub-group and manipulating it has no immediate effect on any linked 'Child' items unless they too are actually selected as part of the group. For example instead of following (where a definite hierarchy is created and required for Parent to function);

Code: [Select]
Parent (red)
> Child 1 (blue)
>> sub-Child 1 (light-blue)
>> sub-Child 2 (purple)
> Child 2 (green)
>> sub-Child 3 (yellow)

Grouping objects together is far more flexible because a 'root' item is not necessarily - the 'Group' is the data element, not the objects within;

Code: [Select]
Root, Child 1, sub-Child 1, sub-Child 2, Child 2, sub-Child 3 (group 1)
Or the following, all of which are still items belonging to the same broader group;

Code: [Select]
Root, Child 1, Child 2 (group 1).
Root, sub-Child3, sub-Child 1, sub-Child 2 (group 2).
Child 2, sub-Child 2 (group 3).

In this scenario selecting and manipulating a given individual unit within the group effects only that item - change does not propagate along the item chain; selecting "Child 1" only modifies itself and not "sub-Child 1" and "sub-Child 2". However, in using "Group", multiple sub-groups with multiple 'roots', depending on the relationships required, can be created. Continuing with the above set up example, "sub-Child 2" and "sub-Child 3" can be grouped to "sub-Child 1", and also "Root", or "Child 2" depending on the group organisation required, which then allows for different group selections within the overall master grouping.

Difference between Parent and Group
There are number of significant difference between "Group" and "Parent" when used as a means to organise of manage a selection of items;

1) Single vs multiple roots: "Parent" (simple Parenting, no modifiers) only allows for single, one-way connections, which limit the complexity of group/sub-group relationships - objects ordinarily cannot have multiple Parents, or belong to groupings or sub-groupings that might otherwise allow for this. "Groups" on the other hand do allow for this because relationships are 'disassociative' - as it carries no properties other than the link between items to form the grouping, it's possible to form multiple cross-linked groupings within the same collection of items.

2) Immediacy: the use of "Parent" is relatively immediate in terms of selecting and manipulating objects - to modify simply right-click as normal and manipulate. For "Groups" this differs in that Groups have to be selected, adding an extra step or two to the editing process depending on the depth or relationship complexity between the overall group and its sub-groups.

3) Selection: selecting individual objects or items within a Parented group is not immediately possible (switching to Edit Mode ignores this) whereas for Groups it is. The opposite is also true however, selecting groups of items rather than individual units within, is not as immediate for "Group" as it is for "Parent" (a sub-parent can be immediately selected, but a sub-group cannot).

4) Context availability: "Parent" is more context sensitive than "Group" and, depending upon the Editor or View being used/is the focus of attention, is not as widely available.

5) Data or Item restrictions: as well as Editor or View restrictions, the Object and Data type applicability differs between "Parent" and "Group", the latter being more broadly available than the former, meaning the amount and variety of objects and data types each can collate together differs based on context.

How to 'Parent' objects
To "Parent" a number of objects together, Shift+RMB multi-select the items to be linked with the 'control' or 'root' item being last. In the 3D View Header left-click the "Object" menu option then click "Parent", "Object" ("Object » Parent » Object"), alternatively in the "Relations" tab in the Tool Shelf click "Set" under "Parent:", then "Object" in the popup that appears. If the Outliner Editor is visible a small triangle(s) icon(s) will appear to the right of the 'root' object set as the Parent, confirming the action.

To create a sub-group within a Parented grouping, Shift+RMB select the additional items to be linked, again the sub-control or sub-root being last, then again click the "Object" menu option in the 3D Header, selecting "Parent » Object" as before. Once set up selecting the master Parent will now modify the entire grouping, whereas selecting the sub-Parent will modify that sub-group only.


How to select Parented objects
Once a set of objects or items have been Parented together; to manipulate the overall group or a sub-group within, simply right-click the 'parent' item of each and manipulate; if the objects are part of a Parented grouping each will outline white when moved to indicating this.

To manipulate individual items either detach the selection (right-click select then press "Alt+P" clicking "Clear Parent" or "Clear and Keep Transform") or toggle in to Edit Mode and manipulate - this keeps the relationship but allows for individualisation of selected items without effecting others in the chain.

How to 'Group' objects
To "Group" multiple objects together, "Shift+RMB" multi-select the items to be grouped then in the 3D Views Header left-click the "Object" menu option, then "Group » Create New Group", or alternatively in the "Relations" panel of the Tool Shelf click "New Group" under the "Group:" sub-section. The items will immediately outline green confirming the action. Once created in "Object" Properties the Groups name can be changed typing a new value in the "ID name" input field.

To create sub-groups within or including other groups or items, "Shift+RMB" multi-select the objects to be included and again from the "Object" menu in the 3D View Header, select "Group » Create New Group". All items now included will outline green.
Quote
Design note: Groups don't require 'master' or 'root' selections (a particular item being selected last because it is the 'root' object of the collection) because the relationship between group members is not hierarchical.


How to select Grouped Objects
Once items are grouped, selection is based on Group assignment rather than object association - moving an individual object has no effect on the Group to which it belongs. To select a specific Group, right-click any individual unit within a Group and from "Object" Properties left-click the black arrow top-right of the displayed Groups datablock and click "Select Grouped". All associated items will be highlighted. To select more than one Group, select one item from each Group to display their associated Properties and again click the black arrow per each datablock.
Quote
Design note: in "Object" Properties the Groups displayed depend on object assignment and active selection - if more than one Group is associated with an individual item, all will be shown, providing the option to select either/or/multiple/all.

How to Parent or Group objects Video
To "Parent (http://www.youtube.com/embed/gqHlLNjes_I)" objects.
To "Group (https://youtu.be/gqHlLNjes_I?t=1m5s)" objects.