[Bf-docboard-svn] bf-manual: [9510] branches/blender-3.3-release/blender_docs/manual/files/linked_libraries: Update LibOverride page to match recent changes in 3.3.
Bastien Montagne
noreply at blender.org
Wed Aug 24 17:30:47 CEST 2022
Revision: 9510
https://developer.blender.org/rBM9510
Author: mont29
Date: 2022-08-24 17:30:47 +0200 (Wed, 24 Aug 2022)
Log Message:
-----------
Update LibOverride page to match recent changes in 3.3.
Modified Paths:
--------------
branches/blender-3.3-release/blender_docs/manual/files/linked_libraries/library_overrides.rst
branches/blender-3.3-release/blender_docs/manual/files/linked_libraries/library_proxies.rst
Modified: branches/blender-3.3-release/blender_docs/manual/files/linked_libraries/library_overrides.rst
===================================================================
--- branches/blender-3.3-release/blender_docs/manual/files/linked_libraries/library_overrides.rst 2022-08-22 19:32:46 UTC (rev 9509)
+++ branches/blender-3.3-release/blender_docs/manual/files/linked_libraries/library_overrides.rst 2022-08-24 15:30:47 UTC (rev 9510)
@@ -3,9 +3,10 @@
Library Overrides
*****************
-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,
+Library Overrides is a system designed to allow editing
+:doc:`linked data </files/linked_libraries/link_append>`, while keeping it in sync
+with the original library data. Most types of linked data-blocks can be overridden,
+and the properties of these overrides can then be edited. When the library data changes,
unmodified properties of the overridden one will be updated accordingly.
.. note::
@@ -39,6 +40,15 @@
of its Armature obdata, if the later goes missing, the pose bones are definitively lost.
+.. note:: Proper Collections Layout Matters
+
+ For library overrides to work well, it is much better if **all** the collections needed by
+ the character are children of the root (linked and instantiated) one, such that there is a
+ clear hierarchy.
+ Otherwise, some data may not be properly automatically overridden, and other operations
+ may be less reliable.
+
+
Override Hierarchies
====================
@@ -45,10 +55,10 @@
Hierarchy is a very important concept to understand when working with library overrides.
In Blender, a real-life asset (a character, a prop, a set, etc.) is almost never made of a
single data-block, but is rather a group of data-blocks with dependency relationships to each-other.
-E.g. a character sill typically have an armature object, several geometry objects,
-rig-controllers objects, the object data for all of those objects, materials, textures, etc.
+E.g. a character will typically have an armature object, several geometry objects,
+rig-controllers objects, the object data for all of these objects, materials, textures, etc.
-Those relationships can be represented as a tree, with a root data-block 'linking-in' all its
+These relationships can be represented as a tree, with a root data-block 'linking-in' all its
dependencies, recursively. With library overrides, typically, the root of the hierarchy is also
the data-block that is directly linked when importing the asset (usually a collection).
@@ -60,6 +70,29 @@
of a same character.
+Resyncing Overrides
+===================
+
+The relationships between linked data-blocks can change, resulting in outdated overrides.
+When this happens, overrides need to be resynced to match the new structure of their hierarchy.
+Overrides are automatically resynced if needed on blend-files opening. However,
+it may be needed to resynced them manually sometimes, see `Troubleshoot an Override Hierarchy`_.
+
+.. tip::
+
+ Blender is also able to resync library overrides from external libraries, that are then linked into a
+ working file. However, this is a costly process that needs to be fully redone every time the working
+ file is loaded, since Blender cannot edit/modify the external library directly.
+
+ So users linking overrides (or creating recursive overrides) should ensure that their library files are
+ regularly updated, to avoid this overhead on file load (typically, opening and saving those library files
+ should be enough to update them).
+
+.. tip::
+
+ Auto resyncing can be disabled in the :doc:`Experimental Preferences </editors/preferences/experimental>`.
+
+
Non-Editable Overrides
======================
@@ -66,87 +99,133 @@
For technical reasons (how relationships between data-blocks are stored), Blender needs to create
overrides of a lot of data-blocks, even when only one or two of them actually needs to be edited
by the user. To reduce the amount of information and risk of potential unwanted editing, most of
-those data-blocks are now marked as non-editable by default. This can be changed once the
+these data-blocks are now marked as non-editable by default. This can be changed once the
override has been created.
-Creating an Override
-====================
+.. _bpy.ops.outliner.liboverride_operation:
+.. _bpy.ops.object.make_override_library:
+.. _bpy.ops.ui.override_idtemplate_make:
+Make an Override
+================
+
.. reference::
- :Editor: 3D Viewport and Outliner
+ :Editor: 3D Viewport, Outliner, Properties
:Mode: Object Mode
- :Menu: :menuselection:`3D Viewport --> Header --> Object --> Relations --> Make Override Library`
- :menuselection:`Outliner --> Context Menu --> ID Data --> Make Library Override Hierarchy`
- :menuselection:`Outliner --> Context Menu --> ID Data --> Make Library Override Single`
+ :Menu: :menuselection:`3D Viewport --> Header --> Object --> Library Override --> Make`
+ :menuselection:`Outliner --> Context Menu --> Library Override --> Make`
+ :menuselection:`ID Widget --> Context Menu --> Library Override --> Make`
+ :Shortcut: :kbd:`Shift-LMB` on the 'linked'/'overridden' button of an ID Widget.
-There are two ways to create an override of a linked data-block.
+Create overrides from the selected data-blocks.
+Blender automatically create overrides for all required data-blocks to ensure that
+valid override hierarchies are created.
-.. _bpy.ops.object.make_override_library:
+Only overrides created from selected items will be user-editable.
-Make Library Override Operator/Make Library Override Hierarchy
---------------------------------------------------------------
+.. warning::
-This is the main, recommended way to create overrides.
-This operator goes over linked objects or local empties instantiating a linked collection
-(typically, a linked character).
+ The support for the creation of library overrides from the ID Widget (mainly from within
+ the *Properties* editor) is limited. While the most common usages should be supported,
+ especially with Objects, meshes, etc., much remains to be implemented.
-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:: Proper Collections Layout Matters
+Selected Items
+--------------
- 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, such that there is a clear hierarchy.
- Otherwise, some won't be automatically overridden, and manual work will be needed to fix the override.
+Depending on where from the override is created, there are several ways to
+'select' items to be overridden and user-editable.
+.. note::
-Single Data-Block Override
---------------------------
+ This also applies to the other common operations (*Reset* and *Clear*).
-You can override a single data-block from two places:
+ The *Troubleshoot* advanced operations only available from the Outliner
+ always apply to a whole override hierarchy.
-- 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 (:kbd:`Shift-LMB` on the chain icon to the right),
- in which case only that specific usage will be remapped to the new local override.
+3DView
+______
-.. note:: Single Overrides Should Be Used With Caution
+The selected objects will be considered as selected.
- While it is always possible to do manual partial override of a hierarchy, this is relatively
- time consuming and error-prone, and can easily live the override hierarchy in an inconsistent
- state (regarding relationships between its data-blocks). This can back-fire later, when a resync
- with the linked data becomes needed e.g.
+When a selected object is a local *Empty* instantiating a linked collection,
+the following will happen:
+* The *Empty* object will be removed.
+* Its linked collection will be overridden, and that override will be instanced
+in the same collection in the current *View Layer*.
+* If the collection contains *Armature* objects, they will be user-editable.
+Otherwise, no created override will be defined as user-editable.
+Outliner
+________
-Resyncing Overrides
-===================
+The operation can be applied on either the selected items only, their content only, or both.
-The relationships between linked data-blocks can change, resulting in outdated overrides.
-When this happens, overrides need to be resynced to match the new structure.
-Overrides are automatically resynced if needed on blend-files opening. However,
-they can also be resynced manually using `Resync Library Override Hierarchy`_.
-
.. tip::
- Blender is also able to resync library overrides from external libraries, that are then linked into a
- working file. However, this is a costly process that needs to be fully redone every time the working
- file is loaded, since Blender cannot edit/modify the external library directly.
+ Using *Selected & Content* is an easy way to get all newly created overrides immediately
+ user-editable.
- So users linking overrides (or creating recursive overrides) should ensure that their library files are
- regularly updated, to avoid this overhead on file load (typically, opening and saving those library files
- should be enough to update them).
-.. tip::
+ID Widget
+_________
- Auto resyncing can be disabled in the :doc:`Experimental Preferences </editors/preferences/experimental>`.
+Only the linked data-block in the ID Widget is considered as selected, and set as editable
+once overridden.
-Editing an Override
-===================
+Make Editable
+-------------
+That same operation can also be used to make existing overrides user-editable,
+after they have been created, or :ref:`cleared<Clear Override>`
+
+
+.. _bpy.ops.object.reset_override_library:
+.. _bpy.ops.ui.override_idtemplate_reset:
+
+Reset an Override
+=================
+
+.. reference::
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-docboard-svn
mailing list