数据块
任何Blender项目的基本单元都是数据块。例如:网格(meshes)、物体(objects)、材质(materials)、纹理(textures)、节点树(node-trees)、场景(scenes)、文本(texts)、笔刷(brushes) ,甚至是屏幕(screens)。
区分说明:骨骼(bones),序列片段(sequence strips) 和顶点组(vertex groups) 不是 数据块, 而是分别从属于骨架(armature),场景(scene) 和网格(mesh)类型。
通用特性:
- 都是
.blend
文件的基础内容。 - 可以互相关联。便于重复利用和实例化(父/子、对象/对象数据,以及修改器和约束等方式)。
- 名称唯一。
- 允许添加、删除、修改和复制。
- 能在文件之间关联(仅限部分数据块)。
- 可以有自己的动画数据。
- 可以有 自定义属性 。当处理很复杂的工程管理任务时,数据块管理就会变得更加重要,特别是
.blend
文件之间进行关联的时候。
数据块视图。
用户(垃圾回收)
最好先了解一下Blender如何处理数据块生命周期,何时与为何释放数据块。
Blender遵循常规的数据块处理规则,未被使用的数据最终会被移除。
在创作过程中添加和删除大量数据是很常见的事情,垃圾回收的好处在于无需手动管理每一个数据块。
当写入 .blend
文件的时候,这些零用户数据块将将不会被保存。
一些时候,如果想要保存一个零用户数据块(通常是一些可供再用的资源库)。请看 伪用户 。
伪用户
由于零用户的数据块不会被保存,但有时你可能想要强制保留这些数据,而无需关心其使用者。
你如果创建了一个 .blend
文件,作为供给其他文件关联的库文件,那么需要非常小心的确保这些数据不会在库文件中被删掉。
只需要点击数据块名称旁边的 F 按钮,就可以给数据块添加一个 伪用户。这样就可以使该数据块的用户数永不为0:在关闭文件后也不会删除该数据块。(因为Blender无法追踪有多少其他文件关联了该数据块)。
多用户(共享)
多个数据块之间可以共享数据块。
常见共享数据情形如下:
- 材质之间共享贴图。
- 物体(实例)间共享网格数据。
物体间共享动画动作,比如让所有的灯光同时变暗。还可以在文件间共享数据库,详见:
关联库.
数据独立
参考
编辑器: | 3D视图 |
---|---|
模式: | 物体模式 |
菜单: | 物体‣ 使其独立化 |
快捷键: | U |
使选择的或者所有物体数据块归属于一个新用户,也就是说,除了当前物体之外没有其他物体共享该数据块。
- 类型
- 该操作可作用于选中物体,或者场景中所有物体。
所有,被选择物体
- 数据块
- 允许用户除菜单预设选择外,可以操作单个类型的数据。
物体,物体数据,材质,贴图,物体动画
删除数据块
如同在 用户(垃圾回收) 中讲过的那样。 数据块通常会在其不被使用后被删除。
但是,也有例外的时候:
这些数据块可以直接删除:场景, 文本,群组和屏幕。
其他数据块,比如组和动作,可以在 大纲编辑器 的上下文按钮中 取消关联 。
Tip
一些数据(特别是图像)是难于追踪的,尤其是图像视图也算作用户。
这些数据可以同时按下 Shift 和 X 按钮强制清除用户数,这样重载后数据块会被直接删除。
数据块类型
数据块类型及其图标。
这里有一张表格,列出了 .blend
文件中存储的数据类型,仅供参考。
关联(Link): | 库关联,支持关联到其他blend 文件中。 |
---|---|
打包(Pack): | 文件打包,文件内容能被打包进 blend 文件 (不适用于没有引用文件的多数数据块)。 |
类型 | 关联(Link) | 打包(Pack) | 描述 |
---|---|---|---|
动作(Action) | ✓ | — | 存储动画函数曲线(F-Curve)。用作动画数据,以及非线性编辑。 |
骨架(Armature) | ✓ | — | 带动网格形变的骨架。用作物体数据 & 骨架修改器(Armature Modifier)使用的数据。 |
笔刷(Brush) | ✓ | — | 用于绘制工具。 |
相机(Camera) | ✓ | — | 用作物体数据。 |
曲线(Curve) | ✓ | — | 用于相机,文字以及曲面物体。 |
字体(Font) | ✓ | ✓ | 字体文件引用。用于字体物体数据。 |
蜡笔(GreasePencil) | ✓ | — | 2D/3D 素描数据。在3D视窗,图像、序列&影片剪辑编辑器中叠加 帮助 信息。 |
组(Group) | ✓ | — | 物体的引用。用于副本组 & 常用于库关联。 |
图像(Image) | ✓ | ✓ | 图像文件。用于贴图 & 着色器节点。 |
灯(Lamp) | ✓ | — | 用作对象数据。 |
晶格(Lattice) | ✗ | — | 基于网格的晶格变形。用作物体数据,用于晶格修改器。 |
库(Library) | ✗ | ✓ | 对外部.blend 文件引用。从大纲视图的 Blender文件 视图访问。 |
线条样式(LineStyle) | ✓ | — | 用于FreeStyle 渲染引擎。 |
遮罩(Mask) | ✓ | — | 平面动画遮罩曲线。用于合成节点与序列编辑器。 |
材质(Material) | ✓ | — | 设置阴影和纹理的渲染属性。用于物件,网格与曲线。 |
网格(Mesh) | ✓ | — | 几何形状(顶点/边/面)。用作对象数据。 |
融球(MetaBall) | ✓ | — | 三维的等值曲面。用作对象数据。 |
影片剪辑(MovieClip) | ✓ | ✗ | 引用图片序列或视频文件。用于影片剪辑编辑器。 |
节点组(NodeGroup) | ✓ | — | 复用节点组合。用于节点编辑器。 |
物体(Object) | ✓ | — | 包含场景中位置,缩放和旋转的实体。被用于场景和组。 |
粒子(Particle) | ✓ | — | 粒子设置。用于粒子系统。 |
调色板(Palette) | ✓ | — | 存储预设的颜色。从绘图工具中访问。 |
场景(Scene) | ✓ | — | 主要存储所有的显示和动画数据。是物体和动画的最高存储单位。 |
屏幕(Screen) | ✗ | — | 屏幕布局。用于每个有自己屏幕的窗口。 |
形变关键帧(ShapeKeys) | ✗ | — | 存储几何形状的形变信息,用于动画。用于网格,曲线和晶格物体。 |
声音(Sounds) | ✓ | ✓ | 引用声音文件。用于扬声器物件和游戏引擎。 |
扬声器(Speaker) | ✓ | — | 三维场景的发声源。用作对象数据。 |
文本(Text) | ✓ | ✗ | 文本数据.用于 Python 脚本和 OSL shader。 |
纹理(Texture) | ✓ | — | 2D/3D 纹理。用于材质,世界和笔刷。 |
世界(World) | ✓ | — | 用于场景的环境渲染设置。 |
窗口管理器 | ✗ | — | 所有Blender UI的总体管理器,包含屏幕、通知系统、operator和键盘映射。 |