Fix #104575: "Scrambling Distance" did not use bold font #104581
@ -24,3 +24,12 @@ insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 3
|
||||
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
|
||||
Select an object to align view, from the list.
|
||||
|
||||
View to Select
|
||||
View to Selected
|
||||
Align view on selected object.
|
||||
|
||||
Cursor
|
||||
|
@ -32,7 +32,7 @@ A bone can belong to more than one selection set.
|
||||
|
||||
.. 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::
|
||||
|
@ -52,7 +52,7 @@ Compositing Nodes
|
||||
-----------------
|
||||
|
||||
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
|
||||
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.
|
||||
@ -89,7 +89,7 @@ Material Type
|
||||
|
||||
.. 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>`.
|
||||
|
||||
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``,
|
||||
``Roughness`` and ``Transmission`` can be changed. These are the properties
|
||||
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.
|
||||
|
||||
|
||||
Note that in the header of the custom data file,
|
||||
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.
|
||||
|
||||
.. figure:: /images/addons_import-export_mesh-atomic_utilities-panel.png
|
||||
|
@ -52,6 +52,8 @@ Principled BSDF
|
||||
- Metallic
|
||||
- IOR
|
||||
- Transmission
|
||||
- Emission
|
||||
- Emission Strength
|
||||
- Alpha
|
||||
|
||||
Normal Map
|
||||
|
@ -7,8 +7,8 @@ Autodesk 3DS
|
||||
|
||||
:Category: Import-Export
|
||||
:Menu: :menuselection:`File --> Import/Export --> 3D Studio (.3ds)`
|
||||
:Version: 2.4.6
|
||||
:Blender: 3.6
|
||||
:Version: 2.4.8
|
||||
:Blender: 4.0
|
||||
:Authors: Bob Holcomb, Campbell Barton, Sebastian Schrand
|
||||
:Maintainer: Sebastian Sille (NRGSille)
|
||||
: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:
|
||||
|
||||
- 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 Reflection Map <-> blender Metallic 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,
|
||||
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
|
||||
=========
|
||||
@ -257,9 +267,9 @@ All Image Texture nodes used for clearcoat shading should have their *Color Spac
|
||||
Sheen
|
||||
^^^^^
|
||||
|
||||
When the *Velvet 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.
|
||||
Sheen Roughness will be exported from Sigma socket.
|
||||
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 Sheen node.
|
||||
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.
|
||||
|
||||
@ -267,8 +277,8 @@ If a Sheen Roughness Texture is used, glTF requires the values be written to the
|
||||
|
||||
.. tip::
|
||||
|
||||
Velvet 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.
|
||||
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.
|
||||
|
||||
.. 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.
|
||||
You may find some difference between Blender render, and glTF render.
|
||||
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).
|
||||
|
||||
|
||||
@ -442,8 +452,8 @@ Double-Sided / Backface Culling
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
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)
|
||||
you can temporarily switch to Eevee to configure this setting, then switch back.
|
||||
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.
|
||||
|
||||
Leave this box unchecked for double-sided materials.
|
||||
|
||||
@ -458,7 +468,7 @@ Blend Modes
|
||||
The Base Color input can optionally supply alpha values.
|
||||
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 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
|
||||
|
||||
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::
|
||||
|
||||
@ -569,6 +579,7 @@ are supported directly by this add-on:
|
||||
- ``KHR_lights_punctual``
|
||||
- ``KHR_texture_transform``
|
||||
- ``KHR_mesh_quantization``
|
||||
- ``EXT_mesh_gpu_instancing``
|
||||
|
||||
|
||||
.. rubric:: Export
|
||||
@ -585,6 +596,7 @@ are supported directly by this add-on:
|
||||
- ``KHR_materials_ior``
|
||||
- ``KHR_materials_variants``
|
||||
- ``KHR_texture_transform``
|
||||
- ``EXT_mesh_gpu_instancing``
|
||||
|
||||
|
||||
Third-party glTF Extensions
|
||||
@ -795,11 +807,16 @@ Bone Direction
|
||||
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.
|
||||
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
|
||||
Optional backwards compatibility for non-standard render engines. Applies to lights.
|
||||
Standard: Physically-based glTF lighting units (cd, lx, nt).
|
||||
Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available
|
||||
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
|
||||
@ -850,6 +867,11 @@ Transform
|
||||
Y Up
|
||||
Export using glTF convention, +Y up.
|
||||
|
||||
Data - Scene Graph
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
GPU Instances
|
||||
Export using ``EXT_mesh_gpu_instancing`` extensions.
|
||||
|
||||
Data - Mesh
|
||||
^^^^^^^^^^^
|
||||
@ -881,9 +903,15 @@ Materials
|
||||
Images
|
||||
Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for
|
||||
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.
|
||||
JPEG Quality
|
||||
When exporting jpeg files, the quality of the exported file.
|
||||
Image Quality
|
||||
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
|
||||
When On, specular data are exported from glTF Material Output node,
|
||||
Instead of using sockets from Principled BSDF Node.
|
||||
@ -898,6 +926,14 @@ Shape Key Normals
|
||||
Shape Key Tangents
|
||||
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
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
@ -914,8 +950,11 @@ Data - Skinning
|
||||
|
||||
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
|
||||
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
|
||||
^^^^^^^^^^^^^^^
|
||||
|
@ -44,7 +44,7 @@ Instructions
|
||||
.. reference::
|
||||
|
||||
: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`
|
||||
:File: lighting_dynamic_sky.py
|
||||
:Author: Pratik Solanki
|
||||
|
@ -4,7 +4,7 @@ Material Utilities
|
||||
******************
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
@ -62,22 +62,22 @@ Options
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
**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
|
||||
|
||||
|
||||
|
@ -64,14 +64,14 @@ Rigify Human Alignment Tips
|
||||
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.
|
||||
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.
|
||||
You can select them by displaying only bone layer 1, selecting all of its content and
|
||||
All the face bones are in the *Face* armature bone collection by default.
|
||||
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.
|
||||
|
||||
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).
|
||||
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>`.
|
||||
|
||||
@ -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:
|
||||
|
||||
- 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
|
||||
teeth geometry through Child Of constraints.
|
||||
- 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!).
|
||||
|
||||
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:
|
||||
@ -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.
|
||||
- Execute a script data-block after generation.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Target Rig :guilabel:`auto`
|
||||
This option specifies the generated rig to overwrite when re-generating from this metarig.
|
||||
Rig Name
|
||||
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.
|
||||
The new object will be named based on the name of the metarig according to the following rules:
|
||||
If this field is empty, the new object will be named based on the name of the metarig according
|
||||
to the following rules:
|
||||
|
||||
* If the name contains ``META``, it is replaced with ``RIG``.
|
||||
* If the name contains ``metarig``, it is replaced with ``rig``.
|
||||
* Otherwise, ``RIG-`` is prepended to the name.
|
||||
|
||||
When overwriting an existing rig object specified by the option, its name is not changed,
|
||||
allowing it to be freely renamed if the default naming scheme doesn't fit.
|
||||
When overwriting an existing rig object specified by the *Target Rig* option, its name is not changed,
|
||||
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::
|
||||
|
||||
@ -204,13 +213,13 @@ Rig UI Script :guilabel:`auto`
|
||||
works in the same manner as *Target Rig*.
|
||||
|
||||
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`
|
||||
This reference specifies the collection containing generated widgets, and
|
||||
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,
|
||||
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.
|
||||
|
@ -5,7 +5,8 @@ Creating Meta-rigs
|
||||
|
||||
#. 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.
|
||||
#. 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.
|
||||
|
||||
|
||||
@ -59,7 +60,7 @@ Just add a single bone from the *Add* menu.
|
||||
|
||||
.. 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
|
||||
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 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.
|
||||
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.
|
||||
|
||||
|
||||
.. _bpy.types.PoseBone.rigify_type:
|
||||
.. _bpy.types.RigifyParameters:
|
||||
|
||||
Using Rig Types (Advanced)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
#. Create your bone chains in Edit Mode.
|
||||
#. Assign the correct rig type to the first bone of each chain in Pose Mode.
|
||||
.. figure:: /images/addons_rigging_rigify_metarigs_rigify-type-panel.png
|
||||
: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::
|
||||
|
||||
@ -102,18 +130,40 @@ Using Rig Types (Advanced)
|
||||
add a rig sample to your armature to see how it is supposed to be used.
|
||||
|
||||
|
||||
.. _bpy.ops.Armature.rigify_apply_selection_colors:
|
||||
.. _bpy.ops.Armature.rigify_add_bone_groups:
|
||||
.. _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:
|
||||
Preserved Bone Properties
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Certain properties of the metarig bones are often copied to the generated rig control, deform and mechanism bones.
|
||||
|
||||
The exact set depends on the sub-rig and the specific generated bone, and the sub-rig may override some properties
|
||||
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
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
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,
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
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.
|
||||
Color Sets
|
||||
==========
|
||||
|
||||
- The first column shows the layer number.
|
||||
- The second column is a display toggle.
|
||||
.. figure:: /images/addons_rigging_rigify_metarigs_color-sets-panel.png
|
||||
:align: right
|
||||
:width: 300px
|
||||
|
||||
This toggle controls the armature layer visibility.
|
||||
It has the same effect of enabling/disabling the layer visibility from the top armature layers menu.
|
||||
It is just redrawn here for a simplicity.
|
||||
The Color Sets panel is used to define the bone color scheme for the final rig. The colors from the list
|
||||
can be associated with bone collections from the relevant panel.
|
||||
|
||||
- The third column sets a specific layer name to be used to build the rig UI of the final rig.
|
||||
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.
|
||||
The top two rows of the Color Sets panel are used to define the general behavior of the bone colors.
|
||||
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
|
||||
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:
|
||||
|
||||
Unified Selected/Active Colors
|
||||
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.
|
||||
|
||||
Selected/Active Colors
|
||||
This two color fields define respectively *Selected* and *Active* colors.
|
||||
By default Rigify reads this colors from the theme defined by the user in the Blender preferences.
|
||||
This two color fields define respectively the *Selected* and *Active* colors.
|
||||
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.
|
||||
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.
|
||||
|
||||
Bone Groups can be added and deleted as done in the general Bone Group panel
|
||||
by clicking on the ``+`` or ``-`` buttons.
|
||||
All Bone Groups can be deleted at once by clicking on the Specials menu.
|
||||
Color Sets can be added and deleted by clicking on the ``+`` or ``-`` buttons.
|
||||
All color sets 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.
|
||||
|
||||
|
||||
.. _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.
|
||||
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
|
||||
=====
|
||||
|
||||
Each limb will have a gear widget at its base. This is the utility bone that
|
||||
contains all the sub-rig properties. The rig features will be displayed anyway
|
||||
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.
|
||||
Limbs have a master bone and tweaks. Depending on the user defined meta-rig options,
|
||||
multiple deform bone segments with tweaks will be created.
|
||||
|
||||
Depending on the user defined meta-rig options, multiple deform bone segments will be created.
|
||||
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.
|
||||
The IK control may have an optional custom pivot, as well as additional predefined pivots.
|
||||
|
||||
Rigify's limbs have the following controls in the Sidebar panel:
|
||||
|
||||
.. figure:: /images/addons_rigging_rigify_rig-features_limb-properties.png
|
||||
:align: right
|
||||
:width: 200px
|
||||
|
||||
FK Limb Follow :guilabel:`Slider`
|
||||
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.
|
||||
|
||||
IK<->FK Snapping :guilabel:`Buttons`
|
||||
To snap one type of controls to another use the appropriate buttons.
|
||||
|
||||
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.
|
||||
Snaps one type of controls to another.
|
||||
|
||||
IK Stretch :guilabel:`Slider`
|
||||
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.
|
||||
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.
|
||||
|
||||
IK Parent :guilabel:`Switch`
|
||||
Switches the effective parent of the main IK control, with different integer values corresponding
|
||||
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.
|
||||
Switches the effective parent of the main IK control.
|
||||
|
||||
Pole Parent :guilabel:`Switch`
|
||||
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
|
||||
====
|
||||
----
|
||||
|
||||
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`
|
||||
.. figure:: /images/addons_rigging_rigify_rig-features_head-properties.png
|
||||
:align: right
|
||||
:width: 200px
|
||||
|
||||
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).
|
||||
When set to 1 the neck will be oriented as the Chest (the big circle in the shoulder area).
|
||||
The neck will follow the orientation of the Torso when set to 0, and the Chest when set to 1.
|
||||
|
||||
Head Follow :guilabel:`Slider`
|
||||
This slider controls the rotations isolation for the head.
|
||||
When set to 0 the head will stay oriented as the Torso (the big box control).
|
||||
When set to 1 the head will be oriented as the neck.
|
||||
.. figure:: /images/addons_rigging_rigify_rig-features_tail-controls.png
|
||||
:align: right
|
||||
: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
|
||||
====
|
||||
|
||||
Mouth Lock :guilabel:`Slider`
|
||||
This slider controls the mouth opening.
|
||||
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.
|
||||
.. note::
|
||||
This describes the new-style modular face produced by the Upgrade Face operator button.
|
||||
|
||||
Eyes Following :guilabel:`Slider`
|
||||
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,
|
||||
when set to 0 no automation will happen.
|
||||
Basic Concepts
|
||||
--------------
|
||||
|
||||
Skin Bone Chains
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
.. 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:
|
||||
|
||||
``basic.copy_chain``
|
||||
====================
|
||||
basic.copy_chain
|
||||
================
|
||||
|
||||
Copies the bone chain keeping all the parent relations within the chain untouched.
|
||||
Useful as a utility rig type for custom rigs.
|
||||
@ -29,8 +29,8 @@ Deform (Boolean)
|
||||
|
||||
.. _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.
|
||||
|
||||
@ -74,8 +74,8 @@ Deform Bone
|
||||
|
||||
.. _rigify.rigs.basic.raw_copy:
|
||||
|
||||
``basic.raw_copy``
|
||||
==================
|
||||
basic.raw_copy
|
||||
==============
|
||||
|
||||
Single-bone rig type that copies the bone without the ``ORG-`` name prefix.
|
||||
|
||||
@ -106,8 +106,8 @@ Relink Constraints
|
||||
|
||||
.. _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
|
||||
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:
|
||||
|
||||
``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)
|
||||
Defines the number of b-bone segments each tweak control will be split into.
|
||||
Primary Control Layers
|
||||
Optionally specifies layers for the main control.
|
||||
Optionally specifies bone collections for the main control.
|
||||
|
||||
|
||||
.. _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
|
||||
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:
|
||||
|
||||
``face.skin_jaw``
|
||||
=================
|
||||
face.skin_jaw
|
||||
=============
|
||||
|
||||
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.
|
||||
|
@ -3,8 +3,10 @@
|
||||
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.
|
||||
|
||||
|
@ -1,6 +1,3 @@
|
||||
.. _bpy.types.PoseBone.rigify_type:
|
||||
.. _bpy.types.RigifyParameters:
|
||||
|
||||
#############
|
||||
Rig Types
|
||||
#############
|
||||
|
@ -6,26 +6,32 @@ Limbs
|
||||
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.
|
||||
|
||||
Automation Axis (X, Y, Z, None)
|
||||
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
|
||||
can be disabled even after rig is generated, or at animation time.
|
||||
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.
|
||||
|
||||
@ -39,27 +45,40 @@ IK Control
|
||||
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
|
||||
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
|
||||
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::
|
||||
|
||||
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.
|
||||
Automatic mode recalculates the generated bones roll while
|
||||
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).
|
||||
|
||||
@ -79,15 +98,17 @@ B-Bone Segments (integer)
|
||||
Custom IK Pivot
|
||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||
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
|
||||
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
|
||||
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.
|
||||
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)
|
||||
Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes.
|
||||
Limb Segments (integer)
|
||||
@ -113,15 +138,17 @@ B-Bone Segments (integer)
|
||||
Custom IK Pivot
|
||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||
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
|
||||
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).
|
||||
|
||||
@ -138,15 +165,17 @@ B-Bone Segments (integer)
|
||||
Custom IK Pivot
|
||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
``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
|
||||
as the main IK control moves and rotates.
|
||||
|
||||
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.
|
||||
|
||||
@ -182,3 +215,51 @@ Both Sides
|
||||
|
||||
Primary Rotation Axis (X, Z)
|
||||
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:
|
||||
|
||||
``skin.basic_chain``
|
||||
====================
|
||||
skin.basic_chain
|
||||
================
|
||||
|
||||
This is the basic chain rig, which bridges controls with B-Bones but does not add
|
||||
any automation to the controls themselves.
|
||||
@ -107,8 +107,8 @@ Chain Priority
|
||||
|
||||
.. _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,
|
||||
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
|
||||
controls are merged into this chain, instead of it being completely local to this chain.
|
||||
Primary Control Layers
|
||||
Optionally specifies layers for the end controls.
|
||||
Optionally specifies bone collections for the end controls.
|
||||
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*
|
||||
automatically enabled just for them.
|
||||
@ -144,8 +144,8 @@ automatically enabled just for them.
|
||||
|
||||
.. _rigify.rigs.skin.anchor:
|
||||
|
||||
``skin.anchor``
|
||||
===============
|
||||
skin.anchor
|
||||
===========
|
||||
|
||||
This rig effectively acts as a zero-length chain with highest priority,
|
||||
ensuring that it becomes the owner when merging controls with other chains.
|
||||
@ -168,10 +168,10 @@ Orientation
|
||||
|
||||
.. _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.
|
||||
The head of the bone must overlap a control of another skin rig.
|
||||
|
||||
@ -210,8 +210,8 @@ Add Constraint
|
||||
|
||||
.. _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
|
||||
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.
|
||||
|
||||
|
||||
``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
|
||||
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).
|
||||
|
||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-required.png
|
||||
@ -31,7 +36,10 @@ Tail (Boolean)
|
||||
|
||||
Tail Position (integer)
|
||||
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
|
||||
|
||||
@ -40,3 +48,45 @@ Tail (Boolean)
|
||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-example.png
|
||||
|
||||
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``
|
||||
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``
|
||||
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
|
||||
symmetrize.rst
|
||||
naming.rst
|
||||
change_layers.rst
|
||||
parenting.rst
|
||||
properties.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.
|
||||
|
||||
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
|
||||
|
||||
introduction.rst
|
||||
bone_collections.rst
|
||||
structure.rst
|
||||
tools/index.rst
|
||||
selecting.rst
|
||||
|
@ -116,6 +116,22 @@ Segments
|
||||
Display Size X, Z
|
||||
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_curveinz:
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
.. _bpy.types.Bone.hide:
|
||||
.. _bpy.types.Bone.color:
|
||||
.. _bpy.types.EditBone.color:
|
||||
.. _bpy.types.PoseBone.color:
|
||||
|
||||
****************
|
||||
Viewport Display
|
||||
@ -6,17 +8,80 @@ Viewport Display
|
||||
|
||||
.. reference::
|
||||
|
||||
:Mode: Object and Pose Mode
|
||||
:Mode: Object, Pose, and Edit Mode
|
||||
: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
|
||||
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:
|
||||
|
@ -1,4 +1,6 @@
|
||||
|
||||
.. _properties_data_bone_relations:
|
||||
|
||||
*********
|
||||
Relations
|
||||
*********
|
||||
@ -10,29 +12,10 @@ Relations
|
||||
|
||||
.. 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.
|
||||
|
||||
|
||||
.. _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.
|
||||
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.
|
||||
|
||||
|
||||
Parenting
|
||||
@ -48,11 +31,6 @@ Parent
|
||||
Relative Parenting :guilabel:`Pose Mode Only`
|
||||
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:
|
||||
|
||||
Connected
|
||||
@ -107,6 +85,12 @@ Inherit Rotation
|
||||
Inherit Scale
|
||||
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:
|
||||
The bone inherits all effects of parent scaling and shear.
|
||||
:Fix Shear:
|
||||
@ -128,50 +112,41 @@ Inherit Scale
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
to achieve that, so different options are useful for different situations.
|
||||
- **None** --
|
||||
Useful for gaining full control over the scaling of the child in order
|
||||
to e.g. manually overwrite it with constraints.
|
||||
- **Average** --
|
||||
Useful to block squash and stretch propagation between sub-rigs, while
|
||||
allowing uniform changes in the size and volume to pass through.
|
||||
- **Aligned** --
|
||||
Can be used within bone chains, e.g. tentacles, in order to propagate
|
||||
lengthwise scaling as lengthwise, and sideways as sideways, no matter
|
||||
how the tentacle bends. Similar to using *None* with
|
||||
:doc:`Copy Scale </animation/constraints/transform/copy_scale>` from parent.
|
||||
- **Fix Shear** --
|
||||
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.
|
||||
It behaves closest to *Full* while suppressing shear.
|
||||
|
||||
None
|
||||
Useful for gaining full control over the scaling of the child in order
|
||||
to e.g. manually overwrite it with constraints.
|
||||
.. list-table:: Examples of transforming parented/connected bones with Inherit Rotation disabled.
|
||||
|
||||
Average
|
||||
Useful to block squash and stretch propagation between sub-rigs, while
|
||||
allowing uniform changes in the size and volume to pass through.
|
||||
* - .. figure:: /images/animation_armatures_bones_properties_relations_inherit-rot-disabled.png
|
||||
|
||||
Aligned
|
||||
Can be used within bone chains, e.g. tentacles, in order to propagate
|
||||
lengthwise scaling as lengthwise, and sideways as sideways, no matter
|
||||
how the tentacle bends. Similar to using *None* with
|
||||
:doc:`Copy Scale </animation/constraints/transform/copy_scale>` from parent.
|
||||
The yellow outlined Inherit Rotation disabled bone in the armature.
|
||||
|
||||
Fix Shear
|
||||
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.
|
||||
It behaves closest to *Full* while suppressing shear.
|
||||
- .. figure:: /images/animation_armatures_bones_properties_relations_inherit-rot-disabled-descendant.png
|
||||
|
||||
.. list-table:: Examples of transforming parented/connected bones with Inherit Rotation disabled.
|
||||
Rotation of a bone with an Inherit Rotation disabled bone among its descendants.
|
||||
|
||||
* - .. figure:: /images/animation_armatures_bones_properties_relations_inherit-rot-disabled.png
|
||||
- .. figure:: /images/animation_armatures_bones_properties_relations_inherit-rot-disabled-scale.png
|
||||
|
||||
The yellow outlined Inherit Rotation disabled bone in the armature.
|
||||
|
||||
- .. figure:: /images/animation_armatures_bones_properties_relations_inherit-rot-disabled-descendant.png
|
||||
|
||||
Rotation of a bone with an Inherit Rotation disabled bone among its descendants.
|
||||
|
||||
- .. figure:: /images/animation_armatures_bones_properties_relations_inherit-rot-disabled-scale.png
|
||||
|
||||
Scaling of a bone with an Inherit Rotation disabled bone among its descendants.
|
||||
Scaling of a bone with an Inherit Rotation disabled bone among its descendants.
|
||||
|
||||
Connected bones have another specificity: they cannot be moved. Indeed,
|
||||
as their root must be at their parent's tip, if you do not move the parent,
|
||||
@ -216,3 +191,19 @@ which allows you to pose a whole chain just by moving its tip.
|
||||
|
||||
This feature is somewhat extended/completed by
|
||||
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 ``.``).
|
||||
Suffix
|
||||
Select bones with matching name suffix (separated by ``.``).
|
||||
Layer
|
||||
Select bones on the same layer.
|
||||
Group
|
||||
Select bones in the same group.
|
||||
Bone Collection
|
||||
Select bones that share one or more bone collections with the active bone.
|
||||
Color
|
||||
Select bones that have the same color as the active bone.
|
||||
Shape
|
||||
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`.
|
||||
#. Press :kbd:`Numpad1` to see the world in Front view.
|
||||
#. 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
|
||||
|
||||
|
@ -44,5 +44,5 @@ There are six different color codes, ordered here by precedence
|
||||
|
||||
.. 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.
|
||||
|
@ -127,14 +127,12 @@ Grouped
|
||||
:Menu: :menuselection:`Select --> Grouped`
|
||||
: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
|
||||
To select all bones belonging to the same layer(s) as the selected ones,
|
||||
use the *In Same Layer* entry.
|
||||
Group
|
||||
To select all bones belonging to the same group(s) as the selected ones,
|
||||
use the *In Same Group* entry.
|
||||
Collection
|
||||
Selects all bones that are share at least one bone collection with the active bone.
|
||||
Color
|
||||
Selects all bones that have the same color as the active bone.
|
||||
Keying Set
|
||||
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,
|
||||
in *Object Mode* and *Pose Mode*, by the shape of a chosen object
|
||||
(see :doc:`Shaped Bones </animation/armatures/bones/properties/display>` for details).
|
||||
Group Colors
|
||||
Use the Bone Group colors to color the bone.
|
||||
For more details see :doc:`Bone Groups </animation/armatures/properties/bone_groups>`.
|
||||
Bone Colors
|
||||
Draws bones in their configured colors. Disable to always draw bones in the default color.
|
||||
For more details see :ref:`Bone Colors <bpy.types.Bone.color>`.
|
||||
In Front
|
||||
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
|
||||
@ -128,3 +128,10 @@ Axis
|
||||
Position
|
||||
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.
|
||||
|
||||
.. _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
|
||||
|
||||
introduction.rst
|
||||
skeleton.rst
|
||||
bone_collections.rst
|
||||
display.rst
|
||||
bone_groups.rst
|
||||
|
@ -5,10 +5,33 @@ Introduction
|
||||
|
||||
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
|
||||
|
@ -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/output/index.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
types/color/index.rst
|
||||
types/converter/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/matte/index.rst
|
||||
types/distort/index.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
types/groups.rst
|
||||
types/layout/index.rst
|
||||
|
@ -1,10 +1,10 @@
|
||||
.. _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
|
||||
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.
|
||||
@ -319,7 +319,7 @@ pixel space of the input.
|
||||
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
|
||||
<bpy.types.CompositorNodeViewer>`, or :ref:`Split Viewer nodes
|
||||
<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.
|
||||
|
||||
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
|
@ -10,17 +10,29 @@ overlaying another image, etc.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
alpha_over.rst
|
||||
bright_contrast.rst
|
||||
color_balance.rst
|
||||
color_correction.rst
|
||||
exposure.rst
|
||||
gamma.rst
|
||||
hue_correct.rst
|
||||
hue_saturation.rst
|
||||
adjust/index.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
mix/index.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
alpha_convert.rst
|
||||
color_ramp.rst
|
||||
convert_colorspace.rst
|
||||
set_alpha.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
invert_color.rst
|
||||
mix.rst
|
||||
posterize.rst
|
||||
rgb_curves.rst
|
||||
tone_map.rst
|
||||
z_combine.rst
|
||||
rgb_to_bw.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
|
||||
.. _bpy.types.CompositorNodeMixRGB:
|
||||
.. 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:`</render/shader_nodes/converter/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.
|
||||
|
||||
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,
|
||||
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.
|
@ -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.
|
||||
See the examples section below for more on how to use this.
|
||||
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>`
|
||||
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
|
||||
@ -59,14 +59,14 @@ Examples
|
||||
|
||||
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.
|
||||
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
|
||||
and a :doc:`Color Ramp </compositing/types/converter/color_ramp>` node
|
||||
as described in :doc:`Render Layers </compositing/types/input/render_layers>`.
|
||||
A *multiply* :doc:`Math </compositing/types/converter/math>` node can be used following the color ramp
|
||||
The Z pass can be visualized using a :doc:`Map Value </compositing/types/utilities/map_value>` node
|
||||
and a :doc:`Color Ramp </compositing/types/color/color_ramp>` node
|
||||
as described in :doc:`Render Layers </compositing/types/input/scene/render_layers>`.
|
||||
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.
|
||||
|
||||
.. 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
|
||||
post-processing effect on the image.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
blur/index.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
anti_aliasing.rst
|
||||
bilateral_blur.rst
|
||||
blur_node.rst
|
||||
bokeh_blur.rst
|
||||
defocus.rst
|
||||
denoise.rst
|
||||
despeckle.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
dilate_erode.rst
|
||||
directional_blur.rst
|
||||
filter_node.rst
|
||||
glare.rst
|
||||
inpaint.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
filter.rst
|
||||
glare.rst
|
||||
kuwahara.rst
|
||||
pixelate.rst
|
||||
posterize.rst
|
||||
sun_beams.rst
|
||||
vector_blur.rst
|
||||
|
@ -9,8 +9,6 @@ Inpaint Node
|
||||
:align: right
|
||||
:alt: Inpaint Node.
|
||||
|
||||
:guilabel:`CPU Compositor Only`
|
||||
|
||||
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.
|
||||
|
||||
|
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
|
||||
: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.
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@ Bokeh Image Node
|
||||
:alt: Bokeh Image Node.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
: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::
|
||||
|
||||
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.
|
||||
As such, they have no input sockets; only outputs.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
constant/index.rst
|
||||
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
@ -22,10 +29,11 @@ As such, they have no input sockets; only outputs.
|
||||
image.rst
|
||||
mask.rst
|
||||
movie_clip.rst
|
||||
render_layers.rst
|
||||
rgb.rst
|
||||
scene_time.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
|
||||
|
||||
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.
|
||||
With sometimes curves, it is possible that the Time Curve node
|
||||
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
|
||||
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,
|
||||
improving your masking and color correction in successive refinements,
|
||||
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.
|
||||
|
||||
.. note::
|
||||
@ -34,26 +34,21 @@ for green screens, but the best results stem from a combination of techniques.
|
||||
by the node.
|
||||
|
||||
Simple garbage mattes can be created with
|
||||
the :doc:`Box Mask </compositing/types/matte/box_mask>` or
|
||||
the :doc:`Ellipse Mask </compositing/types/matte/ellipse_mask>`.
|
||||
the :doc:`Box Mask </compositing/types/mask/box_mask>` or
|
||||
the :doc:`Ellipse Mask </compositing/types/mask/ellipse_mask>`.
|
||||
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>`.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
box_mask.rst
|
||||
channel_key.rst
|
||||
chroma_key.rst
|
||||
color_key.rst
|
||||
color_spill.rst
|
||||
cryptomatte.rst
|
||||
cryptomatte_legacy.rst
|
||||
difference_key.rst
|
||||
distance_key.rst
|
||||
double_edge_mask.rst
|
||||
ellipse_mask.rst
|
||||
keying.rst
|
||||
keying_screen.rst
|
||||
luminance_key.rst
|
@ -22,7 +22,7 @@ Image
|
||||
Key Color
|
||||
The color of content to be removed. This may be a single color,
|
||||
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
|
||||
An optional mask of area(s) to always *exclude* from the output.
|
||||
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
|
||||
image: 0 means no despilling, 1 means all possible spilling will be removed.
|
||||
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
|
||||
This controls how the color channels are compared when computing spill,
|
||||
affecting the hue and shade of the corrected colors.
|
||||
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
|
||||
Defines the radius in pixel used to detect an edge.
|
||||
Edge Kernel Tolerance
|
||||
@ -63,7 +63,7 @@ Edge Kernel Tolerance
|
||||
Clip Black
|
||||
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.
|
||||
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.
|
||||
|
||||
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`.
|
||||
Matte
|
||||
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
|
||||
:doc:`Mix Node </compositing/types/color/mix>`.
|
||||
using a :doc:`Set Alpha Node </compositing/types/color/set_alpha>` or
|
||||
:doc:`Mix Node </compositing/types/color/mix/mix_color>`.
|
||||
Edges
|
||||
Shows what edges were detected on the matte.
|
||||
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
|
||||
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
|
||||
:width: 480px
|
@ -21,7 +21,7 @@ that aren't suitable for chroma keying.
|
||||
.. tip::
|
||||
|
||||
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.
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
.. _composite-nodes-layout-index:
|
||||
|
||||
################
|
||||
Layout Nodes
|
||||
@ -7,7 +6,3 @@
|
||||
|
||||
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::
|
||||
|
||||
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`
|
||||
|
||||
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.
|
||||
|
||||
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