数据块

任何 Blender 项目的基本单元都是数据块。例如:网格(meshes)、物体(objects)、材质(materials)、纹理(textures)、节点树(node-trees)、场景(scenes)、文本(texts)、笔刷(brushes) ,甚至是屏幕(screens)。

../_images/files_data-blocks_outliner-blender-file-view.png

Blender 文件的大纲视图。

一个数据块是不同类型数据的一种通用抽象,具有一组共同的基本特征,属性和行为。

通用特性:

  • 各种数据块是组成 .blend 文件的主要内容。

  • 可以互相关联,以便于重复利用和实例化(父/子、物体/物体数据,材质/图像,以及修改器和约束等方式)。

  • 对于同一个 .blend 文件中的给定的数据块类型,其名字是唯一的。

  • 允许添加、删除、修改和复制。

  • 数据块能在文件之间相互关联(仅限部分数据块)。

  • 可以有自己的动画数据。

  • 他们可以有 自定义属性.

用户通常会与更高级别的数据类型(对象、网格等)进行交互。在执行更复杂的项目时,管理数据块变得更加重要,尤其是在相互链接混合文档时。主编是 大纲

并非 Blender 中的每个数据都是数据块,例如骨骼、序列剪辑或顶点组就不是数据块,它们分别属于骨架,场景和网格类型。

数据块类型

../_images/files_data-blocks_id-types.png

数据块类型及其图标。

这里有一张表格,列出了 .blend 文件中存储的数据类型,仅供参考。

关联

库关联,支持关联到其他 .blend 文件中。

打包(Pack)

文件打包,支持将文件内容打包到混合文件中( 适用于大多数没有文件参考的数据块)。

类型

关联

打包(Pack)

描述:

动作(Action)

恢复已禁用的函数曲线
用作动画数据,
以及非线性动画编辑器。

骨架(Armature)

带动网格形变的骨架。
用作骨架物体的数据,以及骨架修改器(Armature Modifier)。

笔刷(Brush)

用于绘制工具。

相机(Camera)

用于相机物体的数据。

缓存文件(Cache File)

用于网格缓存修改器。

曲线(Curve)

用作曲线,字体和曲面物体的数据。

字体(Font)

字体文件引用。
文本物体的曲线数据。

蜡笔(Grease Pencil)

Grease Pencil 物体使用的2D / 3D草图数据。
在3D视窗,图像、序列&影片剪辑编辑器中
3D视口,图像,序列器和影片剪辑编辑器。

集合(Collection)

把场景中的物体分组整理。
用于实例物体和库链接。

图像(Image)

图像文件。
用于着色节点和贴图。

形态键(Keys)(Shape Keys)

存储几何形状的形变信息,用于动画。
用于网格,曲线和晶格物体。

灯光(Light)

用作灯光物体的数据。

关联库(Library)

对外部 .blend 文件的引用。
从大纲视图的 Blender文件 视图访问。

线条样式(Line Style)

用于 FreeStyle 渲染引擎。

晶格(Lattice)

基于网格的晶格变形。
用作晶格物体的数据,用于晶格修改器。

遮罩(Mask)

平面动画遮罩曲线。
用于合成节点与序列编辑器。

材质(Material)

设置阴影和纹理的渲染属性。
用于物体,网格与曲线。

融球(Metaball)

三维的等值曲面。
用于融球物体的数据。

网格(Mesh)

由顶点/边/面生成的几何体。
用于网格物体的数据。

影片剪辑(Movie Clip)

引用图片序列或视频文件。
用于 影片剪辑编辑器

节点树(Node Tree)

可复用的节点组。
用于节点编辑器。

物体(Object)

包含场景中位置,
缩放和旋转的实体。
被用于场景和集合。

绘制曲线(Paint Curve)

保存一个绘制或雕刻的笔划数据。
从绘图工具中访问。

调色板(Palette)

存储预设的颜色。
从绘图工具中访问。

粒子(Particle)

粒子设置。
用于粒子系统。

光照探头(Light Probe)

帮助在Eevee中实现复杂的实时照明。

场景(Scene)

主要存储所有的显示和动画数据。
是物体和动画的最高存储单位。

声音(Sounds)

参考的声音文件。
用于扬声器物体数据。

扬声器(Speaker)

三维场景的发声源。
用于扬声器物体数据。

文本(Text)

文本数据.
用于 Python 脚本和 OSL shader。

贴图(Texture)

2D/3D 纹理。
用于笔刷和修改器。

窗口管理器(Window Manager)

所有Blender用户界面的总体管理器。
包含工作区、通知系统、操作和键位映射。

世界(World)

定义全局渲染环境的设置项。

工作区(Workspace)

界面布局。
用于每个有自己的工作区的窗口。

生存期

每个数据块都有其使用计数(引用计数),当有多个数据块时,您可以在界面中其名称右侧看到数据块的当前用户数。Blender遵循一般规则,即未使用的数据最终被删除。

由于在工作时添加和删除大量数据是很常见的,因此这样做的好处是不必手动管理每个数据块。这通过在写入混合文档时跳过零用户数据块来实现。

保护

由于零用户的数据块不会被保存,但有时你可能想要强制保留这些数据,而无需关心其使用者。

如果要构建一个 blend 文档作为要链接到其他文档和从其他文档链接的资源库,则需要确保它们不会意外地从库文档中删除。

要保护数据块,请使用其名称旁边带有盾牌图标的按钮。然后,Blender将永远不会静默删除数据块,但如果需要,您仍然可以手动删除它。

共享

数据块可以在其他数据块之间共享。

常见共享数据情形如下:

  • 材质之间共享贴图。

  • 物体(实例)间共享网格数据。

  • 物体间共享动画动作,比如让所有的灯光同时变暗。

数据块可以在文件之间共享,见 关联库

生成单用户

在多个用户之间共享数据块时,可以通过单击其名称右侧的用户计数按钮为指定的用户生成数据块的副本。这会复制该数据块并将新创建的副本分配给这个用法。

Note

对象具有一组更高级的操作,可以成为单用户,请参阅 其文档

删除数据块

Life Time 中所述,当数据块不再使用时,通常会将其删除。它们也可以手动 取消链接删除

取消链接数据块意味着其用户将不再使用它。这可以通过单击数据块名称旁边的 “X”图标来实现。如果您取消与所有用户的链接数据块,则最终将被Blender删除,如上所述(除非它是受保护的)。

删除数据块将直接从 .blend 文件中删除它,自动将其与所有用户断开连接。 这可以通过在其名称旁边的 “X”图标上点击 Shift-LMB 来实现。

Warning

删除某些数据块可能会导致某些用户被删除,如果没有这些数据块这些用户将无效。 常见的例子比如删除物体数据(如网格,曲线,相机……)也将删除使用它的所有物体。

这两种操作也可以在上下文菜单中使用 RMB - 单击 大纲视图 中的数据块。

自定义属性

../_images/files_data-blocks_add.png

自定义属性面板。

自定义属性是一种在 Blender 的数据块中存储您自己的数据的方法。它可用于绑定(骨骼和对象可以具有驱动其他属性的自定义属性)和 Python 脚本,其中定义Blender中不可用的新设置是很常见的。还可以通过 属性节点 从材质访问自定义属性。

只有这些数据支持自定义属性:

要添加自定义属性,请搜索大多数 属性 或侧边栏区域底部的 自定义属性 面板,然后单击 新建 。可以使用删除图标从同一位置删除属性。属性添加后,可以通过编辑图标进行配置,以处理特定用例;有关详细信息,请参阅 编辑属性

编辑属性

用户界面

../_images/files_data-blocks_edit.png

编辑自定义属性的弹框。

自定义属性可以使用可用于支持它的数据类型的面板进行编辑。编辑属性允许您配置默认值、范围,甚至添加自定义工具提示。

类型

属性的数据类型;不同的数据类型只能具有特定的数据属性。

  • 浮动

    小数位数值,例如3.141、5.0或6.125。

    浮点数

    多个浮点数据类型的集合,例如 “[3.141, 5.0, 6.125]“。这种数据类型还可用于可表示为诸如颜色的浮点数组的数据。这些特殊的浮点数组可以在 子类型 选择器中设置。

    整数

    没有任何小数位数的数值,例如1、2、3或4。

    整数(Integer)

    多个整数数据类型的集合,例如 “[1、2、3、4]“。

    字符串型

    一个字符序列,如 “一些文本” 。

    Python

    直接编辑Python数据类型,用于不支持的数据类型。

Note

布尔值必须作为整数处理,并且仅在使用 Min/Max 值时有效,这些值是整数且相距不超过 1。

此时,布尔值仍将看起来像整数,但行为类似于布尔值,具有一个较低的值(关闭值)和一个较高的 on 值。

阵列偏移

数组中的元素数。请注意,如果数组长度大于7 ,则无法直接编辑其元素,则必须按 编辑值 编辑数组的元素。

属性名

显示在值左侧的文本。此名称还用于通过Python访问属性。

默认值

这将设置 Reset 为默认值 运算符使用的属性的默认值。

Warning

默认值用作 NLA 混合 的基础,而用于作为关键帧的属性上的无意义默认值(例如,用于缩放的属性为 0)可能会导致问题。

最小值,最大值

自定义属性可以采用的最小/最大值。

当数据块链接时,允许属性为 覆盖

只有当插值模式设置为立方体时,强度选项才可用。将强度设置为零,得到的结果与线性插值非常相似,而较高的强度会使曲线更加流畅。设置负强度会改变曲线的方向。或者用更直观的方式来描述:它使缩减的体积膨胀,反之亦然。该选项的软限制范围为-3至+3,但你可以通过手动输入一个数字,而不是使用滑块,轻松地指定更大或更小的值。这与Blender中的普通滑块的工作原理相同。

开启通过滑块调整 属性值 的限制,而无需以数字方式输入值。

  • 角度最小,最大

    钳制 节点用于将数值钳制在最小值和最大值之间的范围内。

步长

用于控制数据类型一次增量的乘数。浮点的内部步长为0.01 ,因此 Step 值为5将以0.05的速率递增, Step 值为100将递增1.0。对于整数,内部步长为1。

精度

要在用户界面中显示的浮点数据类型的小数后面的位数。

子类型

指定属性包含的数据类型,这会影响它在用户界面中的显示方式。要使此属性出现, 属性值 必须是浮点数矢量。要使任何颜色子类型工作, 属性值 必须是具有三个或四个值的矢量,具体取决于 Alpha通道 的可用性。

  • 边角定位节点为图像平面弯曲变换指定明确的边角值。工作方式有些像平面追踪变形节点,区别是不在剪辑编辑器中使用 “平面追踪” 数据。

    数据值没有任何特殊行为。

    场景线性色彩空间

    场景线性色彩空间

    伽玛校正颜色

    伽玛校正色彩空间中的颜色。

    欧拉角度

    Euler Rotation 角度。

    四元数角度。

    Quaternion Rotation 角度。

描述:

允许你为你的自定义属性编写 提示

Python 脚本访问

可以通过与 字典 类似的方式访问自定义属性,其中键值只能是字符串,而值只能是字符串,数字,数组或嵌套属性。

有关详细信息,请参阅 “API 文档 <https://docs.blender.org/api/current/info_quickstart.html#custom-properties>`__。