Blender教程

数据块是 Blender 中最容易被忽略的部分。数据块是 Blender 的基础,本节很重要,尽管理论较多 , 但是一定要耐心阅读,阅读完本书之后也可以再反复阅读本节,以加深理解。


一.什么是数据块

如果说世界是由原子组成的,那么 Blender 就是由数据块组成的,这一点都不夸张。 数据块是 Blender 的基本单位,Blender 场景中的所有内容都是数据块。数据块类型如图 4-33 所示,一共有 38 种类型,灯光、网格、图像、材质等都属于数据块,工作区也是数据块,每一种数据块都有各自的图标。

image.png

图 4-33 数据块类型


在 3.3.3 小节步骤 03 中移除材质时讲到移除材质是切断模型与材质的关联,而不是删除材质,这是因为材质是一种数据块。模型”在 Blender 中实际上叫作“网格”,网格指的是由点、线、面构成的模型,在大纲视图中所看到的项目其实是物体。以积木中级版为例,单击积木中级版左侧的三角形按钮,展开可以看到积木中级版包含一个“平面.001”网格数据块和“修改器”数据块,如图 4-34 所示;再展开“平面.001”,会发现里面还有一种材质数据块。所有的内容都是数据块,物体由不同类型的数据块组合而成,材质默认属于模型数据块,修改器属于物体数据块。

image.png

图 4-34 展开物体

一个类型的数据块是抽象概念,例如假设“人”是一种数据块,那么一个有名有姓的具体的人就是数据块的实现,就像图 4-34 中的“平面.001”就是网格数据块的实现。
数据块其实就是 Blender 开发者所设计的一套逻辑、一套系统。数据块就像是建造房子的砖块,一块一块的数据块构成了 Blender 文件。数据块的好处是方便导入或导出到其他的文件中,还可以在一个文件中重复引用。例如,积木进阶版中使用过的关联复制实际就是不同的物体使用同一个数据块,这个数据块属于本体,这样就能够节省很多内存。这也是一个模块化的概念,就跟 Blender 的用户界面一样,Blender 处处可见模块化的逻辑。
数据块具有几个通用特征:每个数据块名称是独一无二的,不可重复;可以添加、删除、编辑和复制;文件之间可以链接;可以自定义属性。


二.用户与生命周期
数据块有个核心概念“用户”,数据块如果没被使用就不会起作用,如果被其他数据块使用了,就算是有用户。一个数据
块可以被多个用户使用。例如在积木进阶版中,关联复制的积木就有多个用户。选中一个积木,单击“物体数据属性”按钮,在名称的右侧即可看到用户数量为 2,如图 4-35所示,这代表有两个物体使用了这个数据块。

image.png


单击“材质属性”按钮,可以看到“积木随机颜色材质”有 7 个用户,但是场景中明明不止 7 个积木,这是因为有积木共用一个数据块,所以真正独一无二的积木数据块只有 7 个。这 7 个数据块都与“积木随机颜色材质”有关联,如果想要把数据块独立出来,变成一个新的单用户数据块,单击数据块旁的数字即可,如图 4-36 所示。

image.png


这就是 Blender 赋予材质的概念,材质与网格模型只是在数据块之间建立关联,用户只能移除两者之间的关联,而不是删除材质,这就引出了数据块的生命周期问题。

在 Blender 中,除了在编辑模式删除点、线、面是真的删除了,其他的删除都不是真的删除,这是因为数据块有一套回收机制。在大纲视图中删除一个物体,这个物体不会真的被删除。如果这个数据块还有其他用户在使用,则不会发生什么;如果
没有用户使用这个数据块了,则这个数据块会被放入“孤立的数据”中,如图 4-37所示。这有点类似回收站,数据块长期不被拿回来使用或者重启软件、重新打开文件都可能会导致数据块被彻底删除。删除数据块这一工作是 Blender 完成的,而不是
交给用户处理。所以在 Blender 中并不能方便地删除材质,而只是让模型不使用某种材质。这样做的好处就是可以把数据块(材质)拿回来用,不用重新制作材质。

image.png


三.伪用户

如果暂时不想使用某个数据块,但是又不希望它被删除,该怎么做呢?这就涉及一个新的概念——伪用户。也就是伪造一个用户,给数据块添加一个伪用户就代表数据块有用户在使用,所以不会被删除,但是因为用户是伪用户,所以也不会出现在视图中。添加伪用户的方法如图 4-38所示,单击数据块旁边的盾牌图标,即可给这个数据块启用伪用户,这个盾牌属于开关控件,再次单击即可关闭。Blender 中只要出现同样的盾牌图标,就代表可以添加伪用户。伪用户是个非常有用的功能,但是数据块多了也会增加 Blender 文件的体积,所以需要酌情使用。

image.png


四.数据块操作

1.手动删除数据块
在 Blender 中一般是不需要手动删除数据块的,但是如果想要手动删除材质之类的数据块也是可以的。在大纲视图中单击“显示模式”按钮,然后单击“Blender 文件”,“Blender 文件”中把当前文件所有的数据块按类别分组,展开数据块所在的类别,在数据块上右击,单击“删除”即可彻底删除数据块,操作过程如图 4-39 所示。

image.png


2.数据块重映射
在数据块的快捷菜单中单击“重新映射用户”,在弹出的窗口中设置“新 ID”,再单击“确定”按钮就可以把数据块替换成其他数据块,操作过程如图 4-40 所示。这个操作用得不多,但是也会有需要的时候。

image.png


3.清理数据块
当项目比较大或者制作时间比较久的时候,可能会累积较多的没有用上的数据块,这些数据块会占用一些内存,有时不一定会被及时删除。当需要清理这些数据块的时候,就可以执行文件 > 清理 > 未使用的数据块命令;如果有需要清理的数据,则单击出现的提示框中的内容即可。操作过程如图 4-41 所示。 这个操作不会清除启用了伪用户的数据块。

image.png


4.资产标记
Blender 3.0 增加了资产管理的功能,如图 4-42 所示,可以非常方便地建立资产库,随时调用库中的模型、材质等资产。
Blender 的资产其实就是标记过的数据块,在数据块上右击,单击“标记为资产”即可把数据块变为资产,操作如图 4-43 所示。资产管理使用的模块叫作“资产浏览器”,属于数据分组。

image.png


Blender 3.0 内置了一个资产管理的布局,在工作区切换栏最右端单击加号按钮,单击常规 >Asset 即可添加一个资产管
理工作区,操作过程如图 4-44 所示。此时就可以在资产浏览器中看到刚才标记的资产了,如图 4-45 所示。
资产管理本质上是数据块的一种新用法,正是得益于数据块这种先进的模块化逻辑,才能开发出资产管理这样的新功能。

image.png


数据块总结

数据块不那么容易理解,需要反复阅读本节并实践才能更好地理解。有的用户使用了多年 Blender 可能都不知道数据块的存在。不会数据块一样可以使用 Blender 进行创作,但是会数据块可以对 Blender 了解得更深入,理解底层逻辑,能够更好、更快地学习和创作,所以笔者建议一定要掌握数据块。