Unlinking datablocks
Of course, if Blender has a way to create links and duplicates, you’d logically (and correctly) think that you can convert a linked duplicate into an object with its own, non-shared datablock. In Blender, this process is called giving that datablock a single user.
The reason for the single user terminology goes back to how these datablocks are tied together. From the perspective of the datablock, each object that’s connected to it is considered a user. Refer to Figure 4-12: Each Cube object is a user of the Suzanne datablock. By choosing to use the Make Single User operator, you’re effectively telling Blender to duplicate that datablock and make sure that it connects to only a single object. To make an object have single user data, select the object you want and then choose Object ⇒ Relations ⇒ Make Single User in the 3D Viewport’s header. You see a menu with the following options:
Object: Use this option when you have an object linked to multiple scenes and you want to make changes to it that appear only in the specific scene that you’re currently working on.
Object & Data: For cases like the preceding example with the linked Suzanne meshes where you have a linked duplicate that you’d like to edit independently of the other meshes, choose this option. Doing so effectively converts a linked duplicate into a regular duplicate.
Object & Data & Materials: If you have an object that is not only sharing internal object data with others, but also sharing material settings, choose this option, and both those datablocks are duplicated and singly linked to your selected object. Using this option is a pretty good way to make sure that your selected object isn’t sharing with any other objects at all.
Materials: In cases where you no longer want to share materials between objects, choosing this option makes sure that your selected object has its own material settings independent of all the other objects.
Object Animation: This option is the inverse of the Make Links ⇒ Animation Data option. If your selected object is sharing actions with any other objects, choosing this option makes sure that it has actions of its own.
Another way to make object data a single user is to use the datablock buttons in Blender’s interface. In Figure 4-10, the number 3 is highlighted, showing that three objects share that particular datablock. If you left-click that number, you make that a single user datablock. This little button shows up in many places throughout the Blender interface. The datablocks that it operates on vary with context (for example, seeing this button in the Material tab of the Properties editor means that it’s working on a material datablock; seeing it in the Dope Sheet means that it’s working on actions, and so on), but it always means the same thing: Create a datablock like this one that has only the selected object as its user.
There is one other way to make object data a single user: Use the Outliner. Right-click an object data entry and choose ID Data ⇒ Make Single User from the menu that appears. There are a few datablocks (such as material actions) where this is the only clear way to make them single user.
Discovering parents, children, and collections
Working in 3D, you may encounter many situations where you’ll want a set of objects to behave like a single organizational group. Now, if the objects are all the same type, you can join them into a single object, but even with the L and Shift+L linked selection operations in Edit mode, this approach can get unwieldy. And joining them into a single object requires you to tab into Edit mode each time you want to work with an individual item. That’s not very efficient, and it doesn’t give you the flexibility of working with different kinds of objects as a single unit. The better way to organize your objects is with parent-child relationships or with collections.
With the release of Blender 2.80, Blender got the ability to have multiple objects in Edit mode at the same time. This feature certainly helps when trying to model an object consisting of multiple parts, but even with this handy feature, there are times when parenting and collections are a better course of action.
Establishing parent-child relationships between objects
Creating parent-child relationships between objects, or parenting in Blenderese, organizes the objects hierarchically. An object can have any number of children, but no object can have more than a single parent. To make an object a parent, follow these steps:
1 Select the objects you want to be children.They don’t have to be of the same type.
2 Make your last selection (the active object) the object that you want to become the parent.
3 Choose Object ⇒ Parent ⇒ Object in the 3D Viewport’s header menu or use the Ctrl+P ⇒ Object hotkey combination.After you confirm the operation by left-clicking or pressing Enter, Blender adds a dotted line from the origin of each child object to the origin of the parent. Now when you select just the parent object and perform a transform operation on it, it affects each of its children. However, if you select a child object and transform it, none of the other children or the parent object is influenced.
A good mnemonic device for remembering the correct order for selecting objects when you want to create a parent-child relationship is to think of the order people get off of a boat when they’re abandoning ship: “Children first!”
Parenting is a great way to organize a set of objects that have a clear hierarchy. For example, say that you’ve modeled a dinner table and the chairs to go around it. Now you want to place that table and chairs in a room, but the room is scaled much smaller than the table and chairs. Rather than select, scale, grab, and move each object into place, you can parent each of the chairs to the table. Then you can just select and transform the table. When you do so, all the chairs transform right along with it, as if they were a single object! Woohoo!
To clear a parent relationship, the process is only two steps:
1 Select the child object that you want to remove from the hierarchy.
2 Choose Object ⇒ Parent ⇒ Clear Parent in the 3D Viewport’s header or press Alt+P to clear the parent relationship.If you use the hotkey, you see a pop-up menu with three options:Clear Parent: This option removes the parent-child relationship between your selected object and its parent. If the parent object was transformed after the parenting took place, the cleared child jumps back to the position, scale, and rotation that it was in before it was parented.Clear and Keep Transformation: This option behaves the same as Clear Parent, except any transformations that were made while the selected object was a child are applied. This means that the cleared child does not snap back to its original pre-parented state. Aside from the dashed relationship line between the former child and parent disappearing, nothing should appear to change in your 3D scene.Clear Parent Inverse: This option is a bit tricky to understand. It actually does not remove the link between the selected child object and its parent. Instead, it basically clears the parent’s transformation from the child. Clear Parent Inverse is handy for situations where you’ve transformed an object before parenting it, and you want it to relate to the parent as if it had not been transformed prior to parenting. To be honest, I don’t use this option very often, but it’s certainly good to have around when you need it.