This section may be a bit bewildering on first reading. If you don’t understand it right away, don’t worry too much; but as you work more and more with Blender, making copies of objects, or sharing settings between objects, feel free to come back and re-read this and hopefully it will make some subtleties of Blender’s behaviour clearer.
::首先读到这个部分可能会有点困惑. 如果你不马上理解,不要太担心;但是当你越来越多地使用Blender,复制对象,或在对象之间共享设置时,请随时回来重新阅读,希望它能让Blender的行为变得更加清晰.

Datablocks And Users
::数据块和用户

It is helpful to understand how Blender manages memory. Just about everything in a Blender document—objects in scenes, scenes themselves, materials, textures, whatever—is stored in a  datablock . Each datablock has a name, which must be unique among datablocks of the same type. Each datablock may be referenced from one or more places, mostly in other datablocks—in Blender parlance, it has one or more  users . For example, several different objects might share the same material, so when you change the characteristics of the material, it automatically changes the appearance of all those objects.
::了解Blender如何管理内存有助于理解.Blender文档中的几乎所有内容 - - 场景中的对象,场景本身,材料,纹理,以及其他任何东西 - - 都存储在数据块中.每个数据块都有一个名称,该名称必须在同类数据块中是唯一的.每个数据块可以从一个或多个位置引用,主要是在其他数据块中.在Blender语言中,它有一个或多个用户.例如,几个不同的对象可能共享相同的材料,所以当你改变材料的特征时,它会自动改变所有这些对象的外观.

If the number of users of a datablock drops to zero, it still stays around in memory, but  it will not be saved when the document is saved . Thus, if you save and reload the document, all the datablocks with zero users will disappear. (In some cases you may need to save and reload a couple of times before all zero-user datablocks disappear.)
::如果数据块的用户数量降至零,它仍然会在内存中存在,但当保存文档时不会被保存.因此,如果您保存并重新加载文档,所有零用户的数据块将消失. (在某些情况下,您可能需要保存和重新加载几次,然后所有零用户的数据块将消失.)

But up until that point, the datablock will continue to appear in the relevant popup menus, so you can reassign it to more users.
::您可以将其重新分配给更多用户.

You can also assign a  fake user  to a datablock; this is what the “F” button is for in the popup menus that list datablocks of that type. This ensures that the user count never goes to zero, so the datablock always gets saved in the document even if it has no real users. This is useful for “library” documents, which can contain collections of useful materials and textures, say, that can be linked or imported into other documents, without also having to include dummy objects in the library just to ensure those materials and textures get saved.
::您还可以将假用户分配给数据块;这就是F按在列出该类型数据块的弹出菜单中的功能. 这确保了用户数量永远不会达到零,因此数据块即使没有真实用户也会在文档中保存. 这对于"库"文档有用,这些文档可以包含有用材料和纹理的集合,例如可以链接或导入到其他文档,而不必在库中包含虚拟对象,只是为了确保这些材料和纹理被保存.

For example, here is the widget that lets you choose the material for an object:
::让你选择一个物体的材料:

The main part shows the name of the current material, which is editable. The  X  button breaks the link to this material and decrements its number of users by one, while the  F  button assigns a fake user to this material. The  +  button lets you create a new material.
::主部分显示当前材料的名称,可编辑.X按打破了该材料的链接,并将其用户数量减少一个,而F按将假用户分配给该材料. +按允许您创建新材料.

The material symbol on the left pops up a list of existing materials to choose from, plus a search box to search all existing materials:
::左边的材料符号会弹出一列可供选择的现有材料,以及一个搜索框来搜索所有现有材料:

Note the entry with the  0  symbol next to it; that currently has a user count of zero, and will disappear when the document is saved and reloaded, if it is not further used.
::值得注意的是, 旁边的0符号是:当前用户数为零, 如果不再使用, 文件被保存和重新加载时将会消失.

The widget also displays the current user count if it is greater than 1:
::如果用户数量大于1时,则该小程序还会显示当前用户数量:

In this case the count was incremented because the  F  button was selected.
::在这种情况下,由于F按被选中, 数量增加了.

Note:

Clicking the number (if it’s greater than 1) makes a copy of the Material, attached only to this particular user. The copy has a user count of 1, while the original has its user count decremented by 1.
::单击数字 (如果它大于1) 就会制作一个副本,只附加到这个特定用户.副本的用户数为1,而原始的用户数则减少1.

This is the basis of the (slightly confusing) distinction in Blender between  object datablocks  and  object  data  datablocks . Object datablocks contain the information common to all the  types  of objects in the 3D scene, regardless of whether they’re mesh objects, lamp objects, camera objects or whatever; whereas the object  data  datablocks contain the information specific to that  instance  of the type of object, e.g. the vertex, edge and face definitions for this particular mesh you might be using, or the colour and energy of a lamp you've set up for your project, or the field of view of a camera you have.
::这就是Blender在对象数据块和对象数据块之间 (略有困惑) 的区别的基础.对象数据块包含3D场景中所有类型对象的共同信息,无论它们是网格对象,灯对象,摄像头对象还是其他什么;而对象数据数据块包含对象类型的特定信息,例如您可能使用的这个特定网格的顶点,边缘和面部定义,或者您为您的项目设置的灯的颜色和能量,或者您拥有的摄像头的视野.

That leads us to the difference between the two object duplication commands,  SHIFT + D  and  ALT + D : the former duplicates both the object datablocks and the object  data  datablocks (though this can be controlled in your User Preferences), while the latter only duplicates the object datablock. That means that in the first case the two objects are truly independent, but in the second case the new object continues to share the same object  data  datablock so a change in one will result in a change in both of them. So, for instance, if you use  ALT + D  on a mesh object and edit the vertices, edges or faces on one copy, the other copy will also be affected.
::这就带我们到两个对象重复命令,SHIFT + D和ALT + D之间的区别:前者重复对象数据块和对象数据块 (尽管可以在用户偏好中控制),而后者只重复对象数据块.这意味着在前一种情况下,两个对象是真正独立的,但在第二种情况下,新对象继续共享相同的对象数据块,因此在一个对象的更改将导致它们两者的更改.所以,例如,如果你在一个网格对象上使用ALT + D并编辑一个副本上的顶点,边缘或面,那么另一个副本也将受到影响.



Last modified: Friday, 14 March 2025, 7:29 PM