数据块
任何 Blender 项目的基本单元都是数据块。数据块的例子包括:网格(meshes)、物体(objects)、材质(materials)、纹理(textures)、节点树(node-trees)、场景(scenes)、文本(texts)、笔刷(brushes),甚至是工作区(Workspaces)。
一个数据块是不同类型数据的一种通用抽象,具有一组共同的基本特征、属性和行为。
通用特性:
各种数据块是组成
.blend
文件的主要内容。可以互相关联,以便于重复利用和实例化。(父/子、物体/物体数据,材质/图像,以及修改器和约束等方式)
对于同一个
.blend
文件中的给定的数据块类型,其名字是唯一的。允许添加、删除、修改和复制。
数据块能在文件之间相互关联(仅限部分数据块)。
可以有自己的动画数据。
他们可以有自定义属性。
用户通常会与更高级别的数据类型(物体、网格等)进行交互。在执行更复杂的项目时,管理数据块变得更加重要,尤其是在相互关联 blend 文件时。主要的编辑器是大纲。
并非 Blender 中的每个数据都是数据块,例如骨骼、序列片段或顶点组就不是数据块,它们分别从属于骨架、场景和网格类型。
数据块类型
这里有一张表格,列出了 .blend
文件中存储的数据类型,仅供参考。
- 关联
库关联,支持关联到其他
.blend
文件中。- 打包
文件打包,支持将文件内容打包到 blend 文件中( 不 适用于大多数没有文件引用的数据块)。
类型 |
关联 |
打包 |
描述 |
---|---|---|---|
✓ |
— |
Stores animation F-Curves.
Used as data-block animation data,
and the Nonlinear Animation editor.
|
|
✓ |
— |
Skeleton used to deform meshes.
Used as data of armature objects, and by the Armature Modifier.
|
|
✓ |
— |
Used by paint tools.
|
|
✓ |
— |
用于相机物体的数据。
|
|
✓ |
— |
用于网格缓存修改器。
|
|
✓ |
— |
用作曲线、字体和曲面物体的数据。
|
|
✓ |
✓ |
References font files.
Used by curve object-data of text objects.
|
|
✓ |
— |
2D/3D sketch data used by Grease Pencil objects.
Used as overlay helper info, by the
3D Viewport, Image, Sequencer & Movie Clip editors.
|
|
✓ |
— |
Group and organize objects in scenes.
Used to instance objects, and in library linking.
|
|
✓ |
✓ |
Image files.
Used by shader nodes and textures.
|
|
✗ |
— |
Geometry shape storage, which can be animated.
Used by mesh, curve, and lattice objects.
|
|
✓ |
— |
用作灯光物体的数据。
|
|
✗ |
✓ |
References to an external blend-file.
Access from the Outliner's Blender File view.
|
|
✓ |
— |
用于 FreeStyle 渲染引擎。
|
|
✓ |
— |
Grid based lattice deformation.
Used as data of lattice objects, and by the Lattice Modifier.
|
|
✓ |
— |
2D animated mask curves.
Used by compositing nodes & sequencer strip.
|
|
✓ |
— |
Set shading and texturing render properties.
Used by objects, meshes & curves.
|
|
✓ |
— |
An isosurface in 3D space.
Used as data of metaball objects.
|
|
✓ |
— |
Geometry made of vertices/edges/faces.
Used as data of mesh objects.
|
|
✓ |
✗ |
Reference to an image sequence or video file.
Used in the Movie Clip editor.
|
|
✓ |
— |
Groups of re-usable nodes.
Used in the node editors.
|
|
✓ |
— |
An entity in the scene with location,
scale, rotation.
Used by scenes & collections.
|
|
✓ |
— |
Stores a paint or sculpt stroke.
Access from the paint tools.
|
|
✓ |
— |
Store color presets.
Access from the paint tools.
|
|
✓ |
— |
Particle settings.
Used by particle systems.
|
|
✓ |
— |
Help achieve complex real-time lighting in Eevee.
|
|
✓ |
— |
Primary store of all data displayed and animated.
Used as top-level storage for objects & animation.
|
|
✓ |
✓ |
Reference to sound files.
Used as data of speaker objects.
|
|
✓ |
— |
Sound sources for a 3D scene.
Used as data of speaker object.
|
|
✓ |
✗ |
Text data.
Used by Python scripts and OSL shaders.
|
|
✓ |
— |
2D/3D textures.
Used by brushes and modifiers.
|
|
✗ |
— |
The overarching manager for all of Blender's user interface.
Includes Workspaces, notification system, operators, and keymaps.
|
|
✓ |
— |
定义全局渲染环境的设置项。
|
|
✗ |
— |
UI layout.
Used by each window, which has its own workspace.
|
生命周期
每个数据块都有其使用计数(引用计数),当有多个数据块时,您可以在界面中其名称右侧看到数据块的当前用户数。Blender 遵循一般规则,即未使用的数据最终被删除。
由于在工作时添加和删除大量数据是很常见的,因此这样做的好处是不必手动管理每个数据块。这通过在写入 blend 文件时跳过零用户数据块来实现。
保护
由于零用户的数据块不会被保存,但有时你可能想要强制保留这些数据,而无需关心其使用者。
如果要构建一个 blend 文件作为要关联到其他文件和从其他文件关联的资产库,则需要确保它们不会意外地从库文件中删除。
要保护数据块,请使用其名称旁边带有盾牌图标的按钮。然后,Blender 将永远不会静默删除数据块,但如果需要,您仍然可以手动删除它。
生成单用户
在多个用户之间共享数据块时,可以通过单击其名称右侧的用户计数按钮为指定的用户生成数据块的副本。这会复制该数据块并将新创建的副本分配给这个用法。
Note
物体具有一组更高级的操作,可以成为单用户,请参阅其文档。
删除数据块
如生命周期中所述,当数据块不再使用时,通常会将其删除。它们也可以被手动 取消关联 或 删除。
取消关联数据块意味着其用户将不再使用它。这可以通过单击数据块名称旁边的 “X” 图标来实现。如果您取消与所有用户的关联数据块,则最终将被 Blender 删除,如上所述(除非它是受保护的)。
删除数据块将直接从 blend 文件中删除它,自动将其与所有用户断开连接。这可以通过在其名称旁边的 “X” 图标上点击 Shift-鼠标左键 来实现。
Warning
删除某些数据块可能会导致某些用户被删除,如果没有这些数据块这些用户将无效。常见的例子比如删除物体数据(如网格、曲线、摄像机……)也将删除使用它的所有物体。
这两种操作也可以在上下文菜单中使用 鼠标右键 - 单击 大纲视图 中的数据块。