Fix #104575: "Scrambling Distance" did not use bold font #104581
@ -24,3 +24,12 @@ insert_final_newline = true
|
|||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 3
|
indent_size = 3
|
||||||
max_line_length = 120
|
max_line_length = 120
|
||||||
|
|
||||||
|
# Makefile
|
||||||
|
[{Makefile,GNUmakefile}]
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
||||||
|
max_line_length = 120
|
||||||
|
@ -49,7 +49,7 @@ Align View from
|
|||||||
Lock View to Object
|
Lock View to Object
|
||||||
Select an object to align view, from the list.
|
Select an object to align view, from the list.
|
||||||
|
|
||||||
View to Select
|
View to Selected
|
||||||
Align view on selected object.
|
Align view on selected object.
|
||||||
|
|
||||||
Cursor
|
Cursor
|
||||||
|
@ -32,7 +32,7 @@ A bone can belong to more than one selection set.
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
:doc:`/animation/armatures/properties/bone_groups` for a way to visually distinguish groups of bones.
|
:doc:`/animation/armatures/properties/bone_collections` for a way to organise groups of bones.
|
||||||
|
|
||||||
|
|
||||||
.. reference::
|
.. reference::
|
||||||
|
@ -52,7 +52,7 @@ Compositing Nodes
|
|||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Setup Corner Pin
|
Setup Corner Pin
|
||||||
Add a compositing setup of the Image Texture, Scale, and :doc:`Corner Pin </compositing/types/distort/corner_pin>`
|
Add a compositing setup of the Image Texture, Scale, and :doc:`Corner Pin </compositing/types/transform/corner_pin>`
|
||||||
nodes to inject a warped view of the image into the compositor output. The add-on adds drivers to
|
nodes to inject a warped view of the image into the compositor output. The add-on adds drivers to
|
||||||
the corner values of the Corner Pin node so that transforms of the plane and camera drive them.
|
the corner values of the Corner Pin node so that transforms of the plane and camera drive them.
|
||||||
Make sure to have an active camera in the scene before the import.
|
Make sure to have an active camera in the scene before the import.
|
||||||
@ -89,7 +89,7 @@ Material Type
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
*Blend Mode* and *Shadow Mode* options are specific to the Eevee renderer.
|
*Blend Mode* and *Shadow Mode* options are specific to the EEVEE renderer.
|
||||||
For a detailed explanation of each option, see :doc:`Material Settings </render/eevee/materials/settings>`.
|
For a detailed explanation of each option, see :doc:`Material Settings </render/eevee/materials/settings>`.
|
||||||
|
|
||||||
Blend Mode
|
Blend Mode
|
||||||
|
@ -286,13 +286,13 @@ black. Note that the last value of a color tuple is the alpha value of the
|
|||||||
color. Furthermore, several other properties such as ``Metallic``,
|
color. Furthermore, several other properties such as ``Metallic``,
|
||||||
``Roughness`` and ``Transmission`` can be changed. These are the properties
|
``Roughness`` and ``Transmission`` can be changed. These are the properties
|
||||||
in the :doc:`Principled BSDF shader </render/shader_nodes/shader/principled>`.
|
in the :doc:`Principled BSDF shader </render/shader_nodes/shader/principled>`.
|
||||||
There are also some properties for :doc:`Eevee </render/eevee/index>`, which
|
There are also some properties for :doc:`EEVEE </render/eevee/index>`, which
|
||||||
can be used to determine the object's transparency etc.
|
can be used to determine the object's transparency etc.
|
||||||
|
|
||||||
|
|
||||||
Note that in the header of the custom data file,
|
Note that in the header of the custom data file,
|
||||||
all possible values of the string options ``P BSDF Subsurface method``,
|
all possible values of the string options ``P BSDF Subsurface method``,
|
||||||
``P BSDF Distribution``, ``Eevee Blend Method`` and ``Eevee Shadow Method``
|
``P BSDF Distribution``, ``EEVEE Blend Method`` and ``EEVEE Shadow Method``
|
||||||
are listed.
|
are listed.
|
||||||
|
|
||||||
.. figure:: /images/addons_import-export_mesh-atomic_utilities-panel.png
|
.. figure:: /images/addons_import-export_mesh-atomic_utilities-panel.png
|
||||||
|
@ -52,6 +52,8 @@ Principled BSDF
|
|||||||
- Metallic
|
- Metallic
|
||||||
- IOR
|
- IOR
|
||||||
- Transmission
|
- Transmission
|
||||||
|
- Emission
|
||||||
|
- Emission Strength
|
||||||
- Alpha
|
- Alpha
|
||||||
|
|
||||||
Normal Map
|
Normal Map
|
||||||
|
@ -7,8 +7,8 @@ Autodesk 3DS
|
|||||||
|
|
||||||
:Category: Import-Export
|
:Category: Import-Export
|
||||||
:Menu: :menuselection:`File --> Import/Export --> 3D Studio (.3ds)`
|
:Menu: :menuselection:`File --> Import/Export --> 3D Studio (.3ds)`
|
||||||
:Version: 2.4.6
|
:Version: 2.4.8
|
||||||
:Blender: 3.6
|
:Blender: 4.0
|
||||||
:Authors: Bob Holcomb, Campbell Barton, Sebastian Schrand
|
:Authors: Bob Holcomb, Campbell Barton, Sebastian Schrand
|
||||||
:Maintainer: Sebastian Sille (NRGSille)
|
:Maintainer: Sebastian Sille (NRGSille)
|
||||||
:Support Level: Community
|
:Support Level: Community
|
||||||
@ -163,7 +163,7 @@ they must be color inverted afterwards to match with Blender definition.
|
|||||||
The material mappings are defined as following:
|
The material mappings are defined as following:
|
||||||
|
|
||||||
- 3ds Diffuse Map <-> blender Base Color Texture
|
- 3ds Diffuse Map <-> blender Base Color Texture
|
||||||
- 3ds Specular Map <-> blender Specular Texture
|
- 3ds Specular Map <-> blender Specular Tint Texture
|
||||||
- 3ds Shininess Map <-> blender Roughness Texture
|
- 3ds Shininess Map <-> blender Roughness Texture
|
||||||
- 3ds Reflection Map <-> blender Metallic Texture
|
- 3ds Reflection Map <-> blender Metallic Texture
|
||||||
- 3ds Opacity Map <-> blender Alpha Texture
|
- 3ds Opacity Map <-> blender Alpha Texture
|
||||||
|
@ -42,6 +42,16 @@ compared to Blender, as such vertices are separated for export.
|
|||||||
Likewise, curves and other non-mesh data are not preserved,
|
Likewise, curves and other non-mesh data are not preserved,
|
||||||
and must be converted to meshes prior to export.
|
and must be converted to meshes prior to export.
|
||||||
|
|
||||||
|
GPU Instances
|
||||||
|
-------------
|
||||||
|
|
||||||
|
When the option is enable in Exporter, instances are exported using the ``EXT_mesh_gpu_instancing`` extension.
|
||||||
|
There are some limitations, at export:
|
||||||
|
- Instances must be meshes, and don't have any children themselves
|
||||||
|
- Instances must all be children of the same object.
|
||||||
|
- This extension doesn't manage material variation. That means that the generated file may include all instances with same materials.
|
||||||
|
- Instances detected are objects sharing the same mesh data.
|
||||||
|
At import, instances are created by creating objects sharing the same mesh data.
|
||||||
|
|
||||||
Materials
|
Materials
|
||||||
=========
|
=========
|
||||||
@ -257,9 +267,9 @@ All Image Texture nodes used for clearcoat shading should have their *Color Spac
|
|||||||
Sheen
|
Sheen
|
||||||
^^^^^
|
^^^^^
|
||||||
|
|
||||||
When the *Velvet BSDF* node is used in addition to Principled BSDF node, the ``KHR_materials_sheen`` glTF
|
When the *Sheen BSDF* node is used in addition to Principled BSDF node, the ``KHR_materials_sheen`` glTF
|
||||||
extension will be included in the export. The Sheen Color will be exported from Color socket of Velvet node.
|
extension will be included in the export. The Sheen Color will be exported from Color socket of Sheen node.
|
||||||
Sheen Roughness will be exported from Sigma socket.
|
Sheen Roughness will be exported from Roughness socket.
|
||||||
|
|
||||||
If a Sheen Roughness Texture is used, glTF requires the values be written to the alpha (``A``) channel.
|
If a Sheen Roughness Texture is used, glTF requires the values be written to the alpha (``A``) channel.
|
||||||
|
|
||||||
@ -267,8 +277,8 @@ If a Sheen Roughness Texture is used, glTF requires the values be written to the
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
Velvet BSDF node is only available on Cycles render engine.
|
Sheen BSDF node is only available on Cycles render engine.
|
||||||
You may have to temporary switch to Cycles to add this node, and get back to Eevee.
|
You may have to temporary switch to Cycles to add this node, and get back to EEVEE.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -276,7 +286,7 @@ If a Sheen Roughness Texture is used, glTF requires the values be written to the
|
|||||||
the resulting shader is not fully energy conservative.
|
the resulting shader is not fully energy conservative.
|
||||||
You may find some difference between Blender render, and glTF render.
|
You may find some difference between Blender render, and glTF render.
|
||||||
Sheen models are not fully compatible between Blender and glTF.
|
Sheen models are not fully compatible between Blender and glTF.
|
||||||
This trick about adding Velvet Shader is the most accurate
|
This trick about adding Sheen Shader is the most accurate
|
||||||
approximation (better that using Sheen Principled sockets).
|
approximation (better that using Sheen Principled sockets).
|
||||||
|
|
||||||
|
|
||||||
@ -442,8 +452,8 @@ Double-Sided / Backface Culling
|
|||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
For materials where only the front faces will be visible, turn on *Backface Culling* in
|
For materials where only the front faces will be visible, turn on *Backface Culling* in
|
||||||
the *Settings* panel of an Eevee material. When using other engines (Cycles, Workbench)
|
the *Settings* panel of an EEVEE material. When using other engines (Cycles, Workbench)
|
||||||
you can temporarily switch to Eevee to configure this setting, then switch back.
|
you can temporarily switch to EEVEE to configure this setting, then switch back.
|
||||||
|
|
||||||
Leave this box unchecked for double-sided materials.
|
Leave this box unchecked for double-sided materials.
|
||||||
|
|
||||||
@ -458,7 +468,7 @@ Blend Modes
|
|||||||
The Base Color input can optionally supply alpha values.
|
The Base Color input can optionally supply alpha values.
|
||||||
How these values are treated by glTF depends on the selected blend mode.
|
How these values are treated by glTF depends on the selected blend mode.
|
||||||
|
|
||||||
With the Eevee render engine selected, each material has a Blend Mode on
|
With the EEVEE render engine selected, each material has a Blend Mode on
|
||||||
the material settings panel. Use this setting to define how alpha values from
|
the material settings panel. Use this setting to define how alpha values from
|
||||||
the Base Color channel are treated in glTF. Three settings are supported by glTF:
|
the Base Color channel are treated in glTF. Three settings are supported by glTF:
|
||||||
|
|
||||||
@ -472,7 +482,7 @@ Alpha Clip
|
|||||||
|
|
||||||
.. figure:: /images/addons_import-export_scene-gltf2_material-alpha-blend.png
|
.. figure:: /images/addons_import-export_scene-gltf2_material-alpha-blend.png
|
||||||
|
|
||||||
With the Eevee engine selected, a material's blend modes are configurable.
|
With the EEVEE engine selected, a material's blend modes are configurable.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -569,6 +579,7 @@ are supported directly by this add-on:
|
|||||||
- ``KHR_lights_punctual``
|
- ``KHR_lights_punctual``
|
||||||
- ``KHR_texture_transform``
|
- ``KHR_texture_transform``
|
||||||
- ``KHR_mesh_quantization``
|
- ``KHR_mesh_quantization``
|
||||||
|
- ``EXT_mesh_gpu_instancing``
|
||||||
|
|
||||||
|
|
||||||
.. rubric:: Export
|
.. rubric:: Export
|
||||||
@ -585,6 +596,7 @@ are supported directly by this add-on:
|
|||||||
- ``KHR_materials_ior``
|
- ``KHR_materials_ior``
|
||||||
- ``KHR_materials_variants``
|
- ``KHR_materials_variants``
|
||||||
- ``KHR_texture_transform``
|
- ``KHR_texture_transform``
|
||||||
|
- ``EXT_mesh_gpu_instancing``
|
||||||
|
|
||||||
|
|
||||||
Third-party glTF Extensions
|
Third-party glTF Extensions
|
||||||
@ -795,11 +807,16 @@ Bone Direction
|
|||||||
Changes the heuristic the importer uses to decide where to place bone tips.
|
Changes the heuristic the importer uses to decide where to place bone tips.
|
||||||
Note that the Fortune setting may cause inaccuracies in models that use non-uniform scaling.
|
Note that the Fortune setting may cause inaccuracies in models that use non-uniform scaling.
|
||||||
Otherwise this is purely aesthetic.
|
Otherwise this is purely aesthetic.
|
||||||
|
The default value will not change axis, and is best for re-exporting from Blender.
|
||||||
|
This default option will change display mode (adding shape and changing relationship line) to have a better view,
|
||||||
|
even if original bones axis are not the most accurate (estheticaly speaking)
|
||||||
Lighting Mode
|
Lighting Mode
|
||||||
Optional backwards compatibility for non-standard render engines. Applies to lights.
|
Optional backwards compatibility for non-standard render engines. Applies to lights.
|
||||||
Standard: Physically-based glTF lighting units (cd, lx, nt).
|
Standard: Physically-based glTF lighting units (cd, lx, nt).
|
||||||
Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available
|
Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available
|
||||||
Raw (Deprecated): Blender lighting strengths with no conversion
|
Raw (Deprecated): Blender lighting strengths with no conversion
|
||||||
|
Import Webp textures
|
||||||
|
If a texture exists in webp format, loads the webp texture instead of the fallback png/jpg one.
|
||||||
|
|
||||||
|
|
||||||
Export
|
Export
|
||||||
@ -850,6 +867,11 @@ Transform
|
|||||||
Y Up
|
Y Up
|
||||||
Export using glTF convention, +Y up.
|
Export using glTF convention, +Y up.
|
||||||
|
|
||||||
|
Data - Scene Graph
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
GPU Instances
|
||||||
|
Export using ``EXT_mesh_gpu_instancing`` extensions.
|
||||||
|
|
||||||
Data - Mesh
|
Data - Mesh
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
@ -881,9 +903,15 @@ Materials
|
|||||||
Images
|
Images
|
||||||
Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for
|
Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for
|
||||||
web applications due to the smaller file size.
|
web applications due to the smaller file size.
|
||||||
|
If webp is chosen, all textures will be saved as Webp, without any png/jpg fallback.
|
||||||
If None is chosen, materials are exported without textures.
|
If None is chosen, materials are exported without textures.
|
||||||
JPEG Quality
|
Image Quality
|
||||||
When exporting jpeg files, the quality of the exported file.
|
When exporting jpeg or Webp files, the quality of the exported file.
|
||||||
|
Create Webp
|
||||||
|
Creates webp textures for every textures, in addition to the existing texture.
|
||||||
|
For already webp textures, nothing happen.
|
||||||
|
Webp fallback
|
||||||
|
For all webp textures, create a png fallback texture.
|
||||||
Export Original PBR Specular
|
Export Original PBR Specular
|
||||||
When On, specular data are exported from glTF Material Output node,
|
When On, specular data are exported from glTF Material Output node,
|
||||||
Instead of using sockets from Principled BSDF Node.
|
Instead of using sockets from Principled BSDF Node.
|
||||||
@ -898,6 +926,14 @@ Shape Key Normals
|
|||||||
Shape Key Tangents
|
Shape Key Tangents
|
||||||
Export vertex tangents with shape keys (morph targets).
|
Export vertex tangents with shape keys (morph targets).
|
||||||
|
|
||||||
|
Data - Shape Keys - Optimize
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Use Sparse Accessor if better
|
||||||
|
Sparse Accessor will be used if it save space (if the exported file is smaller)
|
||||||
|
Omitting Sparse Accessor if data is empty
|
||||||
|
If data is empty, omit to export SParce Accessor. Not all viewer managed it correctly, so this option is Off by default
|
||||||
|
|
||||||
Data - Armature
|
Data - Armature
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -914,8 +950,11 @@ Data - Skinning
|
|||||||
|
|
||||||
Export skinning data
|
Export skinning data
|
||||||
|
|
||||||
|
Bone influences
|
||||||
|
How many joint verex influences will be exported. Models may appear incorrectly in many viewers with value different to 4 or 8.
|
||||||
|
|
||||||
Include All Bone Influences
|
Include All Bone Influences
|
||||||
Allow more than 4 joint vertex influences. Models may appear incorrectly in many viewers.
|
Export all joint vertex influences. Models may appear incorrectly in many viewers.
|
||||||
|
|
||||||
Data - Lighting
|
Data - Lighting
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
@ -44,7 +44,7 @@ Instructions
|
|||||||
.. reference::
|
.. reference::
|
||||||
|
|
||||||
:Category: Lighting
|
:Category: Lighting
|
||||||
:Description: Creates a Dynamic Sky for Cycles/Eevee.
|
:Description: Creates a Dynamic Sky for Cycles/EEVEE.
|
||||||
:Location: :menuselection:`3D Viewport --> Sidebar --> Create tab`
|
:Location: :menuselection:`3D Viewport --> Sidebar --> Create tab`
|
||||||
:File: lighting_dynamic_sky.py
|
:File: lighting_dynamic_sky.py
|
||||||
:Author: Pratik Solanki
|
:Author: Pratik Solanki
|
||||||
|
@ -4,7 +4,7 @@ Material Utilities
|
|||||||
******************
|
******************
|
||||||
|
|
||||||
Materials Utilities/Specials is designed to help with batch materials tasks.
|
Materials Utilities/Specials is designed to help with batch materials tasks.
|
||||||
The add-on works in either Eevee or Cycles renderers.
|
The add-on works in either EEVEE or Cycles renderers.
|
||||||
Common tasks are available from the :kbd:`Shift-Q` pop-up menu and also the Materials Specials menu.
|
Common tasks are available from the :kbd:`Shift-Q` pop-up menu and also the Materials Specials menu.
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,22 +62,22 @@ Options
|
|||||||
|
|
||||||
**1.** It detects the drawing of a closed segment.
|
**1.** It detects the drawing of a closed segment.
|
||||||
|
|
||||||
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-1.jpg
|
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-1.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
**2.** The last vertex of the segment binds to an edge that connects another vertex of the segment.
|
**2.** The last vertex of the segment binds to an edge that connects another vertex of the segment.
|
||||||
|
|
||||||
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-2.jpg
|
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-2.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
**3.** It detects an isolated edge loop.
|
**3.** It detects an isolated edge loop.
|
||||||
|
|
||||||
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-3.jpg
|
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-3.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
**4.** We redraw existing edges to match the conditions mentioned above.
|
**4.** We redraw existing edges to match the conditions mentioned above.
|
||||||
|
|
||||||
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-4.jpg
|
.. figure:: /images/addons_mesh_snap_utilities-creating-faces-4.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,14 +64,14 @@ Rigify Human Alignment Tips
|
|||||||
they are almost useless if you plan to make facial animation through shape keys.
|
they are almost useless if you plan to make facial animation through shape keys.
|
||||||
Consider removing face features from your character if they aren't really needed.
|
Consider removing face features from your character if they aren't really needed.
|
||||||
If you don't need the face all the face bones can be deleted.
|
If you don't need the face all the face bones can be deleted.
|
||||||
All the face bones are on the first armature layer by default.
|
All the face bones are in the *Face* armature bone collection by default.
|
||||||
You can select them by displaying only bone layer 1, selecting all of its content and
|
You can select them by displaying only that collection, selecting all of its content and
|
||||||
then deleting the bones in Edit Mode to correctly remove the face.
|
then deleting the bones in Edit Mode to correctly remove the face.
|
||||||
|
|
||||||
If you want to scale all the face bones at once, consider scaling the face master bone
|
If you want to scale all the face bones at once, consider scaling the face master bone
|
||||||
in Pose Mode (see Pose Mode matching method).
|
in Pose Mode (see Pose Mode matching method).
|
||||||
The face master bone is placed in the same position of the head bone.
|
The face master bone is placed in the same position of the head bone.
|
||||||
To select it easily, hide all other bone layers.
|
To select it easily, hide all other bone collections.
|
||||||
|
|
||||||
For more tips, see the :doc:`Positioning Guide </addons/rigging/rigify/bone_positioning>`.
|
For more tips, see the :doc:`Positioning Guide </addons/rigging/rigify/bone_positioning>`.
|
||||||
|
|
||||||
@ -147,13 +147,13 @@ Binding the Geometry to the Rig
|
|||||||
|
|
||||||
To bind the geometry to the rig you can use your preferred tools. Just few things you have to know:
|
To bind the geometry to the rig you can use your preferred tools. Just few things you have to know:
|
||||||
|
|
||||||
- All the deforming bones are on the armature layer 30.
|
- All the deforming bones are in the *DEF* bone collection.
|
||||||
- Eyes and Teeth bones of the legacy face are not deforming. You are supposed to bind the eyes and
|
- Eyes and Teeth bones of the legacy face are not deforming. You are supposed to bind the eyes and
|
||||||
teeth geometry through Child Of constraints.
|
teeth geometry through Child Of constraints.
|
||||||
- Usually armature deform with automatic weights do a really good job out of the box
|
- Usually armature deform with automatic weights do a really good job out of the box
|
||||||
if you correctly place your bones (and there is enough topology to work with!).
|
if you correctly place your bones (and there is enough topology to work with!).
|
||||||
|
|
||||||
For more detailed information on armature layers, Armature modifier and weight painting refer to the Blender manual.
|
For more detailed information on bone collections, Armature modifier and weight painting refer to the Blender manual.
|
||||||
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.rigify:
|
.. _bpy.types.Armature.rigify:
|
||||||
@ -172,27 +172,36 @@ By using options in the Advanced sub-panel, it is possible to:
|
|||||||
- Choose whether to use linked duplicates for left and right side widgets.
|
- Choose whether to use linked duplicates for left and right side widgets.
|
||||||
- Execute a script data-block after generation.
|
- Execute a script data-block after generation.
|
||||||
|
|
||||||
|
|
||||||
Advanced Options Sub-Panel
|
Advanced Options Sub-Panel
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_basics_advanced-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
Advanced rig generation options are by default hidden in a sub-panel. Click on the *Advanced* line to open it.
|
Advanced rig generation options are by default hidden in a sub-panel. Click on the *Advanced* line to open it.
|
||||||
|
|
||||||
Some of the options will be automatically set by Rigify if they have no value when a rig is generated,
|
Some of the options will be automatically set by Rigify if they have no value when a rig is generated,
|
||||||
while others are fully controlled by the user.
|
while others are fully controlled by the user.
|
||||||
|
|
||||||
Target Rig :guilabel:`auto`
|
Rig Name
|
||||||
This option specifies the generated rig to overwrite when re-generating from this metarig.
|
When a brand new rig is generated, as opposed to overwriting an existing one, the value of this option
|
||||||
|
is used to name it.
|
||||||
|
|
||||||
If the option is not set, Rigify will generate a new rig object and store it in this option.
|
If this field is empty, the new object will be named based on the name of the metarig according
|
||||||
The new object will be named based on the name of the metarig according to the following rules:
|
to the following rules:
|
||||||
|
|
||||||
* If the name contains ``META``, it is replaced with ``RIG``.
|
* If the name contains ``META``, it is replaced with ``RIG``.
|
||||||
* If the name contains ``metarig``, it is replaced with ``rig``.
|
* If the name contains ``metarig``, it is replaced with ``rig``.
|
||||||
* Otherwise, ``RIG-`` is prepended to the name.
|
* Otherwise, ``RIG-`` is prepended to the name.
|
||||||
|
|
||||||
When overwriting an existing rig object specified by the option, its name is not changed,
|
When overwriting an existing rig object specified by the *Target Rig* option, its name is not changed,
|
||||||
allowing it to be freely renamed if the default naming scheme doesn't fit.
|
allowing it to be freely renamed without having to keep the value of this option in sync.
|
||||||
|
|
||||||
|
Target Rig :guilabel:`auto`
|
||||||
|
This option specifies the generated rig to overwrite when re-generating from this metarig.
|
||||||
|
|
||||||
|
If the option is not set, Rigify will generate a new rig object and store it in this option.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -204,13 +213,13 @@ Rig UI Script :guilabel:`auto`
|
|||||||
works in the same manner as *Target Rig*.
|
works in the same manner as *Target Rig*.
|
||||||
|
|
||||||
The script controls the UI in the 3D Viewport that allows conveniently switching visible
|
The script controls the UI in the 3D Viewport that allows conveniently switching visible
|
||||||
bone layers, changing custom properties, converting between IK and FK and so on.
|
bone collections, changing custom properties, converting between IK and FK and so on.
|
||||||
|
|
||||||
Widgets Collection :guilabel:`auto`
|
Widgets Collection :guilabel:`auto`
|
||||||
This reference specifies the collection containing generated widgets, and
|
This reference specifies the collection containing generated widgets, and
|
||||||
works in the same manner as *Target Rig*.
|
works in the same manner as *Target Rig*.
|
||||||
|
|
||||||
Force Widget Update
|
Overwrite Widget Meshes
|
||||||
If enabled, Rigify will generate new widgets every time the rig is re-generated. By default,
|
If enabled, Rigify will generate new widgets every time the rig is re-generated. By default,
|
||||||
it tries to reuse the already generated widget objects that exist in the widget collection,
|
it tries to reuse the already generated widget objects that exist in the widget collection,
|
||||||
allowing them to be manually edited to fit the character better.
|
allowing them to be manually edited to fit the character better.
|
||||||
|
@ -5,7 +5,8 @@ Creating Meta-rigs
|
|||||||
|
|
||||||
#. Add a single bone from the :menuselection:`Add --> Armature` menu.
|
#. Add a single bone from the :menuselection:`Add --> Armature` menu.
|
||||||
#. Go in armature Edit Mode and build the meta rig by samples or Rigify-types.
|
#. Go in armature Edit Mode and build the meta rig by samples or Rigify-types.
|
||||||
#. Define Rigify layers, bone grouping and selection sets.
|
#. Define the :ref:`Rigify bone collection UI <bpy.types.BoneCollection.rigify_ui_row>`,
|
||||||
|
:ref:`color sets <bpy.types.Armature.rigify_colors>`, and selection sets.
|
||||||
#. In the armature properties click on the *Generate* button to generate the rig.
|
#. In the armature properties click on the *Generate* button to generate the rig.
|
||||||
|
|
||||||
|
|
||||||
@ -59,7 +60,7 @@ Just add a single bone from the *Add* menu.
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
At this stage naming the newly added armature "meta-rig" is a good idea.
|
At this stage naming the newly added armature ``metarig`` is a good idea.
|
||||||
You can do it at any time (or not at all) but it's suggested to do it before going on
|
You can do it at any time (or not at all) but it's suggested to do it before going on
|
||||||
so it will always be clear on which armature you have to work when editing the meta-rig structure.
|
so it will always be clear on which armature you have to work when editing the meta-rig structure.
|
||||||
|
|
||||||
@ -77,7 +78,7 @@ Building a meta-rig from scratch in Edit Mode can be done in two ways:
|
|||||||
Adding Samples (Basic)
|
Adding Samples (Basic)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Adding samples in Edit Mode is a good way to start building a meta-rig.
|
Adding pre-defined samples in Edit Mode is a good way to start building a meta-rig.
|
||||||
This way you can become familiar with the available building blocks and how they are meant to be used.
|
This way you can become familiar with the available building blocks and how they are meant to be used.
|
||||||
To add a rig sample:
|
To add a rig sample:
|
||||||
|
|
||||||
@ -90,11 +91,38 @@ To add a rig sample:
|
|||||||
For the list of available samples, see the :doc:`Rig Types </addons/rigging/rigify/rig_types/index>` page.
|
For the list of available samples, see the :doc:`Rig Types </addons/rigging/rigify/rig_types/index>` page.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.PoseBone.rigify_type:
|
||||||
|
.. _bpy.types.RigifyParameters:
|
||||||
|
|
||||||
Using Rig Types (Advanced)
|
Using Rig Types (Advanced)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
#. Create your bone chains in Edit Mode.
|
.. figure:: /images/addons_rigging_rigify_metarigs_rigify-type-panel.png
|
||||||
#. Assign the correct rig type to the first bone of each chain in Pose Mode.
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
For full control, you can use the Rigify Type panel of bone properties in Pose Mode to assign
|
||||||
|
any Rigify sub-rig type to any bone, as well as change its options.
|
||||||
|
|
||||||
|
For the list of available sub-rig types and their options, see the :doc:`Rig Types </addons/rigging/rigify/rig_types/index>` page.
|
||||||
|
|
||||||
|
At the top of the panel you can find a field specifying the rig type for the active bone. The drop-down list
|
||||||
|
can be optionally filtered by the :doc:`Feature Set </addons/rigging/rigify/feature_sets>` it belongs to.
|
||||||
|
|
||||||
|
Below that you can change options relevant to the selected rig type, if it has any.
|
||||||
|
|
||||||
|
Bone Collection References
|
||||||
|
""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
Some rig types that generate many control bones have options that reference
|
||||||
|
:ref:`Bone Collections <bpy.types.BoneCollection.rigify_ui_row>`. These reference lists have a standard UI with
|
||||||
|
the following features:
|
||||||
|
|
||||||
|
* A checkbox controlling whether the reference should be used.
|
||||||
|
* A button to copy the reference list contents from the active to all selected bones.
|
||||||
|
* A plus button to add a new reference to the list.
|
||||||
|
* A list of references, each entry with a field to specify the target collection,
|
||||||
|
and a button to remove the entry from the list.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -102,18 +130,40 @@ Using Rig Types (Advanced)
|
|||||||
add a rig sample to your armature to see how it is supposed to be used.
|
add a rig sample to your armature to see how it is supposed to be used.
|
||||||
|
|
||||||
|
|
||||||
.. _bpy.ops.Armature.rigify_apply_selection_colors:
|
Preserved Bone Properties
|
||||||
.. _bpy.ops.Armature.rigify_add_bone_groups:
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
.. _bpy.types.Armature.rigify_colors_lock:
|
|
||||||
.. _bpy.types.Armature.rigify_theme_to_add:
|
Certain properties of the metarig bones are often copied to the generated rig control, deform and mechanism bones.
|
||||||
.. _bpy.types.Armature.rigify_colors_index:
|
|
||||||
.. _bpy.types.RigifySelectionColors:
|
The exact set depends on the sub-rig and the specific generated bone, and the sub-rig may override some properties
|
||||||
.. _bpy.types.RigifyArmatureLayer:
|
even when it preserves others from the same subset, but there are certain common patterns:
|
||||||
|
|
||||||
|
Parenting Settings
|
||||||
|
This subset consists of the parent ORG bone, Use Connect, Use Inherit Rotation, Use Local Location, and Inherit Scale.
|
||||||
|
|
||||||
|
It is usually copied to deform bones, FK controls, and in other cases where the sub-rig doesn't have a reason
|
||||||
|
to completely override them.
|
||||||
|
Bendy Bone Settings (Edit Mode)
|
||||||
|
Consist of the segment count, Vertex Mapping Mode, Ease In/Out, Roll In/Out, Curve In/Out and Scale In/Out.
|
||||||
|
|
||||||
|
The segment count is often overridden via a sub-rig option, but other settings are usually copied to deform
|
||||||
|
bones as is.
|
||||||
|
Transformation Settings
|
||||||
|
Consist of the rotation mode, pose mode rotation values, and channel locks.
|
||||||
|
|
||||||
|
These settings are usually copied to FK controls.
|
||||||
|
Custom Properties
|
||||||
|
Usually copied to one of the controls generated based on the metarig bone (mainly FK). Intra-armature drivers
|
||||||
|
that access the property are retargeted to the copied instance.
|
||||||
|
Custom Widget
|
||||||
|
Usually copied to one of the controls generated based on the metarig bone (mainly FK), and suppresses automatic
|
||||||
|
generation of a widget for the bone if specified.
|
||||||
|
|
||||||
|
|
||||||
Custom Root Bone
|
Custom Root Bone
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
If the meta-rig contains a bone called "root", it is used as the root control bone instead of creating a new one.
|
If the meta-rig contains a bone called ``root``, it is used as the root control bone instead of creating a new one.
|
||||||
This allows changing the rest position of the root bone, assigning a custom widget,
|
This allows changing the rest position of the root bone, assigning a custom widget,
|
||||||
or adding custom properties to the bone.
|
or adding custom properties to the bone.
|
||||||
|
|
||||||
@ -121,71 +171,222 @@ The custom root bone must have no parent, and use the :ref:`basic.raw_copy <rigi
|
|||||||
type or none.
|
type or none.
|
||||||
|
|
||||||
|
|
||||||
Layers, Bone Groups & Selection Sets
|
.. _bpy.ops.Armature.rigify_apply_selection_colors:
|
||||||
====================================
|
.. _bpy.ops.Armature.rigify_add_bone_groups:
|
||||||
|
.. _bpy.types.Armature.rigify_colors:
|
||||||
|
.. _bpy.types.Armature.rigify_colors_lock:
|
||||||
|
.. _bpy.types.Armature.rigify_theme_to_add:
|
||||||
|
.. _bpy.types.Armature.rigify_colors_index:
|
||||||
|
.. _bpy.types.RigifySelectionColors:
|
||||||
|
.. _bpy.types.RigifyArmatureLayer:
|
||||||
|
|
||||||
:ref:`Armature Layers <bpy.types.Armature.layers>` are usually used to isolate bones.
|
Color Sets
|
||||||
Rigify can take advantage of armature layer to generate extra features and the user interface for the final rig.
|
==========
|
||||||
Rigify layers are displayed in a vertical layout inside their own separate panel named Rigify Layer Names.
|
|
||||||
|
|
||||||
- The first column shows the layer number.
|
.. figure:: /images/addons_rigging_rigify_metarigs_color-sets-panel.png
|
||||||
- The second column is a display toggle.
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
This toggle controls the armature layer visibility.
|
The Color Sets panel is used to define the bone color scheme for the final rig. The colors from the list
|
||||||
It has the same effect of enabling/disabling the layer visibility from the top armature layers menu.
|
can be associated with bone collections from the relevant panel.
|
||||||
It is just redrawn here for a simplicity.
|
|
||||||
|
|
||||||
- The third column sets a specific layer name to be used to build the rig UI of the final rig.
|
The top two rows of the Color Sets panel are used to define the general behavior of the bone colors.
|
||||||
If set, a button with the specified name will be created in the ``rig_ui_template`` to control the visibility of
|
|
||||||
this specific armature layer. If layer contains at least one bone but its name field is empty,
|
|
||||||
a button with no name will be created in the rig UI.
|
|
||||||
|
|
||||||
- The fourth column defines in which UI row the layer button will be created.
|
|
||||||
|
|
||||||
This numbers define the layer ordering in the UI and will ignore the effective layer number.
|
|
||||||
If two layer have the same row number their UI buttons will be created in the same row.
|
|
||||||
|
|
||||||
- The fifth column is a toggle for the selection set.
|
|
||||||
|
|
||||||
If checked a selection set with that name will be created and associated to the final rig.
|
|
||||||
|
|
||||||
- The sixth column defines the Rigify Bone Grouping.
|
|
||||||
|
|
||||||
If Rigify Bone Groups are set, the user can make the association between
|
|
||||||
the bones on the layer and the specified bone group from the list.
|
|
||||||
The controls on the final rig will inherit the bone grouping through this value.
|
|
||||||
|
|
||||||
- The seventh column displays -- if set -- the associated bone group name.
|
|
||||||
|
|
||||||
In order to use the Bone Groups in the *Rigify Layer Names* fields,
|
|
||||||
*Rigify Bone Groups* must be set through the specific panel.
|
|
||||||
Usually this panel is displayed just above Rigify Layer Names panel.
|
|
||||||
|
|
||||||
Rigify Bone Groups are used to define bone colors on the final rig.
|
|
||||||
The top two rows of the Rigify Bone Groups panel are used to define the bone colors general behavior.
|
|
||||||
Usually color themes use a gradient of colors to define the different bone states: default, selected and active.
|
Usually color themes use a gradient of colors to define the different bone states: default, selected and active.
|
||||||
When multiple color themes are used in the same rig, identifying which bone is selected or
|
When multiple color themes are used in the same rig, identifying which bone is selected or
|
||||||
active can be tricky since each color will have its corresponding state.
|
active can be tricky since each color will have its corresponding state.
|
||||||
|
|
||||||
To override this behavior Rigify Bone Groups unifies the active and selected states with the same color.
|
To override this behavior Rigify unifies the active and selected states using the same color.
|
||||||
This is defined by two values:
|
This is defined by two values:
|
||||||
|
|
||||||
Unified Selected/Active Colors
|
Unified Selected/Active Colors
|
||||||
When this option is active adding a bone group in the list will always keep the colors consistent.
|
When this option is active adding a bone group in the list will always keep the colors consistent.
|
||||||
When a color scheme is added as from a theme, the color scheme is loaded as is.
|
When a color scheme is added from a theme, the color scheme is loaded as is.
|
||||||
Click on the *Apply* button to force the system to unify selected and active colors.
|
Click on the *Apply* button to force the system to unify selected and active colors.
|
||||||
|
|
||||||
Selected/Active Colors
|
Selected/Active Colors
|
||||||
This two color fields define respectively *Selected* and *Active* colors.
|
This two color fields define respectively the *Selected* and *Active* colors.
|
||||||
By default Rigify reads this colors from the theme defined by the user in the Blender preferences.
|
By default Rigify reads these colors from the theme defined by the user in the Blender preferences.
|
||||||
This way the *Selected*/*Active* colors can always have a predictable and consistent behavior in the UI.
|
This way the *Selected*/*Active* colors can always have a predictable and consistent behavior in the UI.
|
||||||
The colors can be customized by clicking on the relative color field.
|
The colors can be customized by clicking on the relevant color field.
|
||||||
To reset them to the Blender current theme value just click on the button with the update icon.
|
To reset them to the Blender current theme value just click on the button with the update icon.
|
||||||
|
|
||||||
Bone Groups can be added and deleted as done in the general Bone Group panel
|
Color Sets can be added and deleted by clicking on the ``+`` or ``-`` buttons.
|
||||||
by clicking on the ``+`` or ``-`` buttons.
|
All color sets can be deleted at once by clicking on the Specials menu.
|
||||||
All Bone Groups can be deleted at once by clicking on the Specials menu.
|
|
||||||
|
|
||||||
To add the predefined Rigify Default Bone Groups list click on *Add Standard* button.
|
To add the colors from the predefined Rigify default color scheme (as shown in the image) to the list click
|
||||||
|
the *Add Standard* button.
|
||||||
|
|
||||||
To add a specific theme with its own color scheme, select it from the list and click on the *Add From Theme* button.
|
To add a specific theme with its own color scheme, select it from the list and click on the *Add From Theme* button.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.BoneCollection.rigify_ui_row:
|
||||||
|
|
||||||
|
Bone Collections UI
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_bone-collections-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
:doc:`Bone Collections </animation/armatures/bones/bone_collections>` are used to group related bones together
|
||||||
|
so that they can be hidden or revealed together.
|
||||||
|
|
||||||
|
Rigify can take advantage of collections to generate extra features and the user interface for the final rig.
|
||||||
|
A panel named :ref:`Rig Layers <rigify.rig_ui_template.RigLayers>` is generated with buttons for hiding the
|
||||||
|
collections, arranged in an intuitive layout.
|
||||||
|
|
||||||
|
The Bone Collections UI panel allows configuring the layout of that generated panel, as well as specifying some
|
||||||
|
other settings for bone collections, such as the color set to use.
|
||||||
|
|
||||||
|
The top of the panel is occupied by a list that duplicates the main bone collection list, but displays additional
|
||||||
|
properties, such as the color set, whether the collection has a button, or whether it generates a selection set.
|
||||||
|
|
||||||
|
Validate Collection References
|
||||||
|
Some sub-rig types have :ref:`references <bpy.types.RigifyParameters>` to bone collections in their properties.
|
||||||
|
Rigify uses a referencing scheme that is robust to collection renames, but deleting collections or joining armatures
|
||||||
|
can still lead to broken references.
|
||||||
|
|
||||||
|
This button runs a scan that validates and normalizes all collection references, reporting any errors, and
|
||||||
|
reducing the chance of breakage being caused by subsequent user actions.
|
||||||
|
|
||||||
|
This scan is also performed automatically every time the rig is generated.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
To avoid breakage this operation should be used both immediately before and after joining two metarig armatures.
|
||||||
|
More specifically, it must be always done between the actions of renaming any collections and joining.
|
||||||
|
|
||||||
|
Color Set
|
||||||
|
Specifies the :ref:`color set <bpy.types.Armature.rigify_colors>` to use for bones in this collection. If a bone
|
||||||
|
belongs to multiple collections, in general the collection located earlier in the list has priority.
|
||||||
|
|
||||||
|
Add Selection Set
|
||||||
|
Specifies whether a selection set should be generated for this collection.
|
||||||
|
|
||||||
|
UI Row
|
||||||
|
If nonzero, specifies which row of the :ref:`Rig Layers <rigify.rig_ui_template.RigLayers>` panel should contain the
|
||||||
|
button controlling the visibility of this collection. When zero, no button is generated, and the collection is hidden.
|
||||||
|
|
||||||
|
UI Title
|
||||||
|
This field can be used to override the title used on the UI button to be distinct from the true collection name.
|
||||||
|
Unlike collection names, titles are not required to be unique, so this can be used to reduce clutter by relying
|
||||||
|
on contextual cues within the panel.
|
||||||
|
|
||||||
|
UI Layout sub-panel
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_bone-collections-layout-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
The UI Layout sub-panel provides a WYSIWYG editor for the layout of the generated UI panel
|
||||||
|
(as defined by the UI Row and UI Title settings above).
|
||||||
|
|
||||||
|
Each row contains three buttons at the end:
|
||||||
|
|
||||||
|
Arrow
|
||||||
|
Moves the active collection button to this row.
|
||||||
|
Plus
|
||||||
|
Inserts a new row before the current one.
|
||||||
|
Minus
|
||||||
|
Removes the current row and shifts all buttons up.
|
||||||
|
|
||||||
|
To the left of the editing control buttons, rows display buttons corresponding to the collections, same as the final
|
||||||
|
UI, except that rather than hiding or unhiding, clicking these buttons selects the collection.
|
||||||
|
|
||||||
|
For the active collection the selection button is replaced with an input field for editing the UI Title, and an **X**
|
||||||
|
button to unassign the collection from the UI.
|
||||||
|
|
||||||
|
For any collections not assigned to the UI, their select buttons are displayed in a separate section at the bottom
|
||||||
|
of the sub-panel.
|
||||||
|
|
||||||
|
The ``Root`` collection will be added and/or assigned a UI button automatically if necessary when the rig is generated.
|
||||||
|
If desired, it is possible to manually assign UI buttons to the internal ``ORG``, ``DEF`` and ``MCH`` collections.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Blank rows appear much thinner in the final interface, since they don't have to contain editing buttons, and can be
|
||||||
|
used as logical separators.
|
||||||
|
|
||||||
|
Actions
|
||||||
|
=======
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_actions-list-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
The :doc:`Action </animation/constraints/relationship/action>` constraint allows applying poses defined
|
||||||
|
by an action to bones based on the transformation of another bone. This requires adding the constraint to every
|
||||||
|
bone affected by the action, which is very tedious. For this reason, Rigify includes a system to do this
|
||||||
|
automatically through the Actions panel.
|
||||||
|
|
||||||
|
The panel defines a list of actions to be applied to the generated rig bones. Each action must be listed only once.
|
||||||
|
|
||||||
|
The list entries show the name of the action, the trigger (a bone or a corrective action driven by two others), and
|
||||||
|
a checkbox that can be used to temporarily disable applying this action to the rig. The icon at the start of the entry
|
||||||
|
is changed from an action icon to a link icon to highlight corrective actions that depend on the active normal one,
|
||||||
|
or normal actions used by the active corrective action.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The Action constraints are added to the bones in such an order as to exactly reproduce the intended deformation,
|
||||||
|
assuming the actions were created (posed and keyframed) in the order listed.
|
||||||
|
|
||||||
|
Normal Actions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_actions-normal-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
Normal actions are applied based on the transformation of a specific control bone from the generated rig.
|
||||||
|
They have the following properties:
|
||||||
|
|
||||||
|
Control Bone
|
||||||
|
Specifies the bone that drives the action.
|
||||||
|
Symmetrical
|
||||||
|
If the control bone has a suffix that specifies that it belongs to the left or right side, this option can
|
||||||
|
be enabled to automatically apply symmetry.
|
||||||
|
|
||||||
|
When enabled, left-side bones keyframed in the action will be controlled by the left-side control, and right-side
|
||||||
|
bones by the right side control. Bones that don't have a a side suffix are assumed to belong to the center of the
|
||||||
|
character. They are rigged with two Action constraints with influence 0.5 that are controlled by each of the
|
||||||
|
control bones.
|
||||||
|
Frame Start & End
|
||||||
|
Specifies the frame range of the action that will be used by the created constraints.
|
||||||
|
Target Space, Transform Channel
|
||||||
|
Specifies the coordinate space and transformation channel of the target bone that should be used.
|
||||||
|
Min, Max
|
||||||
|
Specifies the range of the transformation channel values that is mapped to the specified action frame range.
|
||||||
|
Default Frame
|
||||||
|
Shows the frame within the action that maps to the neutral value (1 for scale and 0 otherwise)
|
||||||
|
of the transformation channel, as computed from the specified range values.
|
||||||
|
|
||||||
|
Corrective Actions
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_actions-corrective-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
Corrective actions are applied based on the progress of two other actions from the list, and are used to improve
|
||||||
|
the pose when they are used together.
|
||||||
|
|
||||||
|
Frame Start & End
|
||||||
|
Specifies the frame range of the action that will be used by the created constraints.
|
||||||
|
Trigger A & B
|
||||||
|
Specifies the two actions that control the correction. The interface rows contain buttons to show the settings
|
||||||
|
for that action, or jump to it in the list.
|
||||||
|
|
||||||
|
The progress of the corrective action from the start to the end frame is calculated as the product of the progress
|
||||||
|
values of the two trigger actions. Thus, the start frame is applied when either of the triggers is at the start frame,
|
||||||
|
and the end frame is used when both are at their end frame.
|
||||||
|
|
||||||
|
Corrective actions must be below their triggers in the list, which is enforced via an implicit reorder even if violated.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Corrective actions behave in the most intuitive way when both triggers have the Default Frame equal to Start Frame.
|
||||||
|
To create a corrective action in such case:
|
||||||
|
|
||||||
|
* Create the two trigger actions, add them to the panel and generate the rig.
|
||||||
|
* Pose your controls so that both trigger actions are fully activated to the end frame.
|
||||||
|
* Pose and keyframe the necessary corrections in the end frame of the new action, while keying the start
|
||||||
|
frame to the neutral values.
|
||||||
|
* Add the newly created action to the end of the list in the panel and configure its settings.
|
||||||
|
@ -6,23 +6,165 @@ Generated Rig Features
|
|||||||
After human rig generation a new armature named ``rig`` will be added to your scene.
|
After human rig generation a new armature named ``rig`` will be added to your scene.
|
||||||
This is the character rig you have generated from the human meta-rig and will contain all the features.
|
This is the character rig you have generated from the human meta-rig and will contain all the features.
|
||||||
|
|
||||||
|
|
||||||
|
Common Features
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. _rigify.rig_ui_template.RigBakeSettings:
|
||||||
|
.. _rigify.rig_ui_template.RigUI:
|
||||||
|
.. _rigify.rig_ui_template.RigLayers:
|
||||||
|
|
||||||
|
Rig UI Panels
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_rig-ui-panels.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
The generated rig is accompanied by a script that implements a set of panels that appear in the Item
|
||||||
|
tab of the 3D view sidebar when a bone belonging to the generated rig is active.
|
||||||
|
|
||||||
|
Rig Bake Settings
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This panel is displayed if the armature has an active :doc:`Action </animation/actions>`, and
|
||||||
|
is used by operators that apply an operation to multiple keyframes.
|
||||||
|
|
||||||
|
Bake All Keyed Frames
|
||||||
|
When enabled, the operator computes and keyframes its result on every frame that has a key for any of the
|
||||||
|
bones, as opposed to just relevant ones.
|
||||||
|
Limit Frame Range
|
||||||
|
When enabled, the operator is limited to a certain frame range.
|
||||||
|
|
||||||
|
Start, End
|
||||||
|
Specify the frame range to process.
|
||||||
|
Get Frame Range
|
||||||
|
Sets the baking frame range from the scene frame range.
|
||||||
|
|
||||||
|
Rig Main Properties
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This panel shows properties and operators that are relevant to the selected bones.
|
||||||
|
|
||||||
|
Rig Layers
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
This panel contains buttons for toggling visibility of bone collections.
|
||||||
|
|
||||||
|
The layout and labels of the buttons are defined in the metarig
|
||||||
|
:ref:`Bone Collection UI <bpy.types.BoneCollection.rigify_ui_row>` panel.
|
||||||
|
|
||||||
|
|
||||||
|
Common Controls
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Rigify rigs are built from standardized components called sub-rigs, which are linked together in a parent-child
|
||||||
|
hierarchy. Although the precise behavior of each sub-rig is determined by its implementation, there are certain
|
||||||
|
conventions that are followed by many of them.
|
||||||
|
|
||||||
|
Root Bone
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
Every Rigify rig has a bone called `root`, which serves as a parent for all bones of the rig.
|
||||||
|
It is assigned to a bone collection called `Root`. Unless the metarig has a custom bone
|
||||||
|
of that name, it is positioned at the origin of the rig object. Its widget looks like
|
||||||
|
a circle with four arrow shaped protrusions.
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_arm-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Limb Master
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
Many limb-like sub-rigs have a gear-shaped bone at their base.
|
||||||
|
|
||||||
|
This bone can in some cases be used to transform the whole sub-rig as a rigid unit, and is also used as a container
|
||||||
|
for its custom properties that are displayed in the *Rig Main Properties* panel. If you are looking in the Graph editor
|
||||||
|
for the animated values of the properties, this is most likely the bone to look at.
|
||||||
|
|
||||||
|
As an exception, if multiple controls of the sub-rig need their own copy of conceptually the same property,
|
||||||
|
it may be placed on those controls directly instead.
|
||||||
|
|
||||||
|
Tweak Controls
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
These controls look like blue spheres in the default color scheme, and are the final control layer above the
|
||||||
|
deformation bones themselves.
|
||||||
|
|
||||||
|
Tweaks are subordinate to the general IK or FK limb position but can be moved apart, twisted and scaled freely,
|
||||||
|
even reaching virtually impossible limb shapes.
|
||||||
|
|
||||||
|
Rubber Tweak
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_rubber-tweak.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Some sub-rigs provide a slider in their *Rig Main Properties* when tweaks are selected, which controls
|
||||||
|
the smoothness of the Bendy Bone joint at that position. When zero, the joint deforms with a sharp bend,
|
||||||
|
while setting it to 1 makes the transition smooth for a more rubber hose cartoon like appearance.
|
||||||
|
|
||||||
|
Custom Pivots
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Some bones that can be freely moved in space (like IK controls) can be optionally accompanied by a custom pivot
|
||||||
|
control. These controls usually look like a plain axes empty with the axis lines capped with squares or crosses,
|
||||||
|
like the one in the image above. The control can be freely moved to change the location of the pivot, and then
|
||||||
|
rotated or scaled to transform the target bone around the pivot.
|
||||||
|
|
||||||
|
IK and FK Switching
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_ik-fk-switch.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
A number of rig types provides both IK and FK controls (red for IK and green for FK in the image above),
|
||||||
|
with an ability to switch and snap between them.
|
||||||
|
|
||||||
|
Switching is controlled by a slider in *Rig Main Properties*, usually blending between full IK at 0 and full FK at 1.
|
||||||
|
|
||||||
|
Snapping one type of controls to the shape of the other is done via buttons, which form a group of three
|
||||||
|
in their complete set:
|
||||||
|
|
||||||
|
* The main button will snap on the current frame, and auto-key the result if enabled.
|
||||||
|
* The *Action* button will bake the change on multiple keyframes, according to *Rig Bake Settings*.
|
||||||
|
* The *Clear* button will delete keyframes on the corresponding controls within the bake interval.
|
||||||
|
|
||||||
|
Parent Switching
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_parent-switch.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Some freely movable controls, e.g. usually the IK controls, can have a mechanism to switch their parent bone
|
||||||
|
between a set of choices, including the root bone, or none at all.
|
||||||
|
|
||||||
|
This mechanism is exposed in the *Rig Main Properties* panel through a row with three controls:
|
||||||
|
|
||||||
|
* A button that presents a dropdown menu, which allows switching the parent on the current frame while
|
||||||
|
preserving the bone position and orientation in the world space.
|
||||||
|
* An input field that exposes the raw switch property for keyframing and direct manipulation. Values correspond to
|
||||||
|
positions in the dropdown list.
|
||||||
|
* A button to apply the position preserving parent switch over the bake range of keyframes.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When manually placing a Child Of constraint on the control bone, the built-in parent should be switched to none.
|
||||||
|
|
||||||
Limbs
|
Limbs
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Each limb will have a gear widget at its base. This is the utility bone that
|
Limbs have a master bone and tweaks. Depending on the user defined meta-rig options,
|
||||||
contains all the sub-rig properties. The rig features will be displayed anyway
|
multiple deform bone segments with tweaks will be created.
|
||||||
when the affected bone is selected but if you are looking in the Graph editor for
|
|
||||||
those properties' animated values, this is most likely the bone to look at.
|
|
||||||
|
|
||||||
Depending on the user defined meta-rig options, multiple deform bone segments will be created.
|
The IK control may have an optional custom pivot, as well as additional predefined pivots.
|
||||||
Each bone can be controlled by tweak controls placed at the respective bone's head/tail.
|
|
||||||
Tweaks are subordinate to the general IK or FK limb position but can be moved apart,
|
|
||||||
twisted and scaled freely, even reaching virtually impossible limb shapes.
|
|
||||||
|
|
||||||
Rigify's limbs have the following controls in the Sidebar panel:
|
Rigify's limbs have the following controls in the Sidebar panel:
|
||||||
|
|
||||||
.. figure:: /images/addons_rigging_rigify_rig-features_limb-properties.png
|
.. figure:: /images/addons_rigging_rigify_rig-features_limb-properties.png
|
||||||
:align: right
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
FK Limb Follow :guilabel:`Slider`
|
FK Limb Follow :guilabel:`Slider`
|
||||||
When set to 1 the FK limb will not rotate with the torso and will retain is rotation
|
When set to 1 the FK limb will not rotate with the torso and will retain is rotation
|
||||||
@ -32,11 +174,7 @@ IK-FK :guilabel:`Slider`
|
|||||||
Controls whether the limb follows IK or FK controls, blending between full IK at 0 and full FK at 1.
|
Controls whether the limb follows IK or FK controls, blending between full IK at 0 and full FK at 1.
|
||||||
|
|
||||||
IK<->FK Snapping :guilabel:`Buttons`
|
IK<->FK Snapping :guilabel:`Buttons`
|
||||||
To snap one type of controls to another use the appropriate buttons.
|
Snaps one type of controls to another.
|
||||||
|
|
||||||
Each snap direction has buttons to update just the current pose, bake the whole animation in the
|
|
||||||
current *Action*, or *Clear* keyframes instead of snapping. The buttons dealing with keyframes
|
|
||||||
use options from an additional panel to control the range of frames to bake.
|
|
||||||
|
|
||||||
IK Stretch :guilabel:`Slider`
|
IK Stretch :guilabel:`Slider`
|
||||||
Blends between the limb stretching freely at 1, or having its maximum length constrained at 0.
|
Blends between the limb stretching freely at 1, or having its maximum length constrained at 0.
|
||||||
@ -47,44 +185,366 @@ Toggle Pole :guilabel:`Switch`
|
|||||||
When set to 1 the classic pole vector will be displayed and used to orient the IK limb.
|
When set to 1 the classic pole vector will be displayed and used to orient the IK limb.
|
||||||
The arrow will continue to handle the scale and the location of the IK limb base.
|
The arrow will continue to handle the scale and the location of the IK limb base.
|
||||||
|
|
||||||
Similar to IK-FK Snapping, the row includes buttons to convert the current pose between types,
|
Similar to *Parent Switching*, the row includes buttons to convert the current pose between types,
|
||||||
or bake the whole action.
|
or bake the whole action.
|
||||||
|
|
||||||
IK Parent :guilabel:`Switch`
|
IK Parent :guilabel:`Switch`
|
||||||
Switches the effective parent of the main IK control, with different integer values corresponding
|
Switches the effective parent of the main IK control.
|
||||||
to choices from a list.
|
|
||||||
|
|
||||||
The row includes buttons that allow converting the current pose via choosing from a menu,
|
|
||||||
or baking the whole action.
|
|
||||||
|
|
||||||
Pole Parent :guilabel:`Switch`
|
Pole Parent :guilabel:`Switch`
|
||||||
Switches the effective parent of the classic IK Pole control.
|
Switches the effective parent of the classic IK Pole control.
|
||||||
|
|
||||||
|
Arms
|
||||||
|
----
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_hand-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
:ref:`Arms <rigify.rigs.limbs.arm>` have the simplest control structure: the IK controls consist of the main IK
|
||||||
|
control, the optional custom pivot control, and the optional wrist control (the bent circle), which pivots around
|
||||||
|
the tail rather than the head of the hand bone.
|
||||||
|
|
||||||
|
There are no additional controls in the *Rig Main Properties* panel.
|
||||||
|
|
||||||
|
Legs
|
||||||
|
----
|
||||||
|
|
||||||
|
:ref:`Legs <rigify.rigs.limbs.leg>` have a more complicated setup, which has:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_foot-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
IK & FK Toe :guilabel:`Optional`
|
||||||
|
Two separate IK and FK controls for the toe (this is on by default in the bundled metarigs,
|
||||||
|
and is recommended for stable IK<->FK snapping).
|
||||||
|
IK Heel
|
||||||
|
A heel control which can be rotated to command forward or backward roll, sideways rock, or yaw of the heel.
|
||||||
|
Toe Pivot :guilabel:`Optional`
|
||||||
|
An extra pivot control rotating around the base of the toe.
|
||||||
|
Custom Pivot :guilabel:`Optional`
|
||||||
|
A custom pivot control.
|
||||||
|
|
||||||
|
The properties panel has two additional features:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_foot-properties.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
IK->FK Snap With Roll :guilabel:`Buttons`
|
||||||
|
Standard IK to FK snapping resets the transformations of all IK controls other than the main one. This is
|
||||||
|
not convenient to use in an animation that involves the use of the heel control, because roll and rock would
|
||||||
|
be folded into the transformation of the main control.
|
||||||
|
|
||||||
|
This alternative snapping operator tries to deduce the rotation of the heel control so as to keep the main
|
||||||
|
IK control parallel to the ground plane inferred from the *current* orientation of the IK control. The operator
|
||||||
|
has options to specify which rotational axes to use for the heel control rotation.
|
||||||
|
|
||||||
|
Roll On Toe :guilabel:`Slider` :guilabel:`Optional`
|
||||||
|
If enabled in the sub-rig settings, this slider can be used to control whether the heel rotation (excluding
|
||||||
|
backward roll) is applied at the base or the tip of the toe.
|
||||||
|
|
||||||
|
Fingers & Tentacles
|
||||||
|
===================
|
||||||
|
|
||||||
|
Simple Tentacle
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_simple-controls.png
|
||||||
|
|
||||||
|
The simplest type of rig for a finger or appendage in general is the
|
||||||
|
:ref:`simple tentacle <rigify.rigs.limbs.simple_tentacle>` sub-rig. It has only basic FK controls and tweaks,
|
||||||
|
with the only automation being the ability to copy certain axes of the local rotation of a FK control to the next one.
|
||||||
|
|
||||||
|
Advanced Finger
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_finger-controls.png
|
||||||
|
|
||||||
|
For fingers specifically, Rigify has a dedicated :ref:`finger <rigify.rigs.limbs.super_finger>` sub-rig type,
|
||||||
|
which provides:
|
||||||
|
|
||||||
|
Master
|
||||||
|
A master control (orange), which can be used to rotate the finger as a whole, as well as to bend it via Y scaling.
|
||||||
|
FK Chain
|
||||||
|
FK control chain (green) that can also operate as semi-tweaks through allowing translation.
|
||||||
|
IK Control :guilabel:`Optional`
|
||||||
|
IK control for the tip (red).
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
IK in this sub-rig is rudimentary and operates as an adjustment for FK. The intended way of use is to pose
|
||||||
|
the finger in FK, and then enable IK after using IK->FK snap if it is necessary to pin the tip of the finger
|
||||||
|
in place.
|
||||||
|
|
||||||
|
The properties panel has the following features:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_finger-properties.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Finger IK :guilabel:`Slider` :guilabel:`Optional`
|
||||||
|
Slider controlling the influence of the IK.
|
||||||
|
|
||||||
|
FK<->IK Snapping :guilabel:`Buttons` :guilabel:`Optional`
|
||||||
|
Snaps the IK control to the end of the finger, or adjusts the FK controls to the result of the IK correction.
|
||||||
|
|
||||||
|
Curvature :guilabel:`Slider`
|
||||||
|
Has the same effect as *Rubber Tweak* on limbs, controlling the rubber hose cartoon effect.
|
||||||
|
|
||||||
|
Spline Tentacle
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_spline-controls.png
|
||||||
|
|
||||||
|
Spline Tentacle (Stretch To Fit, Manual Squash & Stretch)
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_spline-controls-tip.png
|
||||||
|
|
||||||
|
Spline Tentacle (Direct Tip Control)
|
||||||
|
|
||||||
|
The :ref:`spline tentacle <rigify.rigs.limbs.spline_tentacle>` is an advanced rig for a flexible appendage (tentacle)
|
||||||
|
based on the :doc:`Spline IK </animation/constraints/tracking/spline_ik>` constraint. The IK control bones manage
|
||||||
|
control points of a Bezier spline curve, which in turn is followed by the IK chain.
|
||||||
|
|
||||||
|
The tentacle can be generated in three major modes:
|
||||||
|
|
||||||
|
Stretch To Fit
|
||||||
|
In this simplest mode all bones of the sub-rig deform chain follow the curve and squash & stretch to match
|
||||||
|
its length.
|
||||||
|
Manual Squash & Stretch
|
||||||
|
This mode is almost the same, but the chain does not automatically scale to match the curve length.
|
||||||
|
Instead, it tries to cover as much as possible of the curve given its manually scaled length.
|
||||||
|
If the curve is too short, the chain will overhang it and straighten out, but this can result in jitter.
|
||||||
|
Direct Tip Control
|
||||||
|
This mode is more similar to the behavior of IK limbs: the final bone of the chain is directly controlled by
|
||||||
|
the tip IK control, while the other bones of the chain stretch and follow the curve to bridge the gap.
|
||||||
|
|
||||||
|
The tentacle sub-rig has the following control bones:
|
||||||
|
|
||||||
|
Master
|
||||||
|
The tentacle has the same gear master control as other limbs (seen as a line in the images).
|
||||||
|
IK Start
|
||||||
|
The IK control at the base of the tentacle, which can be used to control the base twist and sideways scale, and
|
||||||
|
is one of the potential switchable parents for other IK controls.
|
||||||
|
|
||||||
|
In the *Manual Squash & Stretch* mode it controls uniform scale of the tentacle in all directions.
|
||||||
|
IK Start (Extra) :guilabel:`Optional`
|
||||||
|
Extra start controls, optional and hidden by default. Switchable parents default to the *IK Start* control.
|
||||||
|
The scale of the control may optionally affect the thickness of the chain via the radius of the curve point.
|
||||||
|
IK Middle
|
||||||
|
Controls for the middle of the curve. The switchable parents default to *Master*, but may be set to
|
||||||
|
*IK Start* or *IK End* controls.
|
||||||
|
The scale of the control may optionally affect the thickness of the chain via the radius of the curve point.
|
||||||
|
IK End (Extra) :guilabel:`Optional`
|
||||||
|
Extra end controls, optional and hidden by default. Switchable parents default to the *IK End* control.
|
||||||
|
The scale of the control may optionally affect the thickness of the chain via the radius of the curve point.
|
||||||
|
|
||||||
|
The *Direct Tip Control* mode adds one more extra end control next to the middle ones that cannot be hidden.
|
||||||
|
IK End
|
||||||
|
Controls the last control point of the curve, and is one of the potential parents for the other chain controls.
|
||||||
|
|
||||||
|
In the *Direct Tip Control* mode also directly controls the last bone of the chain.
|
||||||
|
IK End Twist :guilabel:`Optional`
|
||||||
|
This control is visually attached to the last bone of the chain, and must use Euler rotation.
|
||||||
|
* *Stretch To Fit*: it controls the twist of the tip of the tentacle, interpolated to nothing at the base.
|
||||||
|
* *Manual Squash & Stretch*: it also controls the scaling of the tip of the tentacle.
|
||||||
|
* *Direct Tip Control*: the control does not exist.
|
||||||
|
FK Chain :guilabel:`Optional`
|
||||||
|
If enabled, the rig has an alternative fully FK control chain.
|
||||||
|
|
||||||
|
The properties panel has the following features:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_spline-properties.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Start/End Controls :guilabel:`Optional`
|
||||||
|
If extra controls exist, this property controls how many of them are visible and active.
|
||||||
|
|
||||||
|
When a control is disabled, it is snapped to a position extremely close to the corresponding end control point,
|
||||||
|
thus effectively neutralizing its effect. Thus, changing the setting during an animation can cause jumps.
|
||||||
|
|
||||||
|
The plus and minus buttons can help with maintaining a continuous transition in an animation by keyframing the
|
||||||
|
change in the property value with Constant interpolation, and also snapping and keyframing the control itself
|
||||||
|
to its 'hidden' position.
|
||||||
|
|
||||||
|
End Twist Estimate :guilabel:`Optional`
|
||||||
|
In the *Direct Tip Control* mode the twist at the end of the tentacle is deduced from the free form orientation
|
||||||
|
of the tip control, rather than using a separate twist control with constrained Euler rotation. However, for
|
||||||
|
technical reasons, that can only give values within the 180 degrees range of neutral.
|
||||||
|
|
||||||
|
A long tentacle can accept more twist than 180 degrees, so a workaround is necessary. This property allows
|
||||||
|
specifying an approximate estimate of the twist value (effectively shifting the neutral position), and the
|
||||||
|
rig then applies the automatic correction within 180 degrees of this value.
|
||||||
|
|
||||||
|
IK-FK, IK<->FK Snapping :guilabel:`Optional`
|
||||||
|
If the FK controls are enabled, these provide standard IK-FK switching and snapping.
|
||||||
|
|
||||||
|
However, unlike other limbs, for this rig automatic IK to FK snapping can only be approximate and requires
|
||||||
|
manual tuning. For this reason, buttons for baking the snapping over a range of keyframes are not provided.
|
||||||
|
|
||||||
|
Parent Switch
|
||||||
|
Switches the parent of the selected IK control.
|
||||||
|
|
||||||
|
|
||||||
|
Spine, Head & Tail
|
||||||
|
==================
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_spine-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Spine
|
||||||
|
-----
|
||||||
|
|
||||||
|
The :ref:`spine <rigify.rigs.spines.basic_spine>` sub-rig provides a cube shaped torso control with
|
||||||
|
switchable parent, and bent circle shaped hip and chest controls subordinate to it. For low level deformation
|
||||||
|
tweak controls are provided.
|
||||||
|
|
||||||
|
The torso control can optionally be accompanied with a custom pivot control. The rig can also optionally
|
||||||
|
provide a full set of FK controls that are subordinate to the normal simplified ones, but above tweaks.
|
||||||
|
|
||||||
|
The rig properties panel for the spine controls usually includes options for the head and/or tail as well.
|
||||||
|
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_head-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
Head
|
Head
|
||||||
====
|
----
|
||||||
|
|
||||||
|
The :ref:`head <rigify.rigs.spines.super_head>` sub-rig attaches to the end of the spine, and provides
|
||||||
|
rotational controls for the head and neck, as well as tweaks for fine control of the neck.
|
||||||
|
|
||||||
|
If the neck is three or more bones long, an additonal tweak-like translational
|
||||||
|
neck bend control is provided (the widget looks like a circle with arrows).
|
||||||
|
|
||||||
|
The properties panel contains the following options:
|
||||||
|
|
||||||
Neck Follow :guilabel:`Slider`
|
Neck Follow :guilabel:`Slider`
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_head-properties.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
This slider controls the rotations isolation for the neck bones.
|
This slider controls the rotations isolation for the neck bones.
|
||||||
When set to 0 the neck will stay oriented as the Torso (the big box control).
|
The neck will follow the orientation of the Torso when set to 0, and the Chest when set to 1.
|
||||||
When set to 1 the neck will be oriented as the Chest (the big circle in the shoulder area).
|
|
||||||
|
|
||||||
Head Follow :guilabel:`Slider`
|
Head Follow :guilabel:`Slider`
|
||||||
This slider controls the rotations isolation for the head.
|
.. figure:: /images/addons_rigging_rigify_rig-features_tail-controls.png
|
||||||
When set to 0 the head will stay oriented as the Torso (the big box control).
|
:align: right
|
||||||
When set to 1 the head will be oriented as the neck.
|
:width: 200px
|
||||||
|
|
||||||
|
This slider controls the rotations isolation for the head.
|
||||||
|
The head will follow the orientation of the Torso when set to 0, and the Chest when set to 1.
|
||||||
|
|
||||||
|
Tail
|
||||||
|
----
|
||||||
|
|
||||||
|
The :ref:`tail <rigify.rigs.spines.basic_tail>` sub-rig attaches to the start of the spine, and provides
|
||||||
|
FK controls for the tail, as well as a master control that replicates its local rotation around certain axes
|
||||||
|
to all individual bones.
|
||||||
|
|
||||||
|
The properties panel contains the following options:
|
||||||
|
|
||||||
|
Tail Follow :guilabel:`Slider`
|
||||||
|
This slider controls the rotations isolation for the tail.
|
||||||
|
The tail will follow the orientation of the Torso when set to 0, and the Hips when set to 1.
|
||||||
|
|
||||||
Face
|
Face
|
||||||
====
|
====
|
||||||
|
|
||||||
Mouth Lock :guilabel:`Slider`
|
.. note::
|
||||||
This slider controls the mouth opening.
|
This describes the new-style modular face produced by the Upgrade Face operator button.
|
||||||
When set to 0 moving/rotating the jaw bone will result in mouth opening,
|
|
||||||
when set to 1 the lips will stay sealed while the jaw is moving.
|
|
||||||
|
|
||||||
Eyes Following :guilabel:`Slider`
|
Basic Concepts
|
||||||
This slider controls the eyelid automation.
|
--------------
|
||||||
When set to 1 the eyelids and the lower eyebrow will follow
|
|
||||||
the eye movement giving a realistic effect to the character,
|
Skin Bone Chains
|
||||||
when set to 0 no automation will happen.
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_face-chains.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
The foundation of the Rigify face is a network of Bendy Bone :ref:`chains <rigify.rigs.skin.basic_chain>` with controls
|
||||||
|
placed at every bone end. These controls affect all bones that meet at that specific point.
|
||||||
|
|
||||||
|
When the controls are merely translated, the B-Bone chains retain the normal automatic bezier handle behavior.
|
||||||
|
Local rotation and/or scaling of the controls are applied on top of that.
|
||||||
|
|
||||||
|
In case of :ref:`certain chains <rigify.rigs.skin.stretchy_chain>`, the transformation of the end and/or middle
|
||||||
|
controls is interpolated to other controls located between them. In such cases the controls often have different
|
||||||
|
colors and/or shapes.
|
||||||
|
|
||||||
|
Additionally, certain controls have :ref:`arbitrary constraints <rigify.rigs.skin.glue>` that partially copy
|
||||||
|
transformation from nearby control points.
|
||||||
|
|
||||||
|
Specialized Controllers
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Certain areas of the face, like eyes or mouth, have additional specialized controllers that apply custom behavior
|
||||||
|
on top of the chains and their controllers within the relevant area.
|
||||||
|
|
||||||
|
Eyes
|
||||||
|
----
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_eye-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
The :ref:`eyes <rigify.rigs.face.skin_eye>` have the following controls in addition to the eyelid chains:
|
||||||
|
|
||||||
|
Master
|
||||||
|
This large circular control can be used to transform the whole eye as one unit.
|
||||||
|
Common Target
|
||||||
|
This large control enveloping all individual eye targets has a switchable parent and can
|
||||||
|
be used to specify the point that the eyes should look at.
|
||||||
|
Eye Target
|
||||||
|
These small circle controls within the common target control specify the point targeted by each
|
||||||
|
individual eye. Their local scale can also be used to affect the iris or pupil of the eye,
|
||||||
|
depending on how it was weight painted.
|
||||||
|
|
||||||
|
The rig properties panel contains the following options:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_eye-properties.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Eyelids Follow :guilabel:`Slider`
|
||||||
|
Controls how much the rotation of the eyeball affects the eyelids. Depending on the sub-rig generation
|
||||||
|
options, this slider can be split to separately control the horizontal and vertical directions.
|
||||||
|
|
||||||
|
Eyelids Attached :guilabel:`Slider` :guilabel:`Optional`
|
||||||
|
If enabled in the sub-rig generation options, this slider can be used to disable the mechanism that
|
||||||
|
forces the eyelids to conform to the sphere of the eye.
|
||||||
|
|
||||||
|
Parent :guilabel:`Parent Switch`
|
||||||
|
Selects the parent for the common target control.
|
||||||
|
|
||||||
|
Mouth
|
||||||
|
-----
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_mouth-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
The :ref:`mouth <rigify.rigs.face.skin_jaw>` has the following controls:
|
||||||
|
|
||||||
|
Jaw Master
|
||||||
|
Controls rotation of the jaw, directly affecting the main jaw deform bone, as well
|
||||||
|
as chains fully belonging to the jaw. Chains forming the lip loop(s) are adjusted to
|
||||||
|
open the mouth as the jaw rotates or moves.
|
||||||
|
Mouth Master
|
||||||
|
This control uniformly transforms the lips without moving the jaw.
|
||||||
|
|
||||||
|
The rig properties panel contains the following options:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_mouth-properties.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Mouth Lock :guilabel:`Slider`
|
||||||
|
This slider can be changed from 0 to 1 in order to suppress opening of the mouth
|
||||||
|
when the jaw rotates or moves.
|
||||||
|
@ -13,8 +13,8 @@ This is unlike chain-based rig types that usually consume the whole connected ch
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.copy_chain:
|
.. _rigify.rigs.basic.copy_chain:
|
||||||
|
|
||||||
``basic.copy_chain``
|
basic.copy_chain
|
||||||
====================
|
================
|
||||||
|
|
||||||
Copies the bone chain keeping all the parent relations within the chain untouched.
|
Copies the bone chain keeping all the parent relations within the chain untouched.
|
||||||
Useful as a utility rig type for custom rigs.
|
Useful as a utility rig type for custom rigs.
|
||||||
@ -29,8 +29,8 @@ Deform (Boolean)
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.pivot:
|
.. _rigify.rigs.basic.pivot:
|
||||||
|
|
||||||
``basic.pivot``
|
basic.pivot
|
||||||
===============
|
===========
|
||||||
|
|
||||||
Single-bone rig type that creates a 'custom pivot' control for rotating and scaling its child sub-rigs.
|
Single-bone rig type that creates a 'custom pivot' control for rotating and scaling its child sub-rigs.
|
||||||
|
|
||||||
@ -74,8 +74,8 @@ Deform Bone
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.raw_copy:
|
.. _rigify.rigs.basic.raw_copy:
|
||||||
|
|
||||||
``basic.raw_copy``
|
basic.raw_copy
|
||||||
==================
|
==============
|
||||||
|
|
||||||
Single-bone rig type that copies the bone without the ``ORG-`` name prefix.
|
Single-bone rig type that copies the bone without the ``ORG-`` name prefix.
|
||||||
|
|
||||||
@ -106,8 +106,8 @@ Relink Constraints
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.super_copy:
|
.. _rigify.rigs.basic.super_copy:
|
||||||
|
|
||||||
``basic.super_copy``
|
basic.super_copy
|
||||||
====================
|
================
|
||||||
|
|
||||||
Single-bone rig type that simply copies the bone. Useful as utility rig type for
|
Single-bone rig type that simply copies the bone. Useful as utility rig type for
|
||||||
adding custom features or specific deform bones to your rigs.
|
adding custom features or specific deform bones to your rigs.
|
||||||
|
@ -8,21 +8,21 @@ These rig types implement components of a modular face.
|
|||||||
|
|
||||||
.. _rigify.rigs.face.basic_tongue:
|
.. _rigify.rigs.face.basic_tongue:
|
||||||
|
|
||||||
``face.basic_tongue``
|
face.basic_tongue
|
||||||
=====================
|
=================
|
||||||
|
|
||||||
Generates a simple tongue, extracted from the original PitchiPoy ``super_face`` rig.
|
Generates a simple tongue, extracted from the original PitchiPoy :ref:`super_face <rigify.rigs.faces.super_face>` rig.
|
||||||
|
|
||||||
B-Bone Segments (integer)
|
B-Bone Segments (integer)
|
||||||
Defines the number of b-bone segments each tweak control will be split into.
|
Defines the number of b-bone segments each tweak control will be split into.
|
||||||
Primary Control Layers
|
Primary Control Layers
|
||||||
Optionally specifies layers for the main control.
|
Optionally specifies bone collections for the main control.
|
||||||
|
|
||||||
|
|
||||||
.. _rigify.rigs.face.skin_eye:
|
.. _rigify.rigs.face.skin_eye:
|
||||||
|
|
||||||
``face.skin_eye``
|
face.skin_eye
|
||||||
=================
|
=============
|
||||||
|
|
||||||
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
||||||
two skin chains for the top and bottom eyelids in addition to generating the eye rotation mechanism.
|
two skin chains for the top and bottom eyelids in addition to generating the eye rotation mechanism.
|
||||||
@ -49,8 +49,8 @@ Eyelids Follow Default
|
|||||||
|
|
||||||
.. _rigify.rigs.face.skin_jaw:
|
.. _rigify.rigs.face.skin_jaw:
|
||||||
|
|
||||||
``face.skin_jaw``
|
face.skin_jaw
|
||||||
=================
|
=============
|
||||||
|
|
||||||
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
||||||
one or more loops of mouth skin chains in response to the movement of jaw and mouth controls.
|
one or more loops of mouth skin chains in response to the movement of jaw and mouth controls.
|
||||||
|
@ -3,8 +3,10 @@
|
|||||||
Faces
|
Faces
|
||||||
*****
|
*****
|
||||||
|
|
||||||
``faces.super_face``
|
.. _rigify.rigs.faces.super_face:
|
||||||
====================
|
|
||||||
|
faces.super_face
|
||||||
|
================
|
||||||
|
|
||||||
Will create a face system based on the bones child to the parent that has the property set on it.
|
Will create a face system based on the bones child to the parent that has the property set on it.
|
||||||
|
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
.. _bpy.types.PoseBone.rigify_type:
|
|
||||||
.. _bpy.types.RigifyParameters:
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
Rig Types
|
Rig Types
|
||||||
#############
|
#############
|
||||||
|
@ -6,26 +6,32 @@ Limbs
|
|||||||
These rig types handle generation of different kind of limbs and their features, like fingers.
|
These rig types handle generation of different kind of limbs and their features, like fingers.
|
||||||
|
|
||||||
|
|
||||||
``limbs.simple_tentacle``
|
.. _rigify.rigs.limbs.simple_tentacle:
|
||||||
=========================
|
|
||||||
|
|
||||||
Will create a bendy and stretchy b-bones tentacle chain or automatic bendy and stretchy finger controls.
|
limbs.simple_tentacle
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Will create a simple bendy and stretchy b-bones tentacle chain, which can optionally replicate local rotation
|
||||||
|
from preceeding bones to the subsequent ones for use in cases like fingers.
|
||||||
|
|
||||||
Requirement: A chain of at least two connected bones.
|
Requirement: A chain of at least two connected bones.
|
||||||
|
|
||||||
Automation Axis (X, Y, Z, None)
|
Automation Axis (X, Y, Z, None)
|
||||||
Enables the automation on the selected axis. Multiple axis or none can be selected holding :kbd:`Shift-LMB`.
|
Enables the automation on the selected axis. Multiple axis or none can be selected holding :kbd:`Shift-LMB`.
|
||||||
When enabled the controls of the last bones will copy the rotations from the previous ones.
|
When enabled the subsequent control bones will copy the local rotations from the previous ones.
|
||||||
The option is accessible in the controls of the final rig as a Copy Rotation constraint and
|
The option is accessible in the controls of the final rig as a Copy Rotation constraint and
|
||||||
can be disabled even after rig is generated, or at animation time.
|
can be disabled even after rig is generated, or at animation time.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the main controls.
|
If enabled, allows placing the Tweak controls in different bone collections from the main controls.
|
||||||
|
|
||||||
|
|
||||||
``limbs.super_finger``
|
.. _rigify.rigs.limbs.super_finger:
|
||||||
======================
|
|
||||||
|
|
||||||
Will create a bendy and stretchy chain or automatic bendy and stretchy finger depending on a master control bone.
|
limbs.super_finger
|
||||||
|
==================
|
||||||
|
|
||||||
|
Will create a bendy and stretchy finger chain with a master control bone that controls the rotation of
|
||||||
|
all joints through its scale.
|
||||||
|
|
||||||
Requirement: A chain of at least two connected bones.
|
Requirement: A chain of at least two connected bones.
|
||||||
|
|
||||||
@ -39,27 +45,40 @@ IK Control
|
|||||||
IK starts its work with the shape of the finger defined by FK controls and adjusts it
|
IK starts its work with the shape of the finger defined by FK controls and adjusts it
|
||||||
to make the fingertip touch the IK control. It is designed as a tool to temporarily keep
|
to make the fingertip touch the IK control. It is designed as a tool to temporarily keep
|
||||||
the fingertip locked to a surface it touches, rather than a fully featured posing system.
|
the fingertip locked to a surface it touches, rather than a fully featured posing system.
|
||||||
|
|
||||||
|
To improve performance, the switchable parent for the IK control contains only one option beside None.
|
||||||
|
Thus it is advised to add a 'held object' control using the :ref:`basic.raw_copy <rigify.rigs.basic.pivot>`
|
||||||
|
rig to act as the common parent for the fingers with a fully functional parent switch.
|
||||||
|
IK Local Location
|
||||||
|
Specifies the value of the Local Location option for IK controls, which decides if the location
|
||||||
|
channels are aligned to the local control orientation or world.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the main controls.
|
If enabled, allows placing the Tweak controls in different bone collections from the main controls.
|
||||||
|
Assign Extra IK Layers
|
||||||
|
If enabled, allows placing the extra IK control in different bone collections from the main controls.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Rotation Axis (Bend Rotation Axis in the case of ``limbs.super_finger``)
|
Rotation Axis (Bend Rotation Axis in the case of `limbs.super_finger`_)
|
||||||
affects the :doc:`roll </animation/armatures/bones/editing/bone_roll>` of the generated bones.
|
affects the :doc:`roll </animation/armatures/bones/editing/bone_roll>` of the generated bones.
|
||||||
Automatic mode recalculates the generated bones roll while
|
Automatic mode recalculates the generated bones roll while
|
||||||
any of the Manual modes copy the roll of the meta-rig bones.
|
any of the Manual modes copy the roll of the meta-rig bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.super_limb``
|
.. _rigify.rigs.limbs.super_limb:
|
||||||
====================
|
|
||||||
|
|
||||||
A backwards compatibility wrapper around ``limbs.arm``, ``limbs.leg`` and ``limbs.paw``.
|
limbs.super_limb
|
||||||
|
================
|
||||||
|
|
||||||
|
A backwards compatibility wrapper around `limbs.arm`_, `limbs.leg`_ and `limbs.paw`_.
|
||||||
|
|
||||||
|
|
||||||
``limbs.arm``
|
.. _rigify.rigs.limbs.arm:
|
||||||
=============
|
|
||||||
|
|
||||||
Will create a full featured bendy and stretchy arm depending on the user-defined options.
|
limbs.arm
|
||||||
|
=========
|
||||||
|
|
||||||
|
Will create a fully featured bendy and stretchy arm depending on the user-defined options.
|
||||||
|
|
||||||
Requirement: A chain of three connected bones (upper_arm, forearm, hand).
|
Requirement: A chain of three connected bones (upper_arm, forearm, hand).
|
||||||
|
|
||||||
@ -79,15 +98,17 @@ B-Bone Segments (integer)
|
|||||||
Custom IK Pivot
|
Custom IK Pivot
|
||||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||||
Assign FK Layers
|
Assign FK Layers
|
||||||
If enabled, allows placing the FK chain on different layers from the IK bones.
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the IK bones.
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.leg``
|
.. _rigify.rigs.limbs.leg:
|
||||||
=============
|
|
||||||
|
|
||||||
Will create a full featured bendy and stretchy leg depending on the user-defined options.
|
limbs.leg
|
||||||
|
=========
|
||||||
|
|
||||||
|
Will create a fully featured bendy and stretchy leg depending on the user-defined options.
|
||||||
|
|
||||||
Requirement: A chain of four connected bones (thigh, shin, foot, toe) with one unconnected
|
Requirement: A chain of four connected bones (thigh, shin, foot, toe) with one unconnected
|
||||||
child of the foot to be used as the heel pivot.
|
child of the foot to be used as the heel pivot.
|
||||||
@ -104,6 +125,10 @@ Separate IK Toe
|
|||||||
Specifies that two separate toe controls should be generated for IK and FK instead of sharing one bone.
|
Specifies that two separate toe controls should be generated for IK and FK instead of sharing one bone.
|
||||||
This is necessary to get fully correct IK-FK snapping in all possible poses.
|
This is necessary to get fully correct IK-FK snapping in all possible poses.
|
||||||
|
|
||||||
|
Toe Tip Roll
|
||||||
|
Generates a slider to switch the heel control to pivot on the tip rather than the base of the toe
|
||||||
|
(for roll this obviously only applies on forward roll).
|
||||||
|
|
||||||
Rotation Axis (Automatic, X, Z)
|
Rotation Axis (Automatic, X, Z)
|
||||||
Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes.
|
Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes.
|
||||||
Limb Segments (integer)
|
Limb Segments (integer)
|
||||||
@ -113,15 +138,17 @@ B-Bone Segments (integer)
|
|||||||
Custom IK Pivot
|
Custom IK Pivot
|
||||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||||
Assign FK Layers
|
Assign FK Layers
|
||||||
If enabled, allows placing the FK chain on different layers from the IK bones.
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the IK bones.
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.paw``
|
.. _rigify.rigs.limbs.paw:
|
||||||
=============
|
|
||||||
|
|
||||||
Will create a full featured bendy and stretchy paw depending on the user-defined options.
|
limbs.paw
|
||||||
|
=========
|
||||||
|
|
||||||
|
Will create a fully featured bendy and stretchy paw depending on the user-defined options.
|
||||||
|
|
||||||
Requirement: A chain of four or five connected bones (thigh, shin, paw, *optional* digit, toe).
|
Requirement: A chain of four or five connected bones (thigh, shin, paw, *optional* digit, toe).
|
||||||
|
|
||||||
@ -138,15 +165,17 @@ B-Bone Segments (integer)
|
|||||||
Custom IK Pivot
|
Custom IK Pivot
|
||||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||||
Assign FK Layers
|
Assign FK Layers
|
||||||
If enabled, allows placing the FK chain on different layers from the IK bones.
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the IK bones.
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.front_paw``
|
.. _rigify.rigs.limbs.front_paw:
|
||||||
===================
|
|
||||||
|
|
||||||
Derivative of ``limbs.paw`` with extended IK suitable for use in front paws.
|
limbs.front_paw
|
||||||
|
===============
|
||||||
|
|
||||||
|
Derivative of `limbs.paw`_ with extended IK suitable for use in front paws.
|
||||||
The additional IK limits the degree of change in the angle between shin and
|
The additional IK limits the degree of change in the angle between shin and
|
||||||
paw bones (2nd and 3rd) as the main IK control moves and rotates.
|
paw bones (2nd and 3rd) as the main IK control moves and rotates.
|
||||||
|
|
||||||
@ -158,18 +187,22 @@ Heel IK Influence
|
|||||||
not affect the rotation of the paw bone, while lower values provide some blending.
|
not affect the rotation of the paw bone, while lower values provide some blending.
|
||||||
|
|
||||||
|
|
||||||
``limbs.rear_paw``
|
.. _rigify.rigs.limbs.rear_paw:
|
||||||
==================
|
|
||||||
|
|
||||||
Derivative of ``limbs.paw`` with extended IK suitable for use in rear paws.
|
limbs.rear_paw
|
||||||
|
==============
|
||||||
|
|
||||||
|
Derivative of `limbs.paw`_ with extended IK suitable for use in rear paws.
|
||||||
The additional IK tries to maintain thigh and paw bones (1st and 3rd) in a nearly parallel orientation
|
The additional IK tries to maintain thigh and paw bones (1st and 3rd) in a nearly parallel orientation
|
||||||
as the main IK control moves and rotates.
|
as the main IK control moves and rotates.
|
||||||
|
|
||||||
For best results, thigh and paw bones should start nearly parallel in the rest pose.
|
For best results, thigh and paw bones should start nearly parallel in the rest pose.
|
||||||
|
|
||||||
|
|
||||||
``limbs.super_palm``
|
.. _rigify.rigs.limbs.super_palm:
|
||||||
====================
|
|
||||||
|
limbs.super_palm
|
||||||
|
================
|
||||||
|
|
||||||
Will create a palm system based on the distance between palm bones.
|
Will create a palm system based on the distance between palm bones.
|
||||||
|
|
||||||
@ -182,3 +215,51 @@ Both Sides
|
|||||||
|
|
||||||
Primary Rotation Axis (X, Z)
|
Primary Rotation Axis (X, Z)
|
||||||
Defines the automatic rotation axis to be used on the palm bones.
|
Defines the automatic rotation axis to be used on the palm bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.limbs.spline_tentacle:
|
||||||
|
|
||||||
|
limbs.spline_tentacle
|
||||||
|
=====================
|
||||||
|
|
||||||
|
This rig type implements a flexible tentacle with an IK system using the Spline IK constraint. The control bones
|
||||||
|
define control points of a Bezier curve, and the bone chain follows the curve.
|
||||||
|
|
||||||
|
The curve control points are sorted into three groups: start, middle and end. The middle controls are always
|
||||||
|
visible and active, while the other two types can be shown and hidden dynamically using properties; when enabled
|
||||||
|
they appear next to the corresponding permanent start/end control and can be moved from there.
|
||||||
|
|
||||||
|
Extra Start Controls
|
||||||
|
Specifies the number of optional start controls to generate.
|
||||||
|
Middle Controls
|
||||||
|
Specifies the number of middle controls to generate.
|
||||||
|
Extra End Controls
|
||||||
|
Specifies the number of optional end controls to generate.
|
||||||
|
Tip Control:
|
||||||
|
Specifies how the curve stretching and the final control bone work:
|
||||||
|
|
||||||
|
Stretch To Fit
|
||||||
|
Stretches the whole bone chain to fit the length of the curve defined by the controls.
|
||||||
|
|
||||||
|
An end twist control is generated to control the twist along the chain.
|
||||||
|
Direct Tip Control
|
||||||
|
Generates an IK end control, which directly controls the final bone of the chain similar to how
|
||||||
|
regular IK works for limbs, as well as controlling the end of the bezier curve. The middle bones of
|
||||||
|
the chain stretch to follow the curve and cover the gap.
|
||||||
|
|
||||||
|
The rig automatically deduces twist of up to 180 degrees based on the orientation of the end control.
|
||||||
|
Higher amounts of twist have to be dialled in through an End Twist Estimate slider to avoid flipping.
|
||||||
|
Manual Squash & Stretch
|
||||||
|
This mode allows full manual control over the chain scaling, while the chain covers as much of the curve
|
||||||
|
as it can given its current length.
|
||||||
|
|
||||||
|
The start control of the chain manages its uniform squash & stretch scale, while the end twist control
|
||||||
|
manages both the twist of the chain, as well as its scale at the tip (blended gradually along the length).
|
||||||
|
Radius Scaling
|
||||||
|
Allows scaling the controls to control the thickness of the chain through the curve.
|
||||||
|
Maximum Radius
|
||||||
|
Specifies the maximum scale allowed by the Radius Scaling feature.
|
||||||
|
FK Controls
|
||||||
|
Generates an FK control chain and IK-FK snapping.
|
||||||
|
Assign FK Layers
|
||||||
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
|
@ -65,8 +65,8 @@ Custom Rigging
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.basic_chain:
|
.. _rigify.rigs.skin.basic_chain:
|
||||||
|
|
||||||
``skin.basic_chain``
|
skin.basic_chain
|
||||||
====================
|
================
|
||||||
|
|
||||||
This is the basic chain rig, which bridges controls with B-Bones but does not add
|
This is the basic chain rig, which bridges controls with B-Bones but does not add
|
||||||
any automation to the controls themselves.
|
any automation to the controls themselves.
|
||||||
@ -107,8 +107,8 @@ Chain Priority
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.stretchy_chain:
|
.. _rigify.rigs.skin.stretchy_chain:
|
||||||
|
|
||||||
``skin.stretchy_chain``
|
skin.stretchy_chain
|
||||||
=======================
|
===================
|
||||||
|
|
||||||
This rig extends the basic chain with automation that propagates movement of the start and end,
|
This rig extends the basic chain with automation that propagates movement of the start and end,
|
||||||
and an optional middle control, to other controls. This results in stretching the whole chain
|
and an optional middle control, to other controls. This results in stretching the whole chain
|
||||||
@ -134,9 +134,9 @@ Propagate to Controls
|
|||||||
Allows other chains to see propagated twist and scale via *Merge Parent Rotation and Scale* when their
|
Allows other chains to see propagated twist and scale via *Merge Parent Rotation and Scale* when their
|
||||||
controls are merged into this chain, instead of it being completely local to this chain.
|
controls are merged into this chain, instead of it being completely local to this chain.
|
||||||
Primary Control Layers
|
Primary Control Layers
|
||||||
Optionally specifies layers for the end controls.
|
Optionally specifies bone collections for the end controls.
|
||||||
Secondary Control Layers
|
Secondary Control Layers
|
||||||
Optionally specifies layers for the middle control, falling back to *Primary Control Layers* if not set.
|
Optionally specifies bone collections for the middle control, falling back to *Primary Control Layers* if not set.
|
||||||
|
|
||||||
The main controls with active falloff have the effect of *Merge Parent Rotation and Scale*
|
The main controls with active falloff have the effect of *Merge Parent Rotation and Scale*
|
||||||
automatically enabled just for them.
|
automatically enabled just for them.
|
||||||
@ -144,8 +144,8 @@ automatically enabled just for them.
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.anchor:
|
.. _rigify.rigs.skin.anchor:
|
||||||
|
|
||||||
``skin.anchor``
|
skin.anchor
|
||||||
===============
|
===========
|
||||||
|
|
||||||
This rig effectively acts as a zero-length chain with highest priority,
|
This rig effectively acts as a zero-length chain with highest priority,
|
||||||
ensuring that it becomes the owner when merging controls with other chains.
|
ensuring that it becomes the owner when merging controls with other chains.
|
||||||
@ -168,10 +168,10 @@ Orientation
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.glue:
|
.. _rigify.rigs.skin.glue:
|
||||||
|
|
||||||
``skin.glue``
|
skin.glue
|
||||||
=============
|
=========
|
||||||
|
|
||||||
This rig is in concept similar to ``skin.anchor``, but instead of overriding controls,
|
This rig is in concept similar to `skin.anchor`_, but instead of overriding controls,
|
||||||
it is used to read or adjust the state of controls generated by other rigs.
|
it is used to read or adjust the state of controls generated by other rigs.
|
||||||
The head of the bone must overlap a control of another skin rig.
|
The head of the bone must overlap a control of another skin rig.
|
||||||
|
|
||||||
@ -210,8 +210,8 @@ Add Constraint
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.transform.basic:
|
.. _rigify.rigs.skin.transform.basic:
|
||||||
|
|
||||||
``skin.transform.basic``
|
skin.transform.basic
|
||||||
========================
|
====================
|
||||||
|
|
||||||
This rig provides a simplistic :ref:`parent controller <rigify.rigs.skin.skin_parents>`, which uses regular
|
This rig provides a simplistic :ref:`parent controller <rigify.rigs.skin.skin_parents>`, which uses regular
|
||||||
translation, rotation, or scale to modify locations but not orientations or scale of its child chain controls.
|
translation, rotation, or scale to modify locations but not orientations or scale of its child chain controls.
|
||||||
|
@ -6,12 +6,17 @@ Spines
|
|||||||
These rigs are used to generate spine structures, including the head and tail.
|
These rigs are used to generate spine structures, including the head and tail.
|
||||||
|
|
||||||
|
|
||||||
``spines.super_spine``
|
.. _rigify.rigs.spines.super_spine:
|
||||||
======================
|
|
||||||
|
spines.super_spine
|
||||||
|
==================
|
||||||
|
|
||||||
Will create a complete bendy and stretchy b-bones spine system based on bone numbers of
|
Will create a complete bendy and stretchy b-bones spine system based on bone numbers of
|
||||||
your bone chain and user defined options.
|
your bone chain and user defined options.
|
||||||
|
|
||||||
|
This is a composite wrapper of `spines.basic_spine`_, `spines.super_head`_ and `spines.basic_tail`_.
|
||||||
|
Note that for the tail, the direction of the bones is reversed compared to the separate rig.
|
||||||
|
|
||||||
Requirement: A chain of at least three connected bones (base system).
|
Requirement: A chain of at least three connected bones (base system).
|
||||||
|
|
||||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-required.png
|
.. figure:: /images/addons_rigging_rigify_rig-types_spines-required.png
|
||||||
@ -31,7 +36,10 @@ Tail (Boolean)
|
|||||||
|
|
||||||
Tail Position (integer)
|
Tail Position (integer)
|
||||||
Defines the bone where the tail system starts. The next bone will always be the hips system.
|
Defines the bone where the tail system starts. The next bone will always be the hips system.
|
||||||
|
X, Y, Z (Boolean)
|
||||||
|
When generating a tail, specifies which local axis rotations should be replicated along the chain.
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-default.png
|
.. figure:: /images/addons_rigging_rigify_rig-types_spines-default.png
|
||||||
|
|
||||||
@ -40,3 +48,45 @@ Tail (Boolean)
|
|||||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-example.png
|
.. figure:: /images/addons_rigging_rigify_rig-types_spines-example.png
|
||||||
|
|
||||||
Spine with tail bones.
|
Spine with tail bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.spines.basic_spine:
|
||||||
|
|
||||||
|
spines.basic_spine
|
||||||
|
==================
|
||||||
|
|
||||||
|
Defines a bendy and stretchy b-bones spine.
|
||||||
|
|
||||||
|
Pivot Position (integer)
|
||||||
|
Defines the pivot position for torso and hips.
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
FK Controls
|
||||||
|
Specifies whether to generate an FK control chain.
|
||||||
|
Assign FK Layers
|
||||||
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.spines.basic_tail:
|
||||||
|
|
||||||
|
spines.basic_tail
|
||||||
|
=================
|
||||||
|
|
||||||
|
Defines a bendy and stretchy b-bones tail.
|
||||||
|
|
||||||
|
X, Y, Z (Boolean)
|
||||||
|
Specifies which local axis rotations should be replicated along the chain from each control
|
||||||
|
bone to the following one.
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.spines.super_head:
|
||||||
|
|
||||||
|
spines.super_head
|
||||||
|
=================
|
||||||
|
|
||||||
|
Defines a head rig with follow torso controls.
|
||||||
|
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
@ -306,9 +306,6 @@ Debug Options
|
|||||||
``--debug-gpu-force-workarounds``
|
``--debug-gpu-force-workarounds``
|
||||||
Enable workarounds for typical GPU issues and disable all GPU extensions.
|
Enable workarounds for typical GPU issues and disable all GPU extensions.
|
||||||
|
|
||||||
``--debug-gpu-disable-ssbo``
|
|
||||||
Disable usage of shader storage buffer objects.
|
|
||||||
|
|
||||||
``--debug-gpu-renderdoc``
|
``--debug-gpu-renderdoc``
|
||||||
Enable Renderdoc integration for GPU frame grabbing and debugging.
|
Enable Renderdoc integration for GPU frame grabbing and debugging.
|
||||||
|
|
||||||
|
94
manual/animation/armatures/bones/bone_collections.rst
Normal file
94
manual/animation/armatures/bones/bone_collections.rst
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
.. _bone-collections:
|
||||||
|
|
||||||
|
****************
|
||||||
|
Bone Collections
|
||||||
|
****************
|
||||||
|
|
||||||
|
:term:`Bone Collections <Bone Collection>` group the bones of an
|
||||||
|
:term:`Armature` into named collections. The armature is the owner of these
|
||||||
|
collections, so they are available in all modes. Bone Collections are identified
|
||||||
|
by their name, which are unique within the Armature.
|
||||||
|
|
||||||
|
In the text below, "collection" is understood to refer to "bone collection";
|
||||||
|
:term:`Scene Collections <Collection>` are not described here.
|
||||||
|
|
||||||
|
Bone Collections can be managed via :ref:`the Armature and Bone property panels <bpy.types.BoneCollection>`.
|
||||||
|
|
||||||
|
|
||||||
|
Visibility
|
||||||
|
==========
|
||||||
|
|
||||||
|
Bone Collections can be shown & hidden via the list in the Armature properties,
|
||||||
|
as well as via the list in the Bone properties. Bone visibility is determined by
|
||||||
|
the visibility of its collections, and its own 'hidden' property:
|
||||||
|
|
||||||
|
- If the bone itself is marked as 'hidden', it is invisible regardless of the
|
||||||
|
bone collections.
|
||||||
|
- A bone is visible when it is contained in any visible collection.
|
||||||
|
- A bone that is not assigned to any bone collection is visible; otherwise it
|
||||||
|
would be impossible to select it & assign it to a collection.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bone_collections_library_overrides:
|
||||||
|
|
||||||
|
Library Overrides
|
||||||
|
=================
|
||||||
|
|
||||||
|
Bone collections can be added using library overrides. For this to work, both
|
||||||
|
the armature Object and the Armature itself need to be overridden.
|
||||||
|
|
||||||
|
Limitations
|
||||||
|
-----------
|
||||||
|
|
||||||
|
There are a few limitations when it comes to bone collections & overrides:
|
||||||
|
|
||||||
|
- Only bone collections that are local to the current blend file can be edited.
|
||||||
|
- Bone collections that already existed on the linked-in Armature are read-only,
|
||||||
|
and only their visibility can be toggled. Those visibility changes won't be
|
||||||
|
saved, though.
|
||||||
|
- Custom properties of overridden bone collections cannot be edited in the
|
||||||
|
properties panel. Python access is fine; this is just a current limitation of
|
||||||
|
Blender's UI code.
|
||||||
|
|
||||||
|
|
||||||
|
How It Works
|
||||||
|
------------
|
||||||
|
|
||||||
|
Bone collections added via overrides are 'anchored' to the preceding
|
||||||
|
collection, by name. Here is an example. The *italic* collections are defined on
|
||||||
|
the linked Armature in `armature.blend`. The **bold** ones are added by
|
||||||
|
overrides in `armature_shot_47.blend`.
|
||||||
|
|
||||||
|
- *FK Controls*
|
||||||
|
- *IK Controls*
|
||||||
|
- **Left Pinky** (anchored to "IK Controls")
|
||||||
|
- **Right Pinky** (anchored to "Left Pinky")
|
||||||
|
|
||||||
|
Now if the Armature in `armature.blend` gets updated with two more collections
|
||||||
|
it might look like this:
|
||||||
|
|
||||||
|
- *FK Controls*
|
||||||
|
- *IK Controls*
|
||||||
|
- *Face Controls*
|
||||||
|
- *Face Detail Controls*
|
||||||
|
|
||||||
|
After reloading `armature_shot_47.blend`, it will look like this:
|
||||||
|
|
||||||
|
- *FK Controls*
|
||||||
|
- *IK Controls*
|
||||||
|
- **Left Pinky** (still anchored to "IK Controls")
|
||||||
|
- **Right Pinky** (still anchored to "Left Pinky")
|
||||||
|
- *Face Controls*
|
||||||
|
- *Face Detail Controls*
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.armature.layers:
|
||||||
|
|
||||||
|
Some history
|
||||||
|
============
|
||||||
|
|
||||||
|
Bone Collections were introduced in Blender 4.0, as a replacement for armature
|
||||||
|
layers and bone groups. Bone Collections are owned by the Armature, so they are
|
||||||
|
available in all modes. To contrast, bone groups were stored on the object's
|
||||||
|
pose, and thus were not available in armature edit mode.
|
@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
*************
|
|
||||||
Change Layers
|
|
||||||
*************
|
|
||||||
|
|
||||||
.. _bpy.ops.armature.armature_layers:
|
|
||||||
|
|
||||||
Change Armature Layers
|
|
||||||
======================
|
|
||||||
|
|
||||||
.. reference::
|
|
||||||
|
|
||||||
:Mode: Edit Mode
|
|
||||||
:Menu: :menuselection:`Armature --> Change Armature Layers`
|
|
||||||
:Shortcut: :kbd:`Shift-M`
|
|
||||||
|
|
||||||
Each armature has 32 :ref:`Layers <bpy.types.Armature.layers>` to
|
|
||||||
organize armatures by "regrouping" them into sets of bones.
|
|
||||||
Only bones in active layers will be visible/editable, but they will always be effective
|
|
||||||
(i.e. move objects or deform geometry), whether in an active layer or not.
|
|
||||||
This tool changes which layers are visible in the 3D Viewport.
|
|
||||||
To show several layers at once, :kbd:`Shift-LMB` on the desired layers to view.
|
|
||||||
To move bones to a given layer, use :ref:`bpy.ops.armature.bone_layers`.
|
|
||||||
|
|
||||||
|
|
||||||
.. _bpy.ops.armature.bone_layers:
|
|
||||||
|
|
||||||
Change Bone Layers
|
|
||||||
==================
|
|
||||||
|
|
||||||
.. reference::
|
|
||||||
|
|
||||||
:Mode: Edit Mode
|
|
||||||
:Menu: :menuselection:`Armature --> Change Bone Layers`
|
|
||||||
:Shortcut: :kbd:`M`
|
|
||||||
|
|
||||||
Todo.
|
|
@ -20,7 +20,6 @@
|
|||||||
switch_direction.rst
|
switch_direction.rst
|
||||||
symmetrize.rst
|
symmetrize.rst
|
||||||
naming.rst
|
naming.rst
|
||||||
change_layers.rst
|
|
||||||
parenting.rst
|
parenting.rst
|
||||||
properties.rst
|
properties.rst
|
||||||
delete.rst
|
delete.rst
|
||||||
|
@ -74,3 +74,32 @@ To disconnect and/or free bones, you can:
|
|||||||
If you just want to disconnect it from its parent, disable the *Connected* checkbox.
|
If you just want to disconnect it from its parent, disable the *Connected* checkbox.
|
||||||
|
|
||||||
Note that relationships with non-selected children are never modified.
|
Note that relationships with non-selected children are never modified.
|
||||||
|
|
||||||
|
|
||||||
|
Bone Collections
|
||||||
|
================
|
||||||
|
|
||||||
|
.. reference::
|
||||||
|
|
||||||
|
:Mode: Edit Mode, Pose Mode
|
||||||
|
:Menu: :menuselection:`Armature --> Bone Collections`, :menuselection:`Pose --> Bone Collections`
|
||||||
|
:Shortcut: :kbd:`Shift-M`
|
||||||
|
|
||||||
|
Manages the :ref:`bpy.types.BoneCollection` the bone is assigned to.
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.collection_show_all:
|
||||||
|
|
||||||
|
Show All :kbd:`Ctrl-AccentGrave`
|
||||||
|
Unhides any hidden bone collections.
|
||||||
|
|
||||||
|
Bone Collections List
|
||||||
|
This list shows the :term:`bone collections <Bone Collection>`
|
||||||
|
and can be used to manage which collections the bone is assigned to.
|
||||||
|
|
||||||
|
Press the eye icon to show or hide the entire bone collection.
|
||||||
|
Press the - icon to remove the bone from that particular collection.
|
||||||
|
Press the + icon to add the bone to that particular collection.
|
||||||
|
|
||||||
|
Assign to new Collection
|
||||||
|
Assigns the selected bones to a new collection named "New Collection".
|
||||||
|
This collection can be renamed in the :ref:`bpy.types.BoneCollection` panel of the Armature properties.
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
introduction.rst
|
introduction.rst
|
||||||
|
bone_collections.rst
|
||||||
structure.rst
|
structure.rst
|
||||||
tools/index.rst
|
tools/index.rst
|
||||||
selecting.rst
|
selecting.rst
|
||||||
|
@ -116,6 +116,22 @@ Segments
|
|||||||
Display Size X, Z
|
Display Size X, Z
|
||||||
Controls the visible thickness of the bone segments when the armature is rendered in the *B-Bones* mode.
|
Controls the visible thickness of the bone segments when the armature is rendered in the *B-Bones* mode.
|
||||||
|
|
||||||
|
.. _bpy.types.EditBone.bbone_mapping_mode:
|
||||||
|
|
||||||
|
Vertex Mapping
|
||||||
|
Controls how vertices are weighted to the individual segments of a B-Bone for deformations:
|
||||||
|
|
||||||
|
:Straight:
|
||||||
|
A fast mapping that works well for B-Bones with a straight or gently curved rest pose.
|
||||||
|
:Curved:
|
||||||
|
A slower mapping that improves deformations for B-Bones with a strongly curved rest pose. This should
|
||||||
|
be used selectively when needed.
|
||||||
|
|
||||||
|
.. figure:: /images/animation_armatures_bones_properties_bendy-bones_vertex-mapping.png
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
Straight vs Curved vertex mapping on a B-Bone with a strongly curved rest pose.
|
||||||
|
|
||||||
.. _bpy.types.EditBone.bbone_curveinx:
|
.. _bpy.types.EditBone.bbone_curveinx:
|
||||||
.. _bpy.types.EditBone.bbone_curveinz:
|
.. _bpy.types.EditBone.bbone_curveinz:
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
.. _bpy.types.Bone.hide:
|
.. _bpy.types.Bone.color:
|
||||||
|
.. _bpy.types.EditBone.color:
|
||||||
|
.. _bpy.types.PoseBone.color:
|
||||||
|
|
||||||
****************
|
****************
|
||||||
Viewport Display
|
Viewport Display
|
||||||
@ -6,17 +8,80 @@ Viewport Display
|
|||||||
|
|
||||||
.. reference::
|
.. reference::
|
||||||
|
|
||||||
:Mode: Object and Pose Mode
|
:Mode: Object, Pose, and Edit Mode
|
||||||
:Panel: :menuselection:`Bone --> Viewport Display`
|
:Panel: :menuselection:`Bone --> Viewport Display`
|
||||||
|
|
||||||
.. figure:: /images/animation_armatures_bones_properties_display_custom-shape-field.png
|
.. figure:: /images/animation_armatures_bones_properties_display.png
|
||||||
|
|
||||||
Viewport Display panel.
|
Viewport Display panel in Object/Pose mode.
|
||||||
|
|
||||||
Display panel lets you customize the look of your bones taking the shape of another existing object.
|
.. figure:: /images/animation_armatures_bones_properties_display_editmode.png
|
||||||
|
|
||||||
|
Viewport Display panel in Edit mode.
|
||||||
|
|
||||||
|
Display panel lets you customize the look of your bones.
|
||||||
|
|
||||||
|
.. _bpy.types.Bone.hide:
|
||||||
|
|
||||||
Hide
|
Hide
|
||||||
Hides the selected bone.
|
Hides the bone in the 3D Viewport. When this is unchecked, the bone's
|
||||||
|
visibility is determined by the visibility of its :ref:`bone collections <bpy.types.Bone.collections>`.
|
||||||
|
|
||||||
|
.. _bpy.types.BoneColor.palette:
|
||||||
|
|
||||||
|
Bone Color
|
||||||
|
Either a selection of the theme-dependent colors, or a custom color. This is
|
||||||
|
the primary way to color a bone.
|
||||||
|
|
||||||
|
This color is stored on the bone itself, and thus is visible in both Pose and
|
||||||
|
Edit modes. If there are multiple armature Objects that share the same
|
||||||
|
Armature data-block, all armatures will share this color.
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.copy_bone_color_to_selected:
|
||||||
|
|
||||||
|
Copy Bone Color to Selected
|
||||||
|
Copy the bone color of the :term`Active` bone to all selected bones.
|
||||||
|
|
||||||
|
Pose Bone Color (only in Pose mode)
|
||||||
|
Either a selection of the theme-dependent colors, or a custom color. This is
|
||||||
|
a way to *override* the bone color on a per-armature object basis.
|
||||||
|
|
||||||
|
When this is set to 'Default', the regular Bone Color is shown (see above).
|
||||||
|
|
||||||
|
This color is stored on the :term:`Pose Bone`, and thus is specific to this
|
||||||
|
particular armature object. It is only available in Pose mode. If there are
|
||||||
|
multiple armature Objects that share the same Armature data-block, they each
|
||||||
|
can have unique pose bone colors.
|
||||||
|
|
||||||
|
Copy Bone Color to Selected
|
||||||
|
Copy the bone color of the :term`Active` bone to all selected bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.BoneColor:
|
||||||
|
.. _bpy.types.ThemeBoneColorSet:
|
||||||
|
|
||||||
|
Bone Colors
|
||||||
|
===========
|
||||||
|
|
||||||
|
Bones can be individually colored. For these colors to be visible, enable the
|
||||||
|
:ref:`Bone Colors checkbox <bpy.types.Armature.show>` in the Armature display panel.
|
||||||
|
|
||||||
|
.. figure:: /images/animation_armatures_bones_properties_display_custom_colors.png
|
||||||
|
|
||||||
|
Viewport Display panel in Pose mode, showing the choices in color palettes as
|
||||||
|
well as options for custom colors.
|
||||||
|
|
||||||
|
The primary source of bone colors is the :ref:`Theme <bpy.types.Theme>`, which
|
||||||
|
defines 20 bone color palettes. Each entry consists of three colors:
|
||||||
|
|
||||||
|
Regular
|
||||||
|
The color of unselected bones.
|
||||||
|
Select
|
||||||
|
The second color field is the outline color of selected bones.
|
||||||
|
Active
|
||||||
|
The third color field is the outline color of the active bone.
|
||||||
|
|
||||||
|
As soon as you alter one of the colors, it is switched to the *Custom Set* option.
|
||||||
|
|
||||||
|
|
||||||
.. _bpy.types.PoseBone.custom_shape:
|
.. _bpy.types.PoseBone.custom_shape:
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
|
.. _properties_data_bone_relations:
|
||||||
|
|
||||||
*********
|
*********
|
||||||
Relations
|
Relations
|
||||||
*********
|
*********
|
||||||
@ -10,29 +12,10 @@ Relations
|
|||||||
|
|
||||||
.. figure:: /images/animation_armatures_bones_properties_relations_panel.png
|
.. figure:: /images/animation_armatures_bones_properties_relations_panel.png
|
||||||
|
|
||||||
Relations panel.
|
Bone Relations panel.
|
||||||
|
|
||||||
In this panel you can arrange sets of bones in different layers for easier manipulation.
|
In this panel you can manage the relationship of this bone with its parent bone.
|
||||||
|
It also shows the bone collections the bone is assigned to.
|
||||||
|
|
||||||
.. _bpy.types.EditBone.layers:
|
|
||||||
|
|
||||||
Bone Layers
|
|
||||||
===========
|
|
||||||
|
|
||||||
Moving Bones between Layers
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
Obviously, you have to be in *Edit Mode* or *Pose Mode* to move bones between layers.
|
|
||||||
Note that as with objects, bones can lay in several layers at once,
|
|
||||||
just use the usual :kbd:`Shift-LMB` clicks...
|
|
||||||
First of all, you have to select the chosen bone(s)!
|
|
||||||
|
|
||||||
- In the Properties, use the "layer buttons" of each selected bone Relations panel (*Bones* tab)
|
|
||||||
to control in which layer(s) it lays.
|
|
||||||
- In the *3D Viewport*, use the menu :menuselection:`Armature --> Move Bone To Layer` or
|
|
||||||
:menuselection:`Pose --> Move Bone To Layer` or press :kbd:`M` to show the usual pop-up layers menu.
|
|
||||||
Note that this way, you assign the same layers to all selected bones.
|
|
||||||
|
|
||||||
|
|
||||||
Parenting
|
Parenting
|
||||||
@ -48,11 +31,6 @@ Parent
|
|||||||
Relative Parenting :guilabel:`Pose Mode Only`
|
Relative Parenting :guilabel:`Pose Mode Only`
|
||||||
Changes how transformation of the bone is applied to its child Objects.
|
Changes how transformation of the bone is applied to its child Objects.
|
||||||
|
|
||||||
.. _bpy.types.PoseBone.bone_group:
|
|
||||||
|
|
||||||
Bone Group :guilabel:`Pose Mode Only`
|
|
||||||
To assign a selected bone to a given bone group use the *Bone Group* data ID.
|
|
||||||
|
|
||||||
.. _bpy.types.EditBone.use_connect:
|
.. _bpy.types.EditBone.use_connect:
|
||||||
|
|
||||||
Connected
|
Connected
|
||||||
@ -107,6 +85,12 @@ Inherit Rotation
|
|||||||
Inherit Scale
|
Inherit Scale
|
||||||
Specifies which effects of parent scaling the bone inherits:
|
Specifies which effects of parent scaling the bone inherits:
|
||||||
|
|
||||||
|
These inheriting behaviors propagate along the bones' hierarchy.
|
||||||
|
So when you scale down a bone, all its descendants are by default scaled down accordingly.
|
||||||
|
However, if you disable one bone's *Inherit Scale* or *Inherit Rotation*
|
||||||
|
property in this "family", this will break the scaling propagation,
|
||||||
|
i.e. this bone *and all its descendants* will no longer be affected when you scale one of its ancestors.
|
||||||
|
|
||||||
:Full:
|
:Full:
|
||||||
The bone inherits all effects of parent scaling and shear.
|
The bone inherits all effects of parent scaling and shear.
|
||||||
:Fix Shear:
|
:Fix Shear:
|
||||||
@ -128,33 +112,24 @@ Inherit Scale
|
|||||||
|
|
||||||
This choice replicates the behavior of the old Inherit Scale checkbox, and may be removed in a future release.
|
This choice replicates the behavior of the old Inherit Scale checkbox, and may be removed in a future release.
|
||||||
|
|
||||||
These inheriting behaviors propagate along the bones' hierarchy.
|
|
||||||
So when you scale down a bone, all its descendants are by default scaled down accordingly.
|
|
||||||
However, if you disable one bone's *Inherit Scale* or *Inherit Rotation*
|
|
||||||
property in this "family", this will break the scaling propagation,
|
|
||||||
i.e. this bone *and all its descendants* will no longer be affected when you scale one of its ancestors.
|
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
The various *Inherit Scale* options are provided as tools in avoiding shear that is caused
|
The various *Inherit Scale* options are provided as tools in avoiding shear that is caused
|
||||||
by non-uniform scaling combined with parenting and rotation. There is no obvious best way
|
by non-uniform scaling combined with parenting and rotation. There is no obvious best way
|
||||||
to achieve that, so different options are useful for different situations.
|
to achieve that, so different options are useful for different situations.
|
||||||
|
|
||||||
None
|
- **None** --
|
||||||
Useful for gaining full control over the scaling of the child in order
|
Useful for gaining full control over the scaling of the child in order
|
||||||
to e.g. manually overwrite it with constraints.
|
to e.g. manually overwrite it with constraints.
|
||||||
|
- **Average** --
|
||||||
Average
|
|
||||||
Useful to block squash and stretch propagation between sub-rigs, while
|
Useful to block squash and stretch propagation between sub-rigs, while
|
||||||
allowing uniform changes in the size and volume to pass through.
|
allowing uniform changes in the size and volume to pass through.
|
||||||
|
- **Aligned** --
|
||||||
Aligned
|
|
||||||
Can be used within bone chains, e.g. tentacles, in order to propagate
|
Can be used within bone chains, e.g. tentacles, in order to propagate
|
||||||
lengthwise scaling as lengthwise, and sideways as sideways, no matter
|
lengthwise scaling as lengthwise, and sideways as sideways, no matter
|
||||||
how the tentacle bends. Similar to using *None* with
|
how the tentacle bends. Similar to using *None* with
|
||||||
:doc:`Copy Scale </animation/constraints/transform/copy_scale>` from parent.
|
:doc:`Copy Scale </animation/constraints/transform/copy_scale>` from parent.
|
||||||
|
- **Fix Shear** --
|
||||||
Fix Shear
|
|
||||||
May be useful at the base of an appendage in order to reallocate squash and stretch
|
May be useful at the base of an appendage in order to reallocate squash and stretch
|
||||||
between axes based on the difference in rest pose orientations of the parent and child.
|
between axes based on the difference in rest pose orientations of the parent and child.
|
||||||
It behaves closest to *Full* while suppressing shear.
|
It behaves closest to *Full* while suppressing shear.
|
||||||
@ -216,3 +191,19 @@ which allows you to pose a whole chain just by moving its tip.
|
|||||||
|
|
||||||
This feature is somewhat extended/completed by
|
This feature is somewhat extended/completed by
|
||||||
the :doc:`pose library </animation/armatures/posing/editing/pose_library>`.
|
the :doc:`pose library </animation/armatures/posing/editing/pose_library>`.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.Bone.collections:
|
||||||
|
.. _bpy.types.EditBone.collections:
|
||||||
|
.. _bpy.types.PoseBone.collections:
|
||||||
|
|
||||||
|
Bone Collections
|
||||||
|
================
|
||||||
|
|
||||||
|
This list shows the :term:`bone collections <Bone Collection>` the bone is
|
||||||
|
assigned to. Press the eye icon to show or hide the entire bone collection.
|
||||||
|
Press the X icon to remove the bone from that particular collection.
|
||||||
|
|
||||||
|
To assign the bone to other bone collections, either use the :kbd:`M` or :kbd:`Shift-M` shortcuts
|
||||||
|
(see :ref:`Moving Bones Between Collections <moving_bones_between_collections>`)
|
||||||
|
or go to the :ref:`Armature properties panel <bpy.types.BoneCollection>`.
|
||||||
|
@ -216,10 +216,10 @@ Prefix
|
|||||||
Select bones with matching name prefix (separated by ``.``).
|
Select bones with matching name prefix (separated by ``.``).
|
||||||
Suffix
|
Suffix
|
||||||
Select bones with matching name suffix (separated by ``.``).
|
Select bones with matching name suffix (separated by ``.``).
|
||||||
Layer
|
Bone Collection
|
||||||
Select bones on the same layer.
|
Select bones that share one or more bone collections with the active bone.
|
||||||
Group
|
Color
|
||||||
Select bones in the same group.
|
Select bones that have the same color as the active bone.
|
||||||
Shape
|
Shape
|
||||||
Select bones using the same shape object (in Pose Mode).
|
Select bones using the same shape object (in Pose Mode).
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Open a default scene, then:
|
|||||||
#. Make sure the cursor is in the world origin with :kbd:`Shift-C`.
|
#. Make sure the cursor is in the world origin with :kbd:`Shift-C`.
|
||||||
#. Press :kbd:`Numpad1` to see the world in Front view.
|
#. Press :kbd:`Numpad1` to see the world in Front view.
|
||||||
#. Add a *Single Bone* (:menuselection:`Add --> Armature`).
|
#. Add a *Single Bone* (:menuselection:`Add --> Armature`).
|
||||||
#. Press :kbd:`NumpadDelete` to see the armature at maximum zoom.
|
#. Press :kbd:`NumpadPeriod` to see the armature at maximum zoom.
|
||||||
|
|
||||||
.. figure:: /images/animation_armatures_introduction_default.png
|
.. figure:: /images/animation_armatures_introduction_default.png
|
||||||
|
|
||||||
|
@ -44,5 +44,5 @@ There are six different color codes, ordered here by precedence
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
When :doc:`/animation/armatures/properties/bone_groups` colors are enabled,
|
When :ref:`bone colors <bpy.types.BoneColor>` are enabled,
|
||||||
the state colors will be overridden.
|
the state colors will be overridden.
|
||||||
|
@ -127,14 +127,12 @@ Grouped
|
|||||||
:Menu: :menuselection:`Select --> Grouped`
|
:Menu: :menuselection:`Select --> Grouped`
|
||||||
:Shortcut: :kbd:`Shift-G`
|
:Shortcut: :kbd:`Shift-G`
|
||||||
|
|
||||||
You can select bones based on their group and/or layer, through the *Select Grouped* pop-up menu :kbd:`Shift-G`:
|
You can select bones, based on various properties, through the *Select Grouped* pop-up menu :kbd:`Shift-G`:
|
||||||
|
|
||||||
Layer
|
Collection
|
||||||
To select all bones belonging to the same layer(s) as the selected ones,
|
Selects all bones that are share at least one bone collection with the active bone.
|
||||||
use the *In Same Layer* entry.
|
Color
|
||||||
Group
|
Selects all bones that have the same color as the active bone.
|
||||||
To select all bones belonging to the same group(s) as the selected ones,
|
|
||||||
use the *In Same Group* entry.
|
|
||||||
Keying Set
|
Keying Set
|
||||||
ToDo.
|
ToDo.
|
||||||
|
|
||||||
|
120
manual/animation/armatures/properties/bone_collections.rst
Normal file
120
manual/animation/armatures/properties/bone_collections.rst
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
.. _bpy.types.BoneCollection:
|
||||||
|
|
||||||
|
****************
|
||||||
|
Bone Collections
|
||||||
|
****************
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Bone Collections were introduced in Blender 4.0 as replacement of Armature
|
||||||
|
Layers and Bone Groups. :ref:`Bone colors <bpy.types.Bone.color>` are now
|
||||||
|
managed directly on the bone.
|
||||||
|
|
||||||
|
.. reference::
|
||||||
|
|
||||||
|
:Mode: Pose & Armature Edit Modes
|
||||||
|
:Panel: :menuselection:`Properties --> Armature --> Bone Collections`
|
||||||
|
:Menu: :menuselection:`Pose --> Bone Collections --> ...`
|
||||||
|
|
||||||
|
.. figure:: /images/animation_armatures_properties_bonecollections_panel.png
|
||||||
|
|
||||||
|
The Bone Collections panel in the Armature properties.
|
||||||
|
|
||||||
|
This panel contains the Bone Collection :ref:`List view <ui-list-view>`, which
|
||||||
|
allows the creation, deletion, and editing of Bone Collections.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
|
||||||
|
The Bone Properties panel gives a slightly different view on the bone's collections. See
|
||||||
|
:doc:`Bone Relations </animation/armatures/bones/properties/relations>`.
|
||||||
|
|
||||||
|
|
||||||
|
Specials
|
||||||
|
========
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.collection_solo_visibility:
|
||||||
|
|
||||||
|
Solo Visibility
|
||||||
|
Hide all other bone collections except the active one.
|
||||||
|
|
||||||
|
Show All
|
||||||
|
Unhides any hidden bone collections.
|
||||||
|
|
||||||
|
|
||||||
|
Assign & Select
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.collection_assign:
|
||||||
|
|
||||||
|
Assign
|
||||||
|
Assigns the selected bones to the active bone collection.
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.collection_unassign:
|
||||||
|
|
||||||
|
Remove
|
||||||
|
Removes the selected bones from the active bone collection.
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.collection_select:
|
||||||
|
|
||||||
|
Select
|
||||||
|
Selects the bones in the active bone collection.
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.collection_deselect:
|
||||||
|
|
||||||
|
Deselect
|
||||||
|
Deselects the bones in the active bone collection.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Individual bones can als be unassigned from their collections via the
|
||||||
|
:ref:`Bone Relations panel <bpy.types.PoseBone.collections>`.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
|
||||||
|
For setting up custom selection sets of bones, take a look at the *Selection
|
||||||
|
Sets* add-on. It is bundled with Blender.
|
||||||
|
|
||||||
|
|
||||||
|
.. _moving_bones_between_collections:
|
||||||
|
|
||||||
|
Moving Bones between Collections
|
||||||
|
================================
|
||||||
|
|
||||||
|
Blender should be in *Edit Mode* or *Pose Mode* to move bones between collections.
|
||||||
|
Note that as with objects, bones can be assigned to in several collections at once.
|
||||||
|
|
||||||
|
.. _bpy.ops.armature.move_to_collection:
|
||||||
|
|
||||||
|
Move to Bone Collection
|
||||||
|
Shows a list of the Armature's *editable* bone collections. Choosing a bone
|
||||||
|
collection unassign the selected bones from all other bone collections, then
|
||||||
|
assigns them to the chosen one.
|
||||||
|
|
||||||
|
Available as :menuselection:`Pose --> Move to Collection` (*Pose Mode*)
|
||||||
|
:menuselection:`Armature --> Move to Collection` (*Edit Mode*), and :kbd:`M` (either mode).
|
||||||
|
|
||||||
|
Bone Collections
|
||||||
|
Shows a list of the Armature's *editable* bone collections. The collections
|
||||||
|
that the active bone is assigned to are prefixed with a `-`, and choosing
|
||||||
|
those will unassign all selected bones from that collection. Similarly,
|
||||||
|
choosing a bone collection prefixed with a `+` will assign all selected bones
|
||||||
|
to that collection.
|
||||||
|
|
||||||
|
Available as :menuselection:`Pose --> Bone Collections` (*Pose Mode*)
|
||||||
|
:menuselection:`Armature --> Bone Collections` (*Edit Mode*), and :kbd:`Shift+M` (either mode).
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The above operators will only show the *editable* bone collections. When the
|
||||||
|
Armature is linked, its bone collections will be *read-only*. New bone
|
||||||
|
collections can still be added via library overrides; only those will be
|
||||||
|
editable.
|
||||||
|
|
||||||
|
See :ref:`Library Overrides of Bone Collections <bone_collections_library_overrides>`.
|
||||||
|
|
||||||
|
|
||||||
|
Custom Properties
|
||||||
|
=================
|
||||||
|
|
||||||
|
Create and manage your own properties to store data in the Bone Collection's data-block.
|
||||||
|
See the :ref:`Custom Properties <files-data_blocks-custom-properties>` page for more information.
|
@ -1,84 +0,0 @@
|
|||||||
.. _bpy.types.BoneGroups:
|
|
||||||
|
|
||||||
***********
|
|
||||||
Bone Groups
|
|
||||||
***********
|
|
||||||
|
|
||||||
.. reference::
|
|
||||||
|
|
||||||
:Mode: Pose Mode
|
|
||||||
:Panel: :menuselection:`Properties --> Armature --> Bone Groups`
|
|
||||||
:Menu: :menuselection:`Pose --> Bone Groups --> ...`
|
|
||||||
|
|
||||||
.. TODO2.8
|
|
||||||
.. figure:: /images/animation_armatures_properties_bone-groups_panel.png
|
|
||||||
|
|
||||||
The Bone Groups panel.
|
|
||||||
|
|
||||||
This panel allows the creation, deletion and editing of Bone Groups.
|
|
||||||
Bone Groups can be used for selection or to assign a color theme to a set of bones.
|
|
||||||
In example to color the left parts of the rig as blue and right parts as red.
|
|
||||||
|
|
||||||
Active Bone Group
|
|
||||||
The Bone Group :ref:`List view <ui-list-view>`.
|
|
||||||
|
|
||||||
Color Set
|
|
||||||
A select menu.
|
|
||||||
|
|
||||||
:Default Colors: The default (gray) colors.
|
|
||||||
:*nn* - Theme Color Set: One of the twenty Blender presets by the theme.
|
|
||||||
:Custom Set: A custom set of colors, which is specific to each group.
|
|
||||||
|
|
||||||
|
|
||||||
Custom Colors
|
|
||||||
=============
|
|
||||||
|
|
||||||
You can assign a "color theme" to a group (each bone will have these colors).
|
|
||||||
Remember you have to enable the *Colors* checkbox (*Display* panel) to see these colors.
|
|
||||||
|
|
||||||
.. _bpy.types.ThemeBoneColorSet:
|
|
||||||
|
|
||||||
Regular
|
|
||||||
The first color field is the color of unselected bones.
|
|
||||||
Select
|
|
||||||
The second color field is the outline color of selected bones.
|
|
||||||
Active
|
|
||||||
The third color field is the outline color of the active bone.
|
|
||||||
|
|
||||||
As soon as you alter one of the colors, it is switched to the *Custom Set* option.
|
|
||||||
|
|
||||||
|
|
||||||
Assign & Select
|
|
||||||
===============
|
|
||||||
|
|
||||||
In the 3D Viewport, using the :menuselection:`Pose --> Bone Groups` menu entries,
|
|
||||||
and/or the *Bone Groups* pop-up menu :kbd:`Ctrl-G`, you can:
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_assign:
|
|
||||||
|
|
||||||
Assign
|
|
||||||
Assigns the selected bones to the active bone group.
|
|
||||||
It is important to note that a bone can only belong to one group.
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_unassign:
|
|
||||||
|
|
||||||
Remove
|
|
||||||
Removes the selected bones from the active bone group.
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_select:
|
|
||||||
|
|
||||||
Select
|
|
||||||
Selects the bones in the active bone group.
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_deselect:
|
|
||||||
|
|
||||||
Deselect
|
|
||||||
Deselects the bones in the active bone group.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
A single bone can be assigned to a group in the :ref:`Relations panel <bpy.types.PoseBone.bone_group>`.
|
|
||||||
|
|
||||||
.. tip::
|
|
||||||
|
|
||||||
Bones belonging to multiple groups is possible with the *Selection Sets* add-on.
|
|
@ -109,9 +109,9 @@ Show
|
|||||||
When enabled, the default standard bone shape is replaced,
|
When enabled, the default standard bone shape is replaced,
|
||||||
in *Object Mode* and *Pose Mode*, by the shape of a chosen object
|
in *Object Mode* and *Pose Mode*, by the shape of a chosen object
|
||||||
(see :doc:`Shaped Bones </animation/armatures/bones/properties/display>` for details).
|
(see :doc:`Shaped Bones </animation/armatures/bones/properties/display>` for details).
|
||||||
Group Colors
|
Bone Colors
|
||||||
Use the Bone Group colors to color the bone.
|
Draws bones in their configured colors. Disable to always draw bones in the default color.
|
||||||
For more details see :doc:`Bone Groups </animation/armatures/properties/bone_groups>`.
|
For more details see :ref:`Bone Colors <bpy.types.Bone.color>`.
|
||||||
In Front
|
In Front
|
||||||
When enabled, the bones of the armature will always be shown on top of
|
When enabled, the bones of the armature will always be shown on top of
|
||||||
the solid objects (meshes, surfaces, ...). I.e. they will always be visible and selectable
|
the solid objects (meshes, surfaces, ...). I.e. they will always be visible and selectable
|
||||||
@ -128,3 +128,10 @@ Axis
|
|||||||
Position
|
Position
|
||||||
The position for the axes display on the bone.
|
The position for the axes display on the bone.
|
||||||
Increasing the value moves it closer to the tip; decreasing moves it closer to the root.
|
Increasing the value moves it closer to the tip; decreasing moves it closer to the root.
|
||||||
|
|
||||||
|
.. _bpy.types.Armature.relation_line_position:
|
||||||
|
|
||||||
|
Relations
|
||||||
|
Whether the :ref:`Relationship Lines <bpy.types.View3DOverlay.show_relationship_lines>`
|
||||||
|
overlay should be drawn from each parent's tail or head.
|
||||||
|
The lines are always drawn towards the childrens' heads.
|
||||||
|
@ -7,6 +7,5 @@
|
|||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
introduction.rst
|
introduction.rst
|
||||||
skeleton.rst
|
bone_collections.rst
|
||||||
display.rst
|
display.rst
|
||||||
bone_groups.rst
|
|
||||||
|
@ -5,11 +5,34 @@ Introduction
|
|||||||
|
|
||||||
The *Armature* tab in Properties contains various panels gathering the armature settings.
|
The *Armature* tab in Properties contains various panels gathering the armature settings.
|
||||||
|
|
||||||
.. TODO2.8
|
|
||||||
.. figure:: /images/animation_armatures_properties_introduction_properties-editor.png
|
.. figure:: /images/animation_armatures_properties_introduction_properties-editor.png
|
||||||
|
|
||||||
The Armature tab in the Properties.
|
The Armature tab in the Properties.
|
||||||
|
|
||||||
|
Pose
|
||||||
|
====
|
||||||
|
|
||||||
|
.. reference::
|
||||||
|
|
||||||
|
:Mode: All Modes
|
||||||
|
:Panel: :menuselection:`Armature --> Pose`
|
||||||
|
|
||||||
|
.. _bpy.types.Armature.pose_position:
|
||||||
|
|
||||||
|
Pose Position
|
||||||
|
A radio button to switch between Pose Position and Rest Position.
|
||||||
|
|
||||||
|
In *Edit Mode*, you always see armatures in their rest position,
|
||||||
|
in *Object Mode* and *Pose Mode*, by default, you see them in *Pose Position*
|
||||||
|
(i.e. as it was transformed in the *Pose Mode*).
|
||||||
|
If you want to see it in the rest position in all modes, select *Rest Position*.
|
||||||
|
|
||||||
|
|
||||||
|
Bone Collections
|
||||||
|
================
|
||||||
|
|
||||||
|
See :doc:`Bone Collections </animation/armatures/properties/bone_collections>`.
|
||||||
|
|
||||||
|
|
||||||
Motion Paths
|
Motion Paths
|
||||||
============
|
============
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
|
|
||||||
********
|
|
||||||
Skeleton
|
|
||||||
********
|
|
||||||
|
|
||||||
.. reference::
|
|
||||||
|
|
||||||
:Mode: All Modes
|
|
||||||
:Panel: :menuselection:`Armature --> Skeleton`
|
|
||||||
|
|
||||||
.. figure:: /images/animation_armatures_properties_skeleton_panel.png
|
|
||||||
|
|
||||||
Skeleton panel.
|
|
||||||
|
|
||||||
In this panel you can arrange sets of bones into different layers for easier manipulation.
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.pose_position:
|
|
||||||
|
|
||||||
Pose Position
|
|
||||||
A radio button to switch between Pose Position and Rest Position.
|
|
||||||
|
|
||||||
In *Edit Mode*, you always see armatures in their rest position,
|
|
||||||
in *Object Mode* and *Pose Mode*, by default, you see them in *Pose Position*
|
|
||||||
(i.e. as it was transformed in the *Pose Mode*).
|
|
||||||
If you want to see it in the rest position in all modes, select *Rest Position*.
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.layers:
|
|
||||||
|
|
||||||
Armature Layers
|
|
||||||
Each armature has 32 layers to organize armatures by "regrouping" them into sets of bones.
|
|
||||||
Only bones in active layers will be visible/editable, but they will always be effective
|
|
||||||
(i.e. move objects or deform geometry), whether in an active layer or not.
|
|
||||||
This property changes which layers are visible in the 3D Viewport.
|
|
||||||
To show several layers at once, :kbd:`Shift-LMB` on the desired layers to view.
|
|
||||||
To move bones to a given layer, use :ref:`bpy.ops.armature.bone_layers`.
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.layers_protected:
|
|
||||||
|
|
||||||
Protected Layers
|
|
||||||
You can lock a given bone layer for all :doc:`/files/linked_libraries/library_proxies`
|
|
||||||
of your armature, i.e. all bones in this layer will not be editable.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
*Protected Layers* in proxy are restored to proxy settings on file reload and undo.
|
|
@ -24,11 +24,43 @@ Node Types
|
|||||||
|
|
||||||
types/input/index.rst
|
types/input/index.rst
|
||||||
types/output/index.rst
|
types/output/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
types/color/index.rst
|
types/color/index.rst
|
||||||
types/converter/index.rst
|
|
||||||
types/filter/index.rst
|
types/filter/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
types/keying/index.rst
|
||||||
|
types/mask/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
types/tracking/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
types/transform/index.rst
|
||||||
|
types/utilities/index.rst
|
||||||
types/vector/index.rst
|
types/vector/index.rst
|
||||||
types/matte/index.rst
|
|
||||||
types/distort/index.rst
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
types/groups.rst
|
types/groups.rst
|
||||||
types/layout/index.rst
|
types/layout/index.rst
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
.. _realtime-compositor:
|
.. _realtime-compositor:
|
||||||
|
|
||||||
*******************
|
**************
|
||||||
Realtime Compositor
|
GPU Compositor
|
||||||
*******************
|
**************
|
||||||
|
|
||||||
The Realtime Compositor is a new GPU accelerated compositor introduced in Blender 3.5 and is
|
The new GPU accelerated compositor introduced in Blender 3.5 and is
|
||||||
currently used for :ref:`viewport compositing <viewport-compositing>`. This compositor is currently
|
currently used for :ref:`viewport compositing <viewport-compositing>`. This compositor is currently
|
||||||
more limited and not all :ref:`Compositor Nodes <compositor-nodes>` are supported, such nodes are
|
more limited and not all :ref:`Compositor Nodes <compositor-nodes>` are supported, such nodes are
|
||||||
marked with the :guilabel:`CPU Compositor Only` label along with notes about other limitations.
|
marked with the :guilabel:`CPU Compositor Only` label along with notes about other limitations.
|
||||||
@ -319,7 +319,7 @@ pixel space of the input.
|
|||||||
Output
|
Output
|
||||||
======
|
======
|
||||||
|
|
||||||
The realtime compositor only supports a single active output target, that is, only one of the
|
The GPU compositor only supports a single active output target, that is, only one of the
|
||||||
:ref:`Composite nodes <bpy.types.CompositorNodeComposite>`, :ref:`Viewer nodes
|
:ref:`Composite nodes <bpy.types.CompositorNodeComposite>`, :ref:`Viewer nodes
|
||||||
<bpy.types.CompositorNodeViewer>`, or :ref:`Split Viewer nodes
|
<bpy.types.CompositorNodeViewer>`, or :ref:`Split Viewer nodes
|
||||||
<bpy.types.CompositorNodeSplitViewer>` in the node tree will be considered active and the rest will
|
<bpy.types.CompositorNodeSplitViewer>` in the node tree will be considered active and the rest will
|
||||||
|
17
manual/compositing/types/color/adjust/index.rst
Normal file
17
manual/compositing/types/color/adjust/index.rst
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
##########
|
||||||
|
Adjust
|
||||||
|
##########
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
bright_contrast.rst
|
||||||
|
color_balance.rst
|
||||||
|
color_correction.rst
|
||||||
|
exposure.rst
|
||||||
|
gamma.rst
|
||||||
|
hue_correct.rst
|
||||||
|
hue_saturation.rst
|
||||||
|
rgb_curves.rst
|
||||||
|
tone_map.rst
|
@ -84,7 +84,7 @@ In this example, the image has too much red in it,
|
|||||||
so we run it through an *RGB Curves* node and reduce the Red channel.
|
so we run it through an *RGB Curves* node and reduce the Red channel.
|
||||||
|
|
||||||
Also, read on for examples of the Darken and Contrast Enhancement curves,
|
Also, read on for examples of the Darken and Contrast Enhancement curves,
|
||||||
:doc:`here </compositing/types/color/mix>`.
|
:doc:`here </compositing/types/color/mix/mix_color>`.
|
||||||
|
|
||||||
|
|
||||||
Color Correction using Black/White Levels
|
Color Correction using Black/White Levels
|
@ -10,17 +10,29 @@ overlaying another image, etc.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
alpha_over.rst
|
adjust/index.rst
|
||||||
bright_contrast.rst
|
|
||||||
color_balance.rst
|
----------
|
||||||
color_correction.rst
|
|
||||||
exposure.rst
|
.. toctree::
|
||||||
gamma.rst
|
:maxdepth: 1
|
||||||
hue_correct.rst
|
|
||||||
hue_saturation.rst
|
mix/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
alpha_convert.rst
|
||||||
|
color_ramp.rst
|
||||||
|
convert_colorspace.rst
|
||||||
|
set_alpha.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
invert_color.rst
|
invert_color.rst
|
||||||
mix.rst
|
rgb_to_bw.rst
|
||||||
posterize.rst
|
|
||||||
rgb_curves.rst
|
|
||||||
tone_map.rst
|
|
||||||
z_combine.rst
|
|
||||||
|
25
manual/compositing/types/color/mix/index.rst
Normal file
25
manual/compositing/types/color/mix/index.rst
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#######
|
||||||
|
Mix
|
||||||
|
#######
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
alpha_over.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
combine_color.rst
|
||||||
|
separate_color.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
mix_color.rst
|
||||||
|
z_combine.rst
|
@ -1,7 +1,7 @@
|
|||||||
.. index:: Compositor Nodes; Mix
|
.. index:: Compositor Nodes; Mix
|
||||||
.. _bpy.types.CompositorNodeMixRGB:
|
.. _bpy.types.CompositorNodeMixRGB:
|
||||||
.. Editor's Note: This page gets copied into:
|
.. Editor's Note: This page gets copied into:
|
||||||
.. - :doc:`</render/cycles/nodes/types/color/mix>`
|
.. - :doc:`</render/shader_nodes/color/mix>`
|
||||||
.. - :doc:`</modeling/geometry_nodes/utilities/color/mix_rgb>`
|
.. - :doc:`</modeling/geometry_nodes/utilities/color/mix_rgb>`
|
||||||
.. - :doc:`</render/shader_nodes/converter/mix>`
|
.. - :doc:`</render/shader_nodes/converter/mix>`
|
||||||
.. - :doc:`</modeling/geometry_nodes/utilities/mix>`
|
.. - :doc:`</modeling/geometry_nodes/utilities/mix>`
|
@ -70,7 +70,7 @@ The node tree below shows how to do this using the Set Alpha node.
|
|||||||
Fade to black.
|
Fade to black.
|
||||||
|
|
||||||
In the example above, the alpha channel of the swirl image is ignored.
|
In the example above, the alpha channel of the swirl image is ignored.
|
||||||
Instead, a :doc:`Time Curve node </compositing/types/input/time_curve>`
|
Instead, a :doc:`Time Curve node </compositing/types/input/scene/time_curve>`
|
||||||
introduces a factor from 0.0 to 1.0 over 60 frames, or about 2 seconds,
|
introduces a factor from 0.0 to 1.0 over 60 frames, or about 2 seconds,
|
||||||
to the Set Alpha node. Note that the time curve is exponentially-shaped,
|
to the Set Alpha node. Note that the time curve is exponentially-shaped,
|
||||||
so that the overall blackness will fade in slowly and then accelerate toward the end.
|
so that the overall blackness will fade in slowly and then accelerate toward the end.
|
@ -1,28 +0,0 @@
|
|||||||
|
|
||||||
###################
|
|
||||||
Converter Nodes
|
|
||||||
###################
|
|
||||||
|
|
||||||
As the name implies, these nodes convert the colors or other properties of various data
|
|
||||||
(e.g. transparency) in some way.
|
|
||||||
|
|
||||||
They also split out or re-combine the different color channels that make up an image,
|
|
||||||
allowing you to work on each channel independently.
|
|
||||||
Various color channel arrangements are supported, including traditional RGB, HSV
|
|
||||||
and :abbr:`HDMI (High Definition Media Interface)` formats.
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
alpha_convert.rst
|
|
||||||
color_space.rst
|
|
||||||
color_ramp.rst
|
|
||||||
combine_color.rst
|
|
||||||
combine_xyz.rst
|
|
||||||
id_mask.rst
|
|
||||||
math.rst
|
|
||||||
rgb_to_bw.rst
|
|
||||||
separate_color.rst
|
|
||||||
separate_xyz.rst
|
|
||||||
set_alpha.rst
|
|
||||||
switch_view.rst
|
|
@ -30,7 +30,7 @@ Size
|
|||||||
controlled by an input image. In order to use the latter, the Variable Size option must be selected.
|
controlled by an input image. In order to use the latter, the Variable Size option must be selected.
|
||||||
See the examples section below for more on how to use this.
|
See the examples section below for more on how to use this.
|
||||||
Bounding Box
|
Bounding Box
|
||||||
This can be used with a :doc:`Box Mask </compositing/types/matte/box_mask>`
|
This can be used with a :doc:`Box Mask </compositing/types/mask/box_mask>`
|
||||||
matte node or with a :doc:`Mask </compositing/types/input/mask>`
|
matte node or with a :doc:`Mask </compositing/types/input/mask>`
|
||||||
input node to restrict the area of the image the blur is applied to. This could be helpful, for example,
|
input node to restrict the area of the image the blur is applied to. This could be helpful, for example,
|
||||||
when developing a node system by allowing only a small area of the image to be filtered
|
when developing a node system by allowing only a small area of the image to be filtered
|
||||||
@ -59,14 +59,14 @@ Examples
|
|||||||
|
|
||||||
Three examples of how the size input may be used follow.
|
Three examples of how the size input may be used follow.
|
||||||
|
|
||||||
An :doc:`ID masked </compositing/types/converter/id_mask>`
|
An :doc:`ID masked </compositing/types/mask/id_mask>`
|
||||||
alpha image can be used so that a background is blurred while foreground objects remain in focus.
|
alpha image can be used so that a background is blurred while foreground objects remain in focus.
|
||||||
To prevent strange edges the :doc:`Dilate Node </compositing/types/filter/dilate_erode>` should be used.
|
To prevent strange edges the :doc:`Dilate Node </compositing/types/filter/dilate_erode>` should be used.
|
||||||
|
|
||||||
The Z pass can be visualized using a :doc:`Map Value </compositing/types/vector/map_value>` node
|
The Z pass can be visualized using a :doc:`Map Value </compositing/types/utilities/map_value>` node
|
||||||
and a :doc:`Color Ramp </compositing/types/converter/color_ramp>` node
|
and a :doc:`Color Ramp </compositing/types/color/color_ramp>` node
|
||||||
as described in :doc:`Render Layers </compositing/types/input/render_layers>`.
|
as described in :doc:`Render Layers </compositing/types/input/scene/render_layers>`.
|
||||||
A *multiply* :doc:`Math </compositing/types/converter/math>` node can be used following the color ramp
|
A *multiply* :doc:`Math </compositing/types/utilities/math>` node can be used following the color ramp
|
||||||
so that a blur value greater than one is used for objects outside the focal range.
|
so that a blur value greater than one is used for objects outside the focal range.
|
||||||
|
|
||||||
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
14
manual/compositing/types/filter/blur/index.rst
Normal file
14
manual/compositing/types/filter/blur/index.rst
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
#####################
|
||||||
|
Blur Filter Nodes
|
||||||
|
#####################
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
bilateral_blur.rst
|
||||||
|
blur.rst
|
||||||
|
bokeh_blur.rst
|
||||||
|
defocus.rst
|
||||||
|
directional_blur.rst
|
||||||
|
vector_blur.rst
|
@ -6,21 +6,36 @@
|
|||||||
Filters process the pixels of an image to highlight additional details or perform some sort of
|
Filters process the pixels of an image to highlight additional details or perform some sort of
|
||||||
post-processing effect on the image.
|
post-processing effect on the image.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
blur/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
anti_aliasing.rst
|
anti_aliasing.rst
|
||||||
bilateral_blur.rst
|
|
||||||
blur_node.rst
|
|
||||||
bokeh_blur.rst
|
|
||||||
defocus.rst
|
|
||||||
denoise.rst
|
denoise.rst
|
||||||
despeckle.rst
|
despeckle.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
dilate_erode.rst
|
dilate_erode.rst
|
||||||
directional_blur.rst
|
|
||||||
filter_node.rst
|
|
||||||
glare.rst
|
|
||||||
inpaint.rst
|
inpaint.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
filter.rst
|
||||||
|
glare.rst
|
||||||
|
kuwahara.rst
|
||||||
pixelate.rst
|
pixelate.rst
|
||||||
|
posterize.rst
|
||||||
sun_beams.rst
|
sun_beams.rst
|
||||||
vector_blur.rst
|
|
||||||
|
@ -9,8 +9,6 @@ Inpaint Node
|
|||||||
:align: right
|
:align: right
|
||||||
:alt: Inpaint Node.
|
:alt: Inpaint Node.
|
||||||
|
|
||||||
:guilabel:`CPU Compositor Only`
|
|
||||||
|
|
||||||
The *Inpaint node* is used to extend borders of an image into transparent or masked regions.
|
The *Inpaint node* is used to extend borders of an image into transparent or masked regions.
|
||||||
This can be useful to solve problems like "wire removal" and holes created during chroma keying.
|
This can be useful to solve problems like "wire removal" and holes created during chroma keying.
|
||||||
|
|
||||||
|
149
manual/compositing/types/filter/kuwahara.rst
Normal file
149
manual/compositing/types/filter/kuwahara.rst
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
.. index:: Compositor Nodes; Kuwahara
|
||||||
|
.. _bpy.types.CompositorNodeKuwahara:
|
||||||
|
|
||||||
|
*************
|
||||||
|
Kuwahara Node
|
||||||
|
*************
|
||||||
|
|
||||||
|
.. figure:: /images/compositing_node-types_CompositorNodeKuwahara.webp
|
||||||
|
:align: right
|
||||||
|
:alt: Kuwahara Node.
|
||||||
|
|
||||||
|
The Kuwahara node implements the Kuwahara filter as well as its anisotropic
|
||||||
|
variant. The Kuwahara filter is a smoothing filter that tries to preserve the
|
||||||
|
edges in the image. The smoothing effect of the anisotropic variant is similar
|
||||||
|
to brush strokes, so the node can be used to create stylized painting effects.
|
||||||
|
|
||||||
|
|
||||||
|
Inputs
|
||||||
|
======
|
||||||
|
|
||||||
|
Image
|
||||||
|
Standard color input.
|
||||||
|
|
||||||
|
|
||||||
|
Properties
|
||||||
|
==========
|
||||||
|
|
||||||
|
Type
|
||||||
|
:Classic: A simple smoothing method that averages the local square
|
||||||
|
neighbourhood of the image while preserving edges. Produces blocky results
|
||||||
|
due to the square neighbourhood and provides no tuning parameters, but is
|
||||||
|
faster to compute.
|
||||||
|
:Anisotropic: A complex smoothing method that averages the local
|
||||||
|
neighbourhood of the image in the direction of the flow of the edges,
|
||||||
|
thus preserving the edges in the output. Produces painterly-like results
|
||||||
|
and provides multiple turning parameters, while being slower to compute.
|
||||||
|
|
||||||
|
Size
|
||||||
|
Controls the size of the smoothing neighbourhood. Large values may introduce
|
||||||
|
artifacts for highly detailed areas. For the anisotropic method, the larger
|
||||||
|
the size, the slower the filter.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_original.webp
|
||||||
|
|
||||||
|
Original.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_size3.webp
|
||||||
|
|
||||||
|
Size: 3.
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_size6.webp
|
||||||
|
|
||||||
|
Size: 6.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_size9.webp
|
||||||
|
|
||||||
|
Size: 9.
|
||||||
|
|
||||||
|
Uniformity
|
||||||
|
Controls the uniformity of the directions of the edges of the image. Non
|
||||||
|
uniform directions are nearly never desirable, so this should typically be
|
||||||
|
increased until the user notices the result is no longer changing in a
|
||||||
|
significant way. Further increases would produces worst results and increase
|
||||||
|
compute time.
|
||||||
|
|
||||||
|
Sharpness
|
||||||
|
Controls the sharpness of the edges of the image.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_original.webp
|
||||||
|
|
||||||
|
Original.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_sharpness0.webp
|
||||||
|
|
||||||
|
Sharpness: 0.
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_sharpness05.webp
|
||||||
|
|
||||||
|
Sharpness: 0.5.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_sharpness1.webp
|
||||||
|
|
||||||
|
Sharpness: 1.
|
||||||
|
|
||||||
|
Eccentricity
|
||||||
|
Controls how thin and directional the filter is. Low eccentricity corresponds
|
||||||
|
to circular omnidirectional features while high eccentricity corresponds to
|
||||||
|
thin directional features.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_original.webp
|
||||||
|
|
||||||
|
Original.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_eccentricity0.webp
|
||||||
|
|
||||||
|
Eccentricity: 0.
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_eccentricity1.webp
|
||||||
|
|
||||||
|
Eccentricity: 1.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_eccentricity2.webp
|
||||||
|
|
||||||
|
Eccentricity: 2.
|
||||||
|
|
||||||
|
|
||||||
|
Outputs
|
||||||
|
=======
|
||||||
|
|
||||||
|
Image
|
||||||
|
Standard color output.
|
||||||
|
|
||||||
|
|
||||||
|
Notes
|
||||||
|
=====
|
||||||
|
|
||||||
|
Iterations
|
||||||
|
The filter can be applied multiple times by chaining the node multiple times.
|
||||||
|
This chaining can produce more flat filtering.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_original.webp
|
||||||
|
|
||||||
|
Original.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_iterations1.webp
|
||||||
|
|
||||||
|
Iterations: 1.
|
||||||
|
|
||||||
|
* - .. figure:: /images/compositing_types_filter_kuwahara-node_iterations2.webp
|
||||||
|
|
||||||
|
Iterations: 2.
|
||||||
|
|
||||||
|
- .. figure:: /images/compositing_types_filter_kuwahara-node_iterations3.webp
|
||||||
|
|
||||||
|
Iterations: 3.
|
||||||
|
|
||||||
|
Performance
|
||||||
|
The filter can be expensive to compute for high size input and high resolution
|
||||||
|
images. To improve performance, consider scaling down the image, applying the
|
||||||
|
filter, then scaling it up again. This can work well because the filter
|
||||||
|
already attenuates low frequency details.
|
@ -9,7 +9,7 @@ Pixelate Node
|
|||||||
:align: right
|
:align: right
|
||||||
:alt: Pixelate Node.
|
:alt: Pixelate Node.
|
||||||
|
|
||||||
Add this node in front of a :doc:`Scale node </compositing/types/distort/scale>`
|
Add this node in front of a :doc:`Scale node </compositing/types/transform/scale>`
|
||||||
to get a pixelated (non-smoothed) image from the resultant upscaled image.
|
to get a pixelated (non-smoothed) image from the resultant upscaled image.
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Bokeh Image Node
|
|||||||
:alt: Bokeh Image Node.
|
:alt: Bokeh Image Node.
|
||||||
|
|
||||||
The *Bokeh Image* node generates a special input image for use with
|
The *Bokeh Image* node generates a special input image for use with
|
||||||
the :doc:`Bokeh Blur </compositing/types/filter/bokeh_blur>` filter node.
|
the :doc:`Bokeh Blur </compositing/types/filter/blur/bokeh_blur>` filter node.
|
||||||
|
|
||||||
The *Bokeh Image* node is designed to create a reference image which simulates optical parameters
|
The *Bokeh Image* node is designed to create a reference image which simulates optical parameters
|
||||||
such as aperture shape and lens distortions which have important impacts on bokeh in real cameras.
|
such as aperture shape and lens distortions which have important impacts on bokeh in real cameras.
|
||||||
@ -52,7 +52,7 @@ Example
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
In the example below the *Bokeh Image* is used to define the shape of the bokeh for
|
In the example below the *Bokeh Image* is used to define the shape of the bokeh for
|
||||||
the :doc:`Bokeh Blur </compositing/types/filter/bokeh_blur>` node.
|
the :doc:`Bokeh Blur </compositing/types/filter/blur/bokeh_blur>` node.
|
||||||
|
|
||||||
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
||||||
:width: 640px
|
:width: 640px
|
||||||
|
11
manual/compositing/types/input/constant/index.rst
Normal file
11
manual/compositing/types/input/constant/index.rst
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
############
|
||||||
|
Constant
|
||||||
|
############
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
rgb.rst
|
||||||
|
value.rst
|
@ -48,4 +48,4 @@ this makes the node a useful organizational tool.
|
|||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
From this you can also make different values proportional to each other by adding
|
From this you can also make different values proportional to each other by adding
|
||||||
a :doc:`Math Node </compositing/types/converter/math>` in between the different links.
|
a :doc:`Math Node </compositing/types/utilities/math>` in between the different links.
|
@ -15,6 +15,13 @@ For instance, an input can be:
|
|||||||
These nodes generate the information that is passed to other nodes.
|
These nodes generate the information that is passed to other nodes.
|
||||||
As such, they have no input sockets; only outputs.
|
As such, they have no input sockets; only outputs.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
constant/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
@ -22,10 +29,11 @@ As such, they have no input sockets; only outputs.
|
|||||||
image.rst
|
image.rst
|
||||||
mask.rst
|
mask.rst
|
||||||
movie_clip.rst
|
movie_clip.rst
|
||||||
render_layers.rst
|
|
||||||
rgb.rst
|
|
||||||
scene_time.rst
|
|
||||||
texture.rst
|
texture.rst
|
||||||
time_curve.rst
|
|
||||||
track_position.rst
|
----------
|
||||||
value.rst
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
scene/index.rst
|
||||||
|
12
manual/compositing/types/input/scene/index.rst
Normal file
12
manual/compositing/types/input/scene/index.rst
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#########
|
||||||
|
Scene
|
||||||
|
#########
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
render_layers.rst
|
||||||
|
scene_time.rst
|
||||||
|
time_curve.rst
|
@ -48,7 +48,7 @@ Factor
|
|||||||
|
|
||||||
.. hint:: Output values
|
.. hint:: Output values
|
||||||
|
|
||||||
The :doc:`Map Value </compositing/types/vector/map_value>`
|
The :doc:`Map Value </compositing/types/utilities/map_value>`
|
||||||
node can be used to map the output to a more appropriate value.
|
node can be used to map the output to a more appropriate value.
|
||||||
With sometimes curves, it is possible that the Time Curve node
|
With sometimes curves, it is possible that the Time Curve node
|
||||||
may output a number larger than one or less than zero.
|
may output a number larger than one or less than zero.
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
###############
|
################
|
||||||
Matte Nodes
|
Keying Nodes
|
||||||
###############
|
################
|
||||||
|
|
||||||
These nodes give you the essential tools for creating a :term:`Matte` for images
|
These nodes give you the essential tools for creating a :term:`Matte` for images
|
||||||
that do not already have their own :term:`Alpha Channel`.
|
that do not already have their own :term:`Alpha Channel`.
|
||||||
@ -18,7 +18,7 @@ Taking out too much green can result in foreground actors looking flat or bluish
|
|||||||
You can and should chain these nodes together,
|
You can and should chain these nodes together,
|
||||||
improving your masking and color correction in successive refinements,
|
improving your masking and color correction in successive refinements,
|
||||||
using each node's strengths to operate on the previous node's output.
|
using each node's strengths to operate on the previous node's output.
|
||||||
:doc:`Keying Node </compositing/types/matte/keying>` is the closest to a "does-it-all" node
|
:doc:`Keying Node </compositing/types/keying/keying>` is the closest to a "does-it-all" node
|
||||||
for green screens, but the best results stem from a combination of techniques.
|
for green screens, but the best results stem from a combination of techniques.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -34,26 +34,21 @@ for green screens, but the best results stem from a combination of techniques.
|
|||||||
by the node.
|
by the node.
|
||||||
|
|
||||||
Simple garbage mattes can be created with
|
Simple garbage mattes can be created with
|
||||||
the :doc:`Box Mask </compositing/types/matte/box_mask>` or
|
the :doc:`Box Mask </compositing/types/mask/box_mask>` or
|
||||||
the :doc:`Ellipse Mask </compositing/types/matte/ellipse_mask>`.
|
the :doc:`Ellipse Mask </compositing/types/mask/ellipse_mask>`.
|
||||||
More complicated matte shapes using
|
More complicated matte shapes using
|
||||||
a :doc:`Double Edge Mask </compositing/types/matte/double_edge_mask>` or
|
a :doc:`Double Edge Mask </compositing/types/mask/double_edge_mask>` or
|
||||||
using a :doc:`Mask </compositing/types/input/mask>`.
|
using a :doc:`Mask </compositing/types/input/mask>`.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
box_mask.rst
|
|
||||||
channel_key.rst
|
channel_key.rst
|
||||||
chroma_key.rst
|
chroma_key.rst
|
||||||
color_key.rst
|
color_key.rst
|
||||||
color_spill.rst
|
color_spill.rst
|
||||||
cryptomatte.rst
|
|
||||||
cryptomatte_legacy.rst
|
|
||||||
difference_key.rst
|
difference_key.rst
|
||||||
distance_key.rst
|
distance_key.rst
|
||||||
double_edge_mask.rst
|
|
||||||
ellipse_mask.rst
|
|
||||||
keying.rst
|
keying.rst
|
||||||
keying_screen.rst
|
keying_screen.rst
|
||||||
luminance_key.rst
|
luminance_key.rst
|
@ -22,7 +22,7 @@ Image
|
|||||||
Key Color
|
Key Color
|
||||||
The color of content to be removed. This may be a single color,
|
The color of content to be removed. This may be a single color,
|
||||||
or a reference image such as generated by
|
or a reference image such as generated by
|
||||||
the :doc:`Keying Screen Node </compositing/types/matte/keying_screen>`.
|
the :doc:`Keying Screen Node </compositing/types/keying/keying_screen>`.
|
||||||
Garbage Matte
|
Garbage Matte
|
||||||
An optional mask of area(s) to always *exclude* from the output.
|
An optional mask of area(s) to always *exclude* from the output.
|
||||||
This is removed from the chroma key generated matte.
|
This is removed from the chroma key generated matte.
|
||||||
@ -48,12 +48,12 @@ Despill Factor
|
|||||||
Controls how much color bleed from the key color is removed from the input
|
Controls how much color bleed from the key color is removed from the input
|
||||||
image: 0 means no despilling, 1 means all possible spilling will be removed.
|
image: 0 means no despilling, 1 means all possible spilling will be removed.
|
||||||
The underlying implementation is the same as adjusting the *Unspill* amount
|
The underlying implementation is the same as adjusting the *Unspill* amount
|
||||||
of the :doc:`Color Spill Node </compositing/types/matte/color_spill>`.
|
of the :doc:`Color Spill Node </compositing/types/keying/color_spill>`.
|
||||||
Despill Balance
|
Despill Balance
|
||||||
This controls how the color channels are compared when computing spill,
|
This controls how the color channels are compared when computing spill,
|
||||||
affecting the hue and shade of the corrected colors.
|
affecting the hue and shade of the corrected colors.
|
||||||
It is similar to setting the *Limiting Channel*
|
It is similar to setting the *Limiting Channel*
|
||||||
in the :doc:`Color Spill Node </compositing/types/matte/color_spill>`.
|
in the :doc:`Color Spill Node </compositing/types/keying/color_spill>`.
|
||||||
Edge Kernel Radius
|
Edge Kernel Radius
|
||||||
Defines the radius in pixel used to detect an edge.
|
Defines the radius in pixel used to detect an edge.
|
||||||
Edge Kernel Tolerance
|
Edge Kernel Tolerance
|
||||||
@ -63,7 +63,7 @@ Edge Kernel Tolerance
|
|||||||
Clip Black
|
Clip Black
|
||||||
This sets the threshold for what becomes fully transparent in the output (black in the matte).
|
This sets the threshold for what becomes fully transparent in the output (black in the matte).
|
||||||
It should be set as low as possible. Uneven backdrops will require this value to be increased.
|
It should be set as low as possible. Uneven backdrops will require this value to be increased.
|
||||||
Use of the :doc:`Keying Screen Node </compositing/types/matte/keying_screen>` can help
|
Use of the :doc:`Keying Screen Node </compositing/types/keying/keying_screen>` can help
|
||||||
keep this value low. You may also use a *Garbage Matte* to exclude problematic areas.
|
keep this value low. You may also use a *Garbage Matte* to exclude problematic areas.
|
||||||
|
|
||||||
This value does not impact areas detected as edges to ensure edge detail is preserved.
|
This value does not impact areas detected as edges to ensure edge detail is preserved.
|
||||||
@ -94,8 +94,8 @@ Image
|
|||||||
Processed image with the *Matte* applied to the images' :term:`Alpha Channel`.
|
Processed image with the *Matte* applied to the images' :term:`Alpha Channel`.
|
||||||
Matte
|
Matte
|
||||||
Output matte to use for checking the quality of the key, or to manually apply
|
Output matte to use for checking the quality of the key, or to manually apply
|
||||||
using a :doc:`Set Alpha Node </compositing/types/converter/set_alpha>` or
|
using a :doc:`Set Alpha Node </compositing/types/color/set_alpha>` or
|
||||||
:doc:`Mix Node </compositing/types/color/mix>`.
|
:doc:`Mix Node </compositing/types/color/mix/mix_color>`.
|
||||||
Edges
|
Edges
|
||||||
Shows what edges were detected on the matte.
|
Shows what edges were detected on the matte.
|
||||||
Useful for adjusting the *Edge Kernel Radius* and *Edge Kernel Tolerance*.
|
Useful for adjusting the *Edge Kernel Radius* and *Edge Kernel Tolerance*.
|
@ -49,7 +49,7 @@ Example
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
Consider a node setup for green screen removal, using
|
Consider a node setup for green screen removal, using
|
||||||
a :doc:`Color Key </compositing/types/matte/color_key>`:
|
a :doc:`Color Key </compositing/types/keying/color_key>`:
|
||||||
|
|
||||||
.. figure:: /images/compositing_types_matte_keying-screen_key-usage.png
|
.. figure:: /images/compositing_types_matte_keying-screen_key-usage.png
|
||||||
:width: 480px
|
:width: 480px
|
@ -21,7 +21,7 @@ that aren't suitable for chroma keying.
|
|||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
When compositing footage of something that emits light and has a dark background,
|
When compositing footage of something that emits light and has a dark background,
|
||||||
like fire, a :doc:`Mix Node </compositing/types/color/mix>` using a *Screen* or
|
like fire, a :doc:`Mix Node </compositing/types/color/mix/mix_color>` using a *Screen* or
|
||||||
*Add* operator will produce better results.
|
*Add* operator will produce better results.
|
||||||
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
.. _composite-nodes-layout-index:
|
|
||||||
|
|
||||||
################
|
################
|
||||||
Layout Nodes
|
Layout Nodes
|
||||||
@ -7,7 +6,3 @@
|
|||||||
|
|
||||||
These are nodes which help you control the layout and connectivity of nodes within the Compositor.
|
These are nodes which help you control the layout and connectivity of nodes within the Compositor.
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
switch.rst
|
|
||||||
|
@ -61,4 +61,4 @@ Mask
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
For soft edges, pass the output mask through a slight :doc:`Blur node </compositing/types/filter/blur_node>`.
|
For soft edges, pass the output mask through a slight :doc:`Blur node </compositing/types/filter/blur/blur>`.
|
@ -12,7 +12,7 @@ Cryptomatte Node
|
|||||||
:guilabel:`CPU Compositor Only`
|
:guilabel:`CPU Compositor Only`
|
||||||
|
|
||||||
The Cryptomatte node uses the Cryptomatte standard to efficiently create mattes for compositing.
|
The Cryptomatte node uses the Cryptomatte standard to efficiently create mattes for compositing.
|
||||||
Cycles and Eevee output the required render passes, which can then be used in the Compositor
|
Cycles and EEVEE output the required render passes, which can then be used in the Compositor
|
||||||
or another compositor with Cryptomatte support to create masks for specified objects.
|
or another compositor with Cryptomatte support to create masks for specified objects.
|
||||||
|
|
||||||
Unlike the Material and Object Index passes, the objects to isolate are selected in compositing,
|
Unlike the Material and Object Index passes, the objects to isolate are selected in compositing,
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user