关联与追加
这些功能可以帮助你重复使用材质、物体和外部 .blend
文件中的 数据块。你可以建立通用内容库,并跨文件引用它们。
新添加的集合类型位于:菜单选择:3D 视口中的 “添加 —> 集合实例”中。
在 大纲视图 将显示模式设置为 Blender File,可以查看所有关联和追加的数据块。
Note
It is not possible to Append or Link data from much newer blend-files
关联
参考
编辑器:
顶部标题栏
模式:
所有模式
菜单:
现有的节点组可以在最初定义后再次放置,无论是在同一个节点树还是不同的节点树。也可以使用 文件 ‣ 链接/追加 从不同的混合文件中导入节点组。
Link 创建对源文档中的数据的引用,以便在下次重新加载引用文档时,所做的更改将反映在引用文档中。但链接数据是不可编辑的(在某种程度上,请参阅 代理)。
在 文件浏览器 浏览外部来源的blend文件, 选择需要重用的数据块。
关联物体时,它将被放置在场景中的3D游标位置。 许多其他数据类型,比如相机,曲线和材质,想要在场景中可见必须先关联到一个物体。
选项
相对路径
见 相对路径.
选择
使物体在加载后处于 激活 状态。
活动的集合
该物体将添加到活动视图层的活动集合中。 否则,它将被添加到活动视图层中的新集合中。
实体化集合
此选项将关联集合实例化为物体,并将其添加到活动场景中。 否则,关联集合将直接添加到活动视图层。
实例物体数据
为未被任何对象引用的对象数据创建实例。
追加
参考
编辑器:
顶部标题栏
模式:
所有模式
菜单:
现有的节点组可以在最初定义后再次放置,无论是在同一个节点树还是不同的节点树。也可以使用 文件 ‣ 链接/追加 从不同的混合文件中导入节点组。
而 追加 会将数据的完整副本复制到blend文件中,不保留对原始数据的任何引用。 可对本地数据副本进行进一步编辑,但外部来源文件中的更改不会反映在引用文件中。
在 文件浏览器 浏览外部来源的blend文件, 选择需要重用的数据块。
Tip
也可以通过把 .blend
文件拖放到 Blender 窗口的方式进行关联或追加。
Note
追加已关联的数据会将物体/集合添加到场景中,但会保持关联状态(并且不可编辑)。
这样做是为了让现有的关联关系保持不变。
选项
选择
使物体在加载后处于 激活 状态。
活动的集合
该物体将添加到活动视图层的活动集合中。 否则,它将被添加到活动视图层中的新集合中。
实体化集合
此选项将关联集合实例化为物体,并将其添加到活动场景中。 否则,关联集合将直接添加到活动视图层。
实例物体数据
为未被任何对象引用的对象数据创建实例。
伪用户
将添加的数据块定义为 保护。
全部本地化
追加所有间接关联的数据。
关联库的重新加载和重新定位
如果您更改了库混合文档中的某些内容,并希望在当前混合文档中查看这些更改而不必重新打开它,则重新加载非常有用。您可以从 大纲视图 的 Blender文档 视图中的库项目的上下文菜单中重新加载和重新定位整个库,
重定位用于从新文件路径重新加载库。 这可用于修复损坏的关联库(比如,因为库文件在从其被关联后被移动或重命名),或者在不同库文件中的同一组数据的变体之间切换。
损坏的库
加载blend文件时,如果Blender无法找到对应的库,将创建一个占位符数据块来替代缺失的关联数据块。这样,对丢失数据的引用不会丢失,通过重新定位丢失的库,可以自动恢复丢失的数据。
转为本地项
参考
编辑器:
3D 视图
模式:
物体模式
菜单:
物体 ‣ 关系 ‣ 转为本地项…
参考
编辑器:
大纲视图
菜单:
上下文菜单 ‣ ID 数据 ‣ 转为本地项
本地化当前 .blend
文件中选中的或者是所有的外部物体。与原始库文件的关联将完全消失,但这些数据块完全可编辑,就像直接在这个 .blend
文件中创建的那样。
选项
大纲视图 的上下文菜单中的本地化操作没有选项,只影响选中的数据块。
3D 视口 中提供的操作仅直接影响所选对象,但它也可能使对象的依赖关系成为本地对象:
类型
可选择性取消关联物体数据和材质数据。
选定的物体, + 物体数据, + 材质, 全部(即包含所有场景)
已知局限
大部分情况下关联数据能发挥预期作用,但仍有一些特殊情况是不支持的。
循环依赖
通常,依赖不应当是双向的。尝试关联或追加的数据是在当前文件中,其操作结果会无效。
物体刚体约束
将对象 直接 链接到混合文档时,刚体 *设置* 不会链接,因为它们与场景的世界相关联。或者,您可以在整个场景中链接并将其设置为 背景集 。
压缩和内存使用
链接到启用了压缩的混合文档可能会在加载文档时显着增加内存使用量。
Reading data on demand isn’t supported with compression (this only impacts load time, once loaded there is no difference in memory use).