库覆盖

Library Overrides is a system designed to replace and supersede Proxies. Most types of linked data-blocks can be overridden, and the properties of those overrides can then be edited. When the library data changes, unmodified properties of the overridden one will be updated accordingly.

Note

The current proxy system will be kept alongside for a few releases. Automatic conversion from proxies to library overrides is not planned, there will be a manual operator to do that, but results on complex characters are not guaranteed.

库覆盖

  • 同一链接数据的多个独立覆盖(例如,在同一场景中具有相同的字符多次)。

  • 在堆栈中的任何位置添加新的修改器和约束。

  • 递归链接覆盖(即链接和覆盖从另一个库文件等)。

Note

There are known issues that have to be addressed. See Phabricator main task of the project, for more details.

Creating an Override

参考

编辑器

3D Viewport and Outliner

模式

物体模式

菜单

3D Viewport ‣ Header ‣ Object ‣ Relations ‣ Make Override Library Outliner ‣ Context Menu ‣ ID Data ‣ Make Library Override Hierarchy Outliner ‣ Context Menu ‣ ID Data ‣ Make Library Override

There are two ways to create an override of a linked data-block.

Single Data-Block Override

You can override a single data-block from two places:

  • The Outliner (it's in the context menu of IDs), in which case all local usages of that linked ID will be remapped to the new local override.

  • The data-block menu in the UI (Shift-LMB on the chain icon to the right), in which case only that specific usage will be remapped to the new local override.

Make Library Override Operator/Make Library Override Hierarchy

This operator goes over linked objects or local empties instantiating a linked collection (typically, a linked character).

The operator will go through the whole hierarchy of collections and objects, and override all those needed to allow posing/animation of a character.

Note

正确的收藏布局很重要

For this operator to work properly, it is crucial that all the collections needed by the character are children of the root (linked and instantiated) one. Otherwise, some won't be automatically overridden, and manual work will be needed to fix the override.

Converting Proxies to Library Override

参考

编辑器

3D Viewport and Outliner

模式

物体模式

菜单

3D Viewport ‣ Header ‣ Object ‣ Relations ‣ Convert Proxy to Library Override Outliner ‣ ID Data ‣ Convert Proxy to Library Override

Converts a Proxy to a local override. This operator is used to help convert older blend-files to the new override system.

Syncing Overrides

The relationships between linked data-blocks can be changed resulting in outdated overrides When this happens overrides need to be resynced to match the new structure. Overrides are automatically resynced when opening blend-files, however, overrides can be resynced manually using Resync Library Override Hierarchy.

Tip

可以在文档中禁用自动重新同步 实验性首选项

Editing an Override

基本上,覆盖编辑的方式与常规本地数据块相同。您可以在它们上使用运算符,从各种编辑器编辑它们的属性等。但是,有一些限制,最值得注意的是,编辑模式不允许覆盖。在大多数情况下,编辑房源后,您可以看到房源被其蓝色轮廓/背景覆盖。

You can also animate overrides, animated properties just replace/supersede overrides then. Note that you cannot override-edit an existing animation, you'll have to create a new action. You can manually define or remove an override from the context menu of the relevant property.

定义重写

参考

编辑器

任意

模式

物体模式

属性

上下文菜单 ‣ 定义覆盖 上下文菜单 ‣ 定义覆盖

Mark a property to be overridden in the local blend-file. For array properties all elements will be overridden.

定义单个覆盖

参考

编辑器

任意

模式

物体模式

属性

上下文菜单(右键菜单) ‣ 删除单个驱动器

Mark a property to be overridden in the local blend-file. For array properties only the selected element will be overridden.

移除覆盖

参考

编辑器

任意

模式

物体模式

属性

上下文菜单 ‣ 删除覆盖 上下文菜单 ‣ 删除覆盖

从覆盖中删除属性。将使用数据块中链接的值。对于数组属性,所有元素将从覆盖中删除。

覆盖单个覆盖

参考

编辑器

任意

模式

物体模式

属性

上下文菜单(右键菜单) ‣ 删除单个驱动器

从覆盖中删除属性。将使用数据块中链接的值。对于数组属性,仅将从覆盖中删除所选元素。

重置库覆盖

参考

编辑器

大纲视图

模式

物体模式

大纲视图

Context Menu ‣ ID Data ‣ Reset Library Override Context Menu ‣ ID Data ‣ Reset Library Override Hierarchy

Reset the override to its original values. Reset Library Override Hierarchy will also reset the overrides of its child data-blocks.

重新同步库覆盖层级

参考

编辑器

大纲视图

模式

物体模式

大纲视图

Context Menu ‣ ID Data ‣ Resync Library Override Hierarchy

The structure of the linked data (the relationships between linked data-blocks) can be changed. Overrides need to be resynced to match the new structure. This operator will resync the override to the new structure in the library.

Warning

重新同步库覆盖时,如果在原始库中更改编辑的覆盖,则可能会删除它们。如果是这种情况,将显示一条警告消息,说明删除了多少覆盖,如果删除是不合需要的,则可以在保存混合文件之前撤消重新同步。

Resync Library Override Hierarchy Enforce

参考

编辑器

大纲视图

模式

物体模式

大纲视图

Context Menu ‣ ID Data ‣ Resync Library Override Hierarchy Enforce

In some cases, especially with older blend-files that were saved with 'broken' (non-hierarchy-matching) overrides, a regular resync itself cannot rebuild properly the override as expected (e.g. some objects might go missing). To solve this issue, this operator rebuilds the local override from its linked reference, as well as its hierarchy of dependencies, enforcing that hierarchy to match the linked data (i.e. ignoring existing overrides on data-blocks properties). This is similar to a regular resync but is a more forceful resync, at the cost of a potential loss of some overrides on ID pointers properties.

删除库覆盖层级

参考

编辑器

大纲视图

模式

物体模式

大纲视图

Context Menu ‣ ID Data ‣ Delete Library Override Hierarchy

Remove the library override from the selected data-block and all its children and replace them with the original linked data-block. This will revert the Make Library Override.