数据块
任何 Blender 项目的基本单元都是数据块。例如:网格(meshes)、物体(objects)、材质(materials)、纹理(textures)、节点树(node-trees)、场景(scenes)、文本(texts)、笔刷(brushes) ,甚至是屏幕(screens)。
Blender 文件的大纲视图。
一个数据块是不同类型数据的一种通用抽象,具有一组共同的基本特征,属性和行为。
通用特性:
各种数据块是组成
.blend
文件的主要内容。可以互相关联,以便于重复利用和实例化(父/子、物体/物体数据,材质/图像,以及修改器和约束等方式)。
对于同一个
.blend
文件中的给定的数据块类型,其名字是唯一的。允许添加、删除、修改和复制。
数据块能在文件之间相互关联(仅限部分数据块)。
可以有自己的动画数据。
They can have Custom Properties.
User will typically interact with the higher level data types (objects, meshes, etc.). When doing more complex projects, managing data-blocks becomes more important, especially when inter-linking blend-files. The main editor for that is the Outliner.
并非 Blender 中的每个数据都是数据块,例如骨骼、序列条带或顶点组就不是数据块,它们分别属于骨架,场景和网格类型。
数据块类型
数据块类型及其图标。
这里有一张表格,列出了 .blend
文件中存储的数据类型,仅供参考。
关联
库关联,支持关联到其他 .blend
文件中。
打包(Pack)
File Packing, supports file contents being packed into the blend-file (not applicable for most data-blocks which have no file reference).
类型 | 关联 | 打包(Pack) | 描述 |
---|---|---|---|
✓ | — | 存储动画 F-曲线(F-Curve)。 用作动画数据, 以及非线性动画编辑器。 | |
✓ | — | 带动网格形变的骨架。 用作骨架物体的数据,以及骨架修改器(Armature Modifier)。 | |
✓ | — | 用于绘制工具。 | |
✓ | — | 用于相机物体的数据。 | |
✓ | — | 用于网格缓存修改器。 | |
✓ | — | 用作曲线,字体和曲面物体的数据。 | |
✓ | ✓ | 字体文件引用。 文本物体的曲线数据。 | |
✓ | — | Grease Pencil 物体使用的2D / 3D草图数据。 在3D视窗,图像、序列&影片剪辑编辑器中 3D Viewport, Image, Sequencer & Movie Clip editors. | |
✓ | — | 把场景中的物体分组整理。 用于实例物体和库链接。 | |
✓ | ✓ | 图像文件。 用于着色节点和贴图。 | |
✗ | — | 存储几何形状的形变信息,用于动画。 用于网格,曲线和晶格物体。 | |
✓ | — | 用作灯光物体的数据。 | |
✗ | ✓ | 对外部 .blend 文件的引用。从大纲视图的 Blender文件 视图访问。 | |
✓ | — | 用于 FreeStyle 渲染引擎。 | |
✓ | — | 基于网格的晶格变形。 用作晶格物体的数据,用于晶格修改器。 | |
✓ | — | 平面动画遮罩曲线。 用于合成节点与序列编辑器。 | |
✓ | — | 设置阴影和纹理的渲染属性。 用于物体,网格与曲线。 | |
✓ | — | 三维的等值曲面。 用于融球物体的数据。 | |
✓ | — | 由顶点/边/面生成的几何体。 用于网格物体的数据。 | |
✓ | ✗ | 引用图片序列或视频文件。 用于 影片剪辑编辑器。 | |
✓ | — | 可复用的节点组。 用于节点编辑器。 | |
✓ | — | 包含场景中位置, 缩放和旋转的实体。 被用于场景和集合。 | |
✓ | — | 保存一个绘制或雕刻的笔划数据。 从绘图工具中访问。 | |
✓ | — | 存储预设的颜色。 从绘图工具中访问。 | |
✓ | — | 粒子设置。 用于粒子系统。 | |
✓ | — | 帮助在Eevee中实现复杂的实时照明。 | |
✓ | — | 主要存储所有的显示和动画数据。 是物体和动画的最高存储单位。 | |
✓ | ✓ | 参考的声音文件。 用于扬声器物体数据。 | |
✓ | — | 三维场景的发声源。 用于扬声器物体数据。 | |
✓ | ✗ | 文本数据. 用于 Python 脚本和 OSL shader。 | |
✓ | — | 2D/3D 纹理。 用于笔刷和修改器。 | |
✗ | — | The overarching manager for all of Blender’s user interface. 包含工作区、通知系统、操作和键位映射。 | |
✓ | — | 定义全局渲染环境的设置项。 | |
✗ | — | 界面布局。 用于每个有自己的工作区的窗口。 |
生存期
Every data-block has its usage counted (reference count), when there is more than one, you can see the number of current users of a data-block to the right of its name in the interface. Blender follows the general rule that unused data is eventually removed.
Since it is common to add and remove a lot of data while working, this has the advantage of not having to manually manage every single data-block. This works by skipping zero user data-blocks when writing blend-files.
保护
由于零用户的数据块不会被保存,但有时你可能想要强制保留这些数据,而无需关心其使用者。
If you are building a blend-file to serve as a library of assets that you intend to link to and from other files, you will need to make sure that they do not accidentally get deleted from the library file.
To protect a data-block, use the button with the shield icon next to its name. The data-block will then never be silently deleted by Blender, but you can still manually remove it if needed.
共享
数据块可以在其他数据块之间共享。
常见共享数据情形如下:
材质之间共享贴图。
物体(实例)间共享网格数据。
物体间共享动画动作,比如让所有的灯光同时变暗。
数据块可以在文件之间共享,见 关联库。
生成单用户
在多个用户之间共享数据块时,可以通过单击其名称右侧的用户计数按钮为指定的用户生成数据块的副本。这会复制该数据块并将新创建的副本分配给这个用法。
Note
Objects have a set of more advanced actions to become single-user, see their documentation.
删除数据块
As covered in Life Time, data-blocks are typically removed when they are no longer used. They can also be manually unlinked or deleted.
Unlinking a data-block means that its user won’t use it anymore. This can be achieved by clicking on the “X” icon next to a data-block’s name. If you unlink a data-block from all of its users, it will eventually be deleted by Blender as described above (unless it is a protected one).
删除数据块将直接从 .blend
文件中删除它,自动将其与所有用户断开连接。 这可以通过在其名称旁边的“X”图标上点击 Shift-LMB 来实现。
Warning
删除某些数据块可能会导致某些用户被删除,如果没有这些数据块这些用户将无效。 常见的例子比如删除物体数据(如网格,曲线,相机……)也将删除使用它的所有物体。
这两种操作也可以在上下文菜单中使用 RMB - 单击 大纲视图 中的数据块。
自定义属性
自定义属性面板。
Custom properties are a way to store your own data in Blender’s data-blocks. It can be used for rigging (where bones and objects can have custom properties driving other properties), and Python scripts, where it’s common to define new settings not available in Blender. It is also possible to access custom properties from materials via the Attribute Node.
只有这些数据支持自定义属性:
所有 数据块类型。
骨骼和姿态骨骼。
序列片段。
To add a custom property, search for the Custom Properties panel, found at the bottom of most Properties or Sidebar region, and hit Add.
编辑属性
用户界面
可以使用数据类型面板来编辑自定义属性。
编辑自定义属性的弹框。
属性名
自定义属性的名字。
属性值
这里其实做了两件事:首先设置了自定义属性的当前值,第二,定义了属性的数据类型。
Custom properties can be of the following types: integers, floats, strings, Boolean values, colors, or vectors of integers or floats.
各个数据类型的例子如下表所示:
整数
1, 2, 3, 4,
浮动
3.141, 5.0, or 6.125
字符串型
any text
布尔
True
orFalse
矢量
[1, 2, 3]
or[1.0, 2.0, 3.0]
颜色
[1.0, 1.0, 1.0]
or[1.0, 1.0, 1.0, 1.0]
(must specify Subtype)
Note
Boolean values are handled very similar to integers and only work when using Min/Max values that are integers and that are no more than 1 apart.
At this point, the Boolean values will still look like integers but behave like a Boolean having one lower, off, value and a higher, on, value.
默认值
在使用重置为默认值操作时用到的属性的默认值。
Warning
Default values are used as the basis of NLA blending, and a nonsensical default (e.g. 0 for a property used for scaling) on a property intended for being keyframed is likely to cause issues.
最小值,最大值
The minimum/maximum value the custom property can take.
带alpha的色彩的自定义属性设置。
库是否可覆盖
Allow the property to be overridden when the data-block is linked.
使用软限制
开启通过滑块调整 属性值 的限制,而无需以数字方式输入值。
Soft Min, Max
The minimum/maximum value for the soft limit.
提示
允许你为你的自定义属性编写 提示。
子类型
Specifies the type of data the property contains, which affects how it appears in the user interface. In order for this property to appear the Property Value must be a vector of floats. For either of the color subtypes to work the Property Value must be a vector with three or four values depending on the availability of an Alpha Channel.
Plane Data
Data values do not have any special behavior.
Linear Color
Color in linear color space.
Gamma-Corrected Color
Color in gamma corrected color space.
欧拉角度
Euler Rotation angles.
Quaternion Angles
Quaternion Rotation angles.
Python 脚本访问
可以通过与 字典 类似的方式访问自定义属性,其中键值只能是字符串,而值只能是字符串,数字,数组或嵌套属性。
See the API documentation for details.