Datablocks are the most basic Blender components. Every element you can build, such as objects, meshes, lamps, textures, materials, and armatures (skeletons), is made out of datablocks. Everything in the 3D scene is contained in an object.
Whether you’re creating a mesh, a lamp, or a curve, you’re creating an object. In Blender, any object has object data (ObData) inside it, so the object itself acts as a kind of container for the data. The ObData defines the type of element an object contains. As an example, let’s look at a mesh and see the difference between the object and the object data in Figure 3.3.
You can see how to check for an object’s name inside the Properties Editor. The image to the right shows how the “Mesh’s Name” is inside the “Object’s Name.” In the image, the ObData is a mesh; if it were a lamp or a curve, the icon would change accordingly. The Properties Editor always shows information about the selected object, but if you click the Pin icon, the currently selected object’s information will be pinned and, even if you select a different object, the Properties Editor will keep displaying the pinned object’s information.
Here are some key points about objects and ObData.
Objects are containers for ObData. An object defines where an element (such as a lamp or mesh) is placed inside the 3D world and it carries location, rotation, and scale data. It also contains modifiers or constraints, as they affect the object as well.
ObData: ObData defines what’s inside an object. If the ObData is a mesh, for example, you’d see a mesh with its vertices and faces inside the object. When you access the ObData, you can adjust its parameters. If you click the drop-down list of the ObData datablock, you can load a different ObData into the object. For example, you could load a different mesh into the object’s position. Several objects can use the same ObData (these objects are called instances or linked duplicates), which means that even if they are in different positions in the scene, all of them will synchronize their contents, so if you adjust the mesh vertices in one of them, the others will reflect those changes as well.
Duplicates and Instances (Linked Duplicates)
You need to understand the difference between a duplicate and an instance. A duplicate is a new object created from an existing one so it looks the same as the original, but it’s independent and there is no link between the new one and the original. An instance is also a new object; it can be in a different position, but it’s directly linked to the original object, so if you change the ObData in an object, it will affect its instances as well.
When you duplicate an object (Shift + D), some ObData will be duplicated with it while other ObData will be instanced. You can define the defaults for this in the User Preferences on the Editing tab. For example, if you duplicate an object, by default it will duplicate the mesh data contained in it, but it will use the same material data, so both objects will use the same material datablock.
On the other hand, instancing (Alt + D) will only duplicate the object, but the rest of ObData it carries inside will be linked and synchronized with the original. An alternative method to instance a mesh is to go to the Properties Editor, on the ObData tab, and select a different mesh from the drop-down list in its datablock.
To the right of some datablock names, you’ll find an F button as well as a number. The number indicates the number of users that datablock has. For example, in Figure 3.3, the mesh ObData has 2 different users; this means that 2 different objects are using that mesh data (there is an instance in the scene). If you want to turn an instance into an independent and unique datablock, just click the number and it will indicate a single user.
If, at some point, a datablock (like a mesh or a material, for example) has 0 users and you close the file, Blender cleans out the unused datablocks in the file, so you’ll lose that great material you created but weren’t currently using. That’s why the F button is there; it creates a “fake user” of that datablock, so even if you’re not using it in the scene, it will have 1 user and that will prevent the datablock from being deleted when you exit the project.
Keep in mind that you will usually work with the names of objects. Most of the time, you don’t need to access the name of ObData like meshes, so if you are running low on time, you can probably skip ObData naming.
3.139.97.161