数据块
任何 Blender 项目的基本单元都是数据块。例如:网格(meshes)、物体(objects)、材质(materials)、纹理(textures)、节点树(node-trees)、场景(scenes)、文本(texts)、笔刷(brushes),甚至是屏幕(screens)。
一个数据块是不同类型数据的一种通用抽象,具有一组共同的基本特征、属性和行为。
通用特性:
各种数据块是组成
.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. | |
✓ | — | 用于相机物体的数据。 | |
✓ | — | 用于网格缓存修改器。 | |
✓ | — | 用作曲线,字体和曲面物体的数据。 | |
✓ | ✓ | 引用的字体文件。用于文本物体的曲线数据块。 | |
✓ | — | 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. | |
✓ | ✓ | 图像文件。用于着色节点和纹理。 | |
✗ | — | 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. | |
✓ | — | 由顶点/边/面构成的几何体,用作网格物体的数据。 | |
✓ | ✗ | Reference to an image sequence or video file. Used in the Movie Clip editor. | |
✓ | — | 可复用的节点组。在节点编辑器中使用。 | |
✓ | — | An entity in the scene with location, scale, rotation. Used by scenes & collections. | |
✓ | — | 存储绘制或雕刻笔画。从绘制工具访问。 | |
✓ | — | 存储颜色预设。可从绘图工具中访问。 | |
✓ | — | 粒子设置。用于粒子系统。 | |
✓ | — | 帮助在EEVEE中实现复杂的实时照明。 | |
✓ | — | Primary store of all data displayed and animated. Used as top-level storage for objects & animation. | |
✓ | ✓ | 引用至声音文件。用作扬声器物体的数据。 | |
✓ | — | 3D场景的音源。作为扬声器的物体数据。 | |
✓ | ✗ | 文本数据,用于 Python 脚本和 OSL 着色器。 | |
✓ | — | 2D/3D纹理。用于笔刷和修改器。 | |
✗ | — | The overarching manager for all of Blender’s user interface. Includes Workspaces, notification system, operators, and keymaps. | |
✓ | — | 定义全局渲染环境的设置项。 | |
✗ | — | 界面布局。用于每个有各自工作区的窗口。 |
生命周期
每个数据块都有其使用计数(引用计数),当有多个数据块时,您可以在界面中其名称右侧看到数据块的当前用户数。Blender遵循一般规则,即未使用的数据最终被删除。
由于在工作时添加和删除大量数据是很常见的,因此这样做的好处是不必手动管理每个数据块。这通过在写入blend文件时跳过零用户数据块来实现。
保护
由于零用户的数据块不会被保存,但有时你可能想要强制保留这些数据,而无需关心其使用者。
如果要构建一个blend文件作为要链接到其他文件和从其他文件链接的资源库,则需要确保它们不会意外地从库文件中删除。
要保护数据块,请使用其名称旁边带有盾牌图标的按钮。然后,Blender将永远不会静默删除数据块,但如果需要,您仍然可以手动删除它。
共享
数据块可以在其他数据块之间共享。
常见共享数据情形如下:
材质之间共享贴图。
物体(实例)间共享网格数据。
物体间共享动画动作,比如让所有的灯光同时变暗。
数据块可以在文件之间共享,见 关联库。
生成单用户
在多个用户之间共享数据块时,可以通过单击其名称右侧的用户计数按钮为指定的用户生成数据块的副本。这会复制该数据块并将新创建的副本分配给这个用法。
Note
物体具有一组更高级的操作,可以成为单用户,请参阅 其文档。
删除数据块
如 生命周期 中所述,当数据块不再使用时,通常会将其删除。它们也可以被手动 取消关联 或 删除。
取消关联数据块意味着其用户将不再使用它。这可以通过单击数据块名称旁边的“X”图标来实现。如果您取消与所有用户的关联数据块,则最终将被Blender删除,如上所述(除非它是受保护的)。
删除数据块将直接从 .blend
文件中删除它,自动将其与所有用户断开连接。这可以通过在其名称旁边的 “X” 图标上点击 Shift-LMB 来实现。
Warning
删除某些数据块可能会导致某些用户被删除,如果没有这些数据块这些用户将无效。常见的例子比如删除物体数据(如网格、曲线、摄像机……)也将删除使用它的所有物体。
这两种操作也可以在上下文菜单中使用 RMB - 单击 大纲视图 中的数据块。