scene_3ds: Changed shader nodes image #104579
@ -49,7 +49,7 @@ Align View from
|
|||||||
Lock View to Object
|
Lock View to Object
|
||||||
Select an object to align view, from the list.
|
Select an object to align view, from the list.
|
||||||
|
|
||||||
View to Select
|
View to Selected
|
||||||
Align view on selected object.
|
Align view on selected object.
|
||||||
|
|
||||||
Cursor
|
Cursor
|
||||||
|
@ -32,7 +32,7 @@ A bone can belong to more than one selection set.
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
:doc:`/animation/armatures/properties/bone_groups` for a way to visually distinguish groups of bones.
|
:doc:`/animation/armatures/properties/bone_collections` for a way to organise groups of bones.
|
||||||
|
|
||||||
|
|
||||||
.. reference::
|
.. reference::
|
||||||
|
@ -6,6 +6,7 @@ VDM Brush Baker
|
|||||||
This is a small add-on that makes it easy to create vector displacement map (aka VDM) brushes in Blender.
|
This is a small add-on that makes it easy to create vector displacement map (aka VDM) brushes in Blender.
|
||||||
Sculpting setups and the brushes can be created with one click.
|
Sculpting setups and the brushes can be created with one click.
|
||||||
|
|
||||||
|
|
||||||
Activation
|
Activation
|
||||||
==========
|
==========
|
||||||
|
|
||||||
@ -13,22 +14,25 @@ Activation
|
|||||||
- Switch the category to "Baking"
|
- Switch the category to "Baking"
|
||||||
- Enable the "VDM Brush Baker" addon.
|
- Enable the "VDM Brush Baker" addon.
|
||||||
|
|
||||||
|
|
||||||
Interface
|
Interface
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Located in the :menuselection:`3D Viewport --> Sidebar --> Tools`.
|
Located in the :menuselection:`3D Viewport --> Sidebar --> Tools`.
|
||||||
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Use the "Create Sculpting Plane" button for an optimal startign setup for sculpting your own VDM brush.
|
Use the "Create Sculpting Plane" button for an optimal starting setup for sculpting your own VDM brush.
|
||||||
|
|
||||||
Use the "Render and Create VDM Brush" button to covnert bake the plane into a new brush.
|
Use the "Render and Create VDM Brush" button to convert bake the plane into a new brush.
|
||||||
The brush will be added with all relevant options and a vector displacement map
|
The brush will be added with all relevant options and a vector displacement map
|
||||||
is saved near the blender file as an Open EXR file (or a 'tmp' folder if the blender file wasn't saved).
|
is saved near the blender file as an Open EXR file (or a 'tmp' folder if the blender file wasn't saved).
|
||||||
New brushes can be found as Draw brushes in sculpt mode.
|
New brushes can be found as Draw brushes in sculpt mode.
|
||||||
The add-on won't create any preview images for these brushes.
|
The add-on won't create any preview images for these brushes.
|
||||||
|
|
||||||
|
|
||||||
Tips
|
Tips
|
||||||
----
|
----
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ Transform
|
|||||||
Scale
|
Scale
|
||||||
Factor to increase the physical size of the BVH.
|
Factor to increase the physical size of the BVH.
|
||||||
Rotation
|
Rotation
|
||||||
.. todo:: |TODO|
|
Rotation order of the BVH.
|
||||||
Forward / Up
|
Forward / Up
|
||||||
Since many applications use a different axis for pointing upwards, these are axis conversion for these settings,
|
Since many applications use a different axis for pointing upwards, these are axis conversion for these settings,
|
||||||
Forward and up axes -- By mapping these to different axes you can convert rotations
|
Forward and up axes -- By mapping these to different axes you can convert rotations
|
||||||
@ -67,7 +67,7 @@ Transform
|
|||||||
Scale
|
Scale
|
||||||
Factor to increase the physical size of the BVH.
|
Factor to increase the physical size of the BVH.
|
||||||
Rotation
|
Rotation
|
||||||
TODO.
|
Rotation order of the BVH.
|
||||||
Root Translation Only
|
Root Translation Only
|
||||||
Only write the translation animation channels for the root bone.
|
Only write the translation animation channels for the root bone.
|
||||||
|
|
||||||
|
@ -8,4 +8,54 @@ Camera Animation
|
|||||||
:Category: Import-Export
|
:Category: Import-Export
|
||||||
:Menu: :menuselection:`File --> Export --> Cameras & Markers (.py)`
|
:Menu: :menuselection:`File --> Export --> Cameras & Markers (.py)`
|
||||||
|
|
||||||
Todo.
|
Exports a .py file containing information about the animation of cameras in the scene.
|
||||||
|
This file can be used to 'import' these cameras and their animation to another .blend file.
|
||||||
|
|
||||||
|
|
||||||
|
Exported Data
|
||||||
|
=============
|
||||||
|
|
||||||
|
This is the type of data associated with the camera that get included in the .py file.
|
||||||
|
|
||||||
|
|
||||||
|
Static Data
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- Shift X
|
||||||
|
- Shift Y
|
||||||
|
- Depth of Field Focus Distance
|
||||||
|
- Clip Start
|
||||||
|
- Clip End
|
||||||
|
- Viewport Display Size
|
||||||
|
- Render Visibility
|
||||||
|
|
||||||
|
|
||||||
|
Animated Data
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- Focal Length
|
||||||
|
- Location
|
||||||
|
- Rotation
|
||||||
|
- Scale
|
||||||
|
|
||||||
|
|
||||||
|
Properties
|
||||||
|
==========
|
||||||
|
|
||||||
|
Export
|
||||||
|
------
|
||||||
|
|
||||||
|
Transform
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
Start / End
|
||||||
|
Sets the range of animation frames to export to the .py file.
|
||||||
|
Only Selected
|
||||||
|
Toggle between exporting only selected cameras or all cameras in the scene.
|
||||||
|
|
||||||
|
|
||||||
|
Import
|
||||||
|
------
|
||||||
|
|
||||||
|
To import the .py file, go to Blender's Text Editor.
|
||||||
|
:menuselection:`Text --> Open --> YourExportedFile (.py)`
|
||||||
|
@ -52,7 +52,7 @@ Compositing Nodes
|
|||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Setup Corner Pin
|
Setup Corner Pin
|
||||||
Add a compositing setup of the Image Texture, Scale, and :doc:`Corner Pin </compositing/types/distort/corner_pin>`
|
Add a compositing setup of the Image Texture, Scale, and :doc:`Corner Pin </compositing/types/transform/corner_pin>`
|
||||||
nodes to inject a warped view of the image into the compositor output. The add-on adds drivers to
|
nodes to inject a warped view of the image into the compositor output. The add-on adds drivers to
|
||||||
the corner values of the Corner Pin node so that transforms of the plane and camera drive them.
|
the corner values of the Corner Pin node so that transforms of the plane and camera drive them.
|
||||||
Make sure to have an active camera in the scene before the import.
|
Make sure to have an active camera in the scene before the import.
|
||||||
|
@ -12,7 +12,8 @@ Especially for exporting from Blender materials, the node system must follow som
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Currently, only the :doc:`FBX </addons/import_export/scene_fbx>` IO add-on uses this method.
|
Currently, only the :doc:`FBX </addons/import_export/scene_fbx>`
|
||||||
|
and the :doc:`3DS </addons/import_export/scene_3ds>` IO add-on uses this method.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
@ -51,6 +52,8 @@ Principled BSDF
|
|||||||
- Metallic
|
- Metallic
|
||||||
- IOR
|
- IOR
|
||||||
- Transmission
|
- Transmission
|
||||||
|
- Emission
|
||||||
|
- Emission Strength
|
||||||
- Alpha
|
- Alpha
|
||||||
|
|
||||||
Normal Map
|
Normal Map
|
||||||
|
@ -7,8 +7,8 @@ Autodesk 3DS
|
|||||||
|
|
||||||
:Category: Import-Export
|
:Category: Import-Export
|
||||||
:Menu: :menuselection:`File --> Import/Export --> 3D Studio (.3ds)`
|
:Menu: :menuselection:`File --> Import/Export --> 3D Studio (.3ds)`
|
||||||
:Version: 2.4.6
|
:Version: 2.4.8
|
||||||
:Blender: 3.6
|
:Blender: 4.0
|
||||||
:Authors: Bob Holcomb, Campbell Barton, Sebastian Schrand
|
:Authors: Bob Holcomb, Campbell Barton, Sebastian Schrand
|
||||||
:Maintainer: Sebastian Sille (NRGSille)
|
:Maintainer: Sebastian Sille (NRGSille)
|
||||||
:Support Level: Community
|
:Support Level: Community
|
||||||
@ -56,12 +56,18 @@ Constrain Size
|
|||||||
To disable set the *Size Constraint* to zero.
|
To disable set the *Size Constraint* to zero.
|
||||||
|
|
||||||
Scene Units
|
Scene Units
|
||||||
Converts the scale of all objects to the scene unit length settings. Blender uses meter scale,
|
Converts the scale of all objects to the scene unit length settings. Blender uses meter scale,
|
||||||
but many 3ds files have millimeter unit scale, especially the ones exported from CAD applications.
|
but many 3ds files have millimeter unit scale, especially the ones exported from CAD applications.
|
||||||
If millimeters are expected to import, set the scene unit length settings to *Millimeters*.
|
If millimeters are expected to import, set the scene unit length settings to *Millimeters*.
|
||||||
|
The meshes can also be converted to imperial unit measures if this is enabled in the scene units.
|
||||||
|
|
||||||
|
Pivot Origin
|
||||||
|
Moves all geometry to the pivot origin. Enable this option for transformed pivot centers to move
|
||||||
|
the geometry back to its origin.
|
||||||
|
|
||||||
Apply Transform
|
Apply Transform
|
||||||
Applies object transformations after importing. If unchecked, all objects will stay at its origins.
|
Applies object transformations after importing. If unchecked, all transformations will be cleared
|
||||||
|
and the objects will stay at its origins.
|
||||||
|
|
||||||
World Space
|
World Space
|
||||||
Use world matrix instead of local matrix to transform the objects.
|
Use world matrix instead of local matrix to transform the objects.
|
||||||
@ -106,7 +112,7 @@ Transform
|
|||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
||||||
Scale Factor
|
Scale Factor
|
||||||
The global scale factor for export. There are no unit scale definitions in a 3ds file,
|
The global scale factor for export. There are no unit scale definitions in a 3ds file,
|
||||||
only the float values are stored. Blender will use meters for export but many applications,
|
only the float values are stored. Blender will use meters for export but many applications,
|
||||||
like 3ds MAX\ :sup:`®`, are using millimeters. This option defines the scale factor to use for export.
|
like 3ds MAX\ :sup:`®`, are using millimeters. This option defines the scale factor to use for export.
|
||||||
If millimeters are desired, the scale factor has to be setted to 1000.
|
If millimeters are desired, the scale factor has to be setted to 1000.
|
||||||
@ -114,6 +120,7 @@ Scale Factor
|
|||||||
Scene Units
|
Scene Units
|
||||||
Takes the scene unit length settings into account to export the real size of the objects.
|
Takes the scene unit length settings into account to export the real size of the objects.
|
||||||
If the settings are millimeters, the exported scene will be scaled up since Blender uses meters for unit scale.
|
If the settings are millimeters, the exported scene will be scaled up since Blender uses meters for unit scale.
|
||||||
|
Also imperial unit measures are supported, the exporter will convert the mesh to the selected scene unit.
|
||||||
|
|
||||||
Forward / Up Axis
|
Forward / Up Axis
|
||||||
Since many applications use a different axis for pointing upwards,
|
Since many applications use a different axis for pointing upwards,
|
||||||
@ -156,7 +163,7 @@ they must be color inverted afterwards to match with Blender definition.
|
|||||||
The material mappings are defined as following:
|
The material mappings are defined as following:
|
||||||
|
|
||||||
- 3ds Diffuse Map <-> blender Base Color Texture
|
- 3ds Diffuse Map <-> blender Base Color Texture
|
||||||
- 3ds Specular Map <-> blender Specular Texture
|
- 3ds Specular Map <-> blender Specular Tint Texture
|
||||||
- 3ds Shininess Map <-> blender Roughness Texture
|
- 3ds Shininess Map <-> blender Roughness Texture
|
||||||
- 3ds Reflection Map <-> blender Metallic Texture
|
- 3ds Reflection Map <-> blender Metallic Texture
|
||||||
- 3ds Opacity Map <-> blender Alpha Texture
|
- 3ds Opacity Map <-> blender Alpha Texture
|
||||||
@ -189,16 +196,17 @@ the exporter creates a smooth chunk if the mesh contains any smooth faces.
|
|||||||
Ambient
|
Ambient
|
||||||
=======
|
=======
|
||||||
|
|
||||||
If ambient chunks are found by the importer, a new world with the ambient color will be created.
|
If ambient chunks are found by the importer, a new world with the ambient color will be created. Ambient keyframes
|
||||||
Ambient keyframes will be imported to the timeline and background color to the world background node.
|
will be imported to the timeline and background color to the world background node. If a background image is found, it
|
||||||
If a background image is found, it will be connected to the background node and if fog chunks are found,
|
will be connected to the background node and if fog chunks are found, volume shaders with the fog settings will be
|
||||||
volume shaders with the fog settings will be connected to the world output. If ambient is animated, an ambient node
|
connected to the world output. If ambient is animated, an ambient node will be created and connected to a mixshader.
|
||||||
will be created and connected to a mixshader. Gradient chunks will be imported to a color ramp node.
|
Gradient chunks will be imported to a color ramp node. The exporter can export these settings and will also accept an
|
||||||
The exporter can export these settings and will also accept an add-shader instead of a mixshader, images are taken from the background input.
|
add-shader instead of a mixshader, images are taken from the background input. The exporter creates an ambient chunk
|
||||||
The exporter creates an ambient chunk with the color of the active world and creates background chunks with color or image if
|
with the color of the active world and creates background chunks with color or image if the nodes are connected to
|
||||||
the nodes are connected to world output or mix and add shader. Ambient color animations can primary be exported from the world color.
|
world output or mix and add shader. Ambient color animations can primary be exported from the world color. If nodes
|
||||||
If nodes are used, the exporter checks the RGB input node and the emission shader for color animations and writes an ambient track node chunk.
|
are used, the exporter checks the RGB input node and the emission shader for color animations and writes an ambient
|
||||||
If a color ramp node is connected to background or colormix node and includes at least three colors, the exporter will create a gradient chunk.
|
track node chunk. If a color ramp node is connected to background or colormix node and includes at least three colors,
|
||||||
|
the exporter will create a gradient chunk.
|
||||||
|
|
||||||
.. figure:: /images/addons_io_3ds_world-nodes.jpg
|
.. figure:: /images/addons_io_3ds_world-nodes.jpg
|
||||||
|
|
||||||
@ -208,9 +216,13 @@ If a color ramp node is connected to background or colormix node and includes at
|
|||||||
Lights
|
Lights
|
||||||
======
|
======
|
||||||
|
|
||||||
Lights in 3DS Studio can be a point source or a spotlight, they can be animated,
|
Lights in 3DS Studio can be a point source or a spotlight,
|
||||||
using color and energy data and a target for the spotlight. The lights can be imported and exported,
|
they use color and energy data and a target for the spotlight.
|
||||||
target data is calculated to Z and X axis angle for pan and tilt, Y is used for the roll angle.
|
The color and position of a light can be animated, the spotlight additionally has a target, beam angle and hotspot,
|
||||||
|
wich can be animated. The lights and animation can be imported and exported, the spotlight can contain a projection
|
||||||
|
bitmap, if an image is connected to a emission or colormixer, it will be exported. The x/y scale of a spotlight will
|
||||||
|
be exported in an aspect ratio chunk, the importer can calculate it back to x/y scale. The target data is calculated
|
||||||
|
to Z and X axis angle for pan and tilt, Y is used for the roll angle.
|
||||||
|
|
||||||
|
|
||||||
Cameras
|
Cameras
|
||||||
|
@ -42,6 +42,16 @@ compared to Blender, as such vertices are separated for export.
|
|||||||
Likewise, curves and other non-mesh data are not preserved,
|
Likewise, curves and other non-mesh data are not preserved,
|
||||||
and must be converted to meshes prior to export.
|
and must be converted to meshes prior to export.
|
||||||
|
|
||||||
|
GPU Instances
|
||||||
|
-------------
|
||||||
|
|
||||||
|
When the option is enable in Exporter, instances are exported using the ``EXT_mesh_gpu_instancing`` extension.
|
||||||
|
There are some limitations, at export:
|
||||||
|
- Instances must be meshes, and don't have any children themselves
|
||||||
|
- Instances must all be children of the same object.
|
||||||
|
- This extension doesn't manage material variation. That means that the generated file may include all instances with same materials.
|
||||||
|
- Instances detected are objects sharing the same mesh data.
|
||||||
|
At import, instances are created by creating objects sharing the same mesh data.
|
||||||
|
|
||||||
Materials
|
Materials
|
||||||
=========
|
=========
|
||||||
@ -257,9 +267,9 @@ All Image Texture nodes used for clearcoat shading should have their *Color Spac
|
|||||||
Sheen
|
Sheen
|
||||||
^^^^^
|
^^^^^
|
||||||
|
|
||||||
When the *Velvet BSDF* node is used in addition to Principled BSDF node, the ``KHR_materials_sheen`` glTF
|
When the *Sheen BSDF* node is used in addition to Principled BSDF node, the ``KHR_materials_sheen`` glTF
|
||||||
extension will be included in the export. The Sheen Color will be exported from Color socket of Velvet node.
|
extension will be included in the export. The Sheen Color will be exported from Color socket of Sheen node.
|
||||||
Sheen Roughness will be exported from Sigma socket.
|
Sheen Roughness will be exported from Roughness socket.
|
||||||
|
|
||||||
If a Sheen Roughness Texture is used, glTF requires the values be written to the alpha (``A``) channel.
|
If a Sheen Roughness Texture is used, glTF requires the values be written to the alpha (``A``) channel.
|
||||||
|
|
||||||
@ -267,7 +277,7 @@ If a Sheen Roughness Texture is used, glTF requires the values be written to the
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
Velvet BSDF node is only available on Cycles render engine.
|
Sheen BSDF node is only available on Cycles render engine.
|
||||||
You may have to temporary switch to Cycles to add this node, and get back to Eevee.
|
You may have to temporary switch to Cycles to add this node, and get back to Eevee.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -276,7 +286,7 @@ If a Sheen Roughness Texture is used, glTF requires the values be written to the
|
|||||||
the resulting shader is not fully energy conservative.
|
the resulting shader is not fully energy conservative.
|
||||||
You may find some difference between Blender render, and glTF render.
|
You may find some difference between Blender render, and glTF render.
|
||||||
Sheen models are not fully compatible between Blender and glTF.
|
Sheen models are not fully compatible between Blender and glTF.
|
||||||
This trick about adding Velvet Shader is the most accurate
|
This trick about adding Sheen Shader is the most accurate
|
||||||
approximation (better that using Sheen Principled sockets).
|
approximation (better that using Sheen Principled sockets).
|
||||||
|
|
||||||
|
|
||||||
@ -569,6 +579,7 @@ are supported directly by this add-on:
|
|||||||
- ``KHR_lights_punctual``
|
- ``KHR_lights_punctual``
|
||||||
- ``KHR_texture_transform``
|
- ``KHR_texture_transform``
|
||||||
- ``KHR_mesh_quantization``
|
- ``KHR_mesh_quantization``
|
||||||
|
- ``EXT_mesh_gpu_instancing``
|
||||||
|
|
||||||
|
|
||||||
.. rubric:: Export
|
.. rubric:: Export
|
||||||
@ -585,6 +596,7 @@ are supported directly by this add-on:
|
|||||||
- ``KHR_materials_ior``
|
- ``KHR_materials_ior``
|
||||||
- ``KHR_materials_variants``
|
- ``KHR_materials_variants``
|
||||||
- ``KHR_texture_transform``
|
- ``KHR_texture_transform``
|
||||||
|
- ``EXT_mesh_gpu_instancing``
|
||||||
|
|
||||||
|
|
||||||
Third-party glTF Extensions
|
Third-party glTF Extensions
|
||||||
@ -795,11 +807,16 @@ Bone Direction
|
|||||||
Changes the heuristic the importer uses to decide where to place bone tips.
|
Changes the heuristic the importer uses to decide where to place bone tips.
|
||||||
Note that the Fortune setting may cause inaccuracies in models that use non-uniform scaling.
|
Note that the Fortune setting may cause inaccuracies in models that use non-uniform scaling.
|
||||||
Otherwise this is purely aesthetic.
|
Otherwise this is purely aesthetic.
|
||||||
|
The default value will not change axis, and is best for re-exporting from Blender.
|
||||||
|
This default option will change display mode (adding shape and changing relationship line) to have a better view,
|
||||||
|
even if original bones axis are not the most accurate (estheticaly speaking)
|
||||||
Lighting Mode
|
Lighting Mode
|
||||||
Optional backwards compatibility for non-standard render engines. Applies to lights.
|
Optional backwards compatibility for non-standard render engines. Applies to lights.
|
||||||
Standard: Physically-based glTF lighting units (cd, lx, nt).
|
Standard: Physically-based glTF lighting units (cd, lx, nt).
|
||||||
Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available
|
Unitless: Non-physical, unitless lighting. Useful when exposure controls are not available
|
||||||
Raw (Deprecated): Blender lighting strengths with no conversion
|
Raw (Deprecated): Blender lighting strengths with no conversion
|
||||||
|
Import Webp textures
|
||||||
|
If a texture exists in webp format, loads the webp texture instead of the fallback png/jpg one.
|
||||||
|
|
||||||
|
|
||||||
Export
|
Export
|
||||||
@ -850,6 +867,11 @@ Transform
|
|||||||
Y Up
|
Y Up
|
||||||
Export using glTF convention, +Y up.
|
Export using glTF convention, +Y up.
|
||||||
|
|
||||||
|
Data - Scene Graph
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
GPU Instances
|
||||||
|
Export using ``EXT_mesh_gpu_instancing`` extensions.
|
||||||
|
|
||||||
Data - Mesh
|
Data - Mesh
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
@ -881,9 +903,15 @@ Materials
|
|||||||
Images
|
Images
|
||||||
Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for
|
Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for
|
||||||
web applications due to the smaller file size.
|
web applications due to the smaller file size.
|
||||||
|
If webp is chosen, all textures will be saved as Webp, without any png/jpg fallback.
|
||||||
If None is chosen, materials are exported without textures.
|
If None is chosen, materials are exported without textures.
|
||||||
JPEG Quality
|
Image Quality
|
||||||
When exporting jpeg files, the quality of the exported file.
|
When exporting jpeg or Webp files, the quality of the exported file.
|
||||||
|
Create Webp
|
||||||
|
Creates webp textures for every textures, in addition to the existing texture.
|
||||||
|
For already webp textures, nothing happen.
|
||||||
|
Webp fallback
|
||||||
|
For all webp textures, create a png fallback texture.
|
||||||
Export Original PBR Specular
|
Export Original PBR Specular
|
||||||
When On, specular data are exported from glTF Material Output node,
|
When On, specular data are exported from glTF Material Output node,
|
||||||
Instead of using sockets from Principled BSDF Node.
|
Instead of using sockets from Principled BSDF Node.
|
||||||
@ -898,6 +926,14 @@ Shape Key Normals
|
|||||||
Shape Key Tangents
|
Shape Key Tangents
|
||||||
Export vertex tangents with shape keys (morph targets).
|
Export vertex tangents with shape keys (morph targets).
|
||||||
|
|
||||||
|
Data - Shape Keys - Optimize
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Use Sparse Accessor if better
|
||||||
|
Sparse Accessor will be used if it save space (if the exported file is smaller)
|
||||||
|
Omitting Sparse Accessor if data is empty
|
||||||
|
If data is empty, omit to export SParce Accessor. Not all viewer managed it correctly, so this option is Off by default
|
||||||
|
|
||||||
Data - Armature
|
Data - Armature
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -914,8 +950,11 @@ Data - Skinning
|
|||||||
|
|
||||||
Export skinning data
|
Export skinning data
|
||||||
|
|
||||||
|
Bone influences
|
||||||
|
How many joint verex influences will be exported. Models may appear incorrectly in many viewers with value different to 4 or 8.
|
||||||
|
|
||||||
Include All Bone Influences
|
Include All Bone Influences
|
||||||
Allow more than 4 joint vertex influences. Models may appear incorrectly in many viewers.
|
Export all joint vertex influences. Models may appear incorrectly in many viewers.
|
||||||
|
|
||||||
Data - Lighting
|
Data - Lighting
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
@ -31,12 +31,6 @@ Render Settings
|
|||||||
note its Python name (e.g. ``resolution_x`` for the X resolution, etc.),
|
note its Python name (e.g. ``resolution_x`` for the X resolution, etc.),
|
||||||
and enable the corresponding item in this list.
|
and enable the corresponding item in this list.
|
||||||
|
|
||||||
.. important::
|
|
||||||
|
|
||||||
This will only work if you have a Blender patched with ``ui_template_list diff``,
|
|
||||||
see `UI Template List Enhancement
|
|
||||||
<https://archive.blender.org/wiki/index.php/User:Mont29/UI_Template_List_Enhancement/>`__.
|
|
||||||
|
|
||||||
Presets
|
Presets
|
||||||
The column of buttons to the right of the list are a set of presets
|
The column of buttons to the right of the list are a set of presets
|
||||||
which set or clear one or more settings at once.
|
which set or clear one or more settings at once.
|
||||||
@ -50,19 +44,11 @@ Presets
|
|||||||
Copy the render resolution and aspect ratio settings.
|
Copy the render resolution and aspect ratio settings.
|
||||||
Beware of side effects if you modify the aspect of your render (e.g. switching from: 4/3 to 16/9...).
|
Beware of side effects if you modify the aspect of your render (e.g. switching from: 4/3 to 16/9...).
|
||||||
|
|
||||||
Set OSA/Clear OSA
|
|
||||||
Copy the global :abbr:`OSA (Oversampling)` usage, and OSA level settings.
|
|
||||||
Together with *Render Scale*, this is most useful for preview renders.
|
|
||||||
|
|
||||||
Set Threads/Clear Threads
|
Set Threads/Clear Threads
|
||||||
Copy the settings (auto/fixed, and number) of threads used during rendering.
|
Copy the settings (auto/fixed, and number) of threads used during rendering.
|
||||||
Might be useful when e.g. you render your blend-files on various computers
|
Might be useful when e.g. you render your blend-files on various computers
|
||||||
(even though the *Auto* option should work good in general...).
|
(even though the *Auto* option should work good in general...).
|
||||||
|
|
||||||
Set Fields/Clear Fields
|
|
||||||
Copy all fields settings.
|
|
||||||
Allows you to easily switch from progressive to interlaced...
|
|
||||||
|
|
||||||
Set Stamp/Clear Stamp
|
Set Stamp/Clear Stamp
|
||||||
Copy whether to render stamps or not (i.e. the global stamp switch setting).
|
Copy whether to render stamps or not (i.e. the global stamp switch setting).
|
||||||
|
|
||||||
|
@ -64,14 +64,14 @@ Rigify Human Alignment Tips
|
|||||||
they are almost useless if you plan to make facial animation through shape keys.
|
they are almost useless if you plan to make facial animation through shape keys.
|
||||||
Consider removing face features from your character if they aren't really needed.
|
Consider removing face features from your character if they aren't really needed.
|
||||||
If you don't need the face all the face bones can be deleted.
|
If you don't need the face all the face bones can be deleted.
|
||||||
All the face bones are on the first armature layer by default.
|
All the face bones are in the *Face* armature bone collection by default.
|
||||||
You can select them by displaying only bone layer 1, selecting all of its content and
|
You can select them by displaying only that collection, selecting all of its content and
|
||||||
then deleting the bones in Edit Mode to correctly remove the face.
|
then deleting the bones in Edit Mode to correctly remove the face.
|
||||||
|
|
||||||
If you want to scale all the face bones at once, consider scaling the face master bone
|
If you want to scale all the face bones at once, consider scaling the face master bone
|
||||||
in Pose Mode (see Pose Mode matching method).
|
in Pose Mode (see Pose Mode matching method).
|
||||||
The face master bone is placed in the same position of the head bone.
|
The face master bone is placed in the same position of the head bone.
|
||||||
To select it easily, hide all other bone layers.
|
To select it easily, hide all other bone collections.
|
||||||
|
|
||||||
For more tips, see the :doc:`Positioning Guide </addons/rigging/rigify/bone_positioning>`.
|
For more tips, see the :doc:`Positioning Guide </addons/rigging/rigify/bone_positioning>`.
|
||||||
|
|
||||||
@ -147,13 +147,13 @@ Binding the Geometry to the Rig
|
|||||||
|
|
||||||
To bind the geometry to the rig you can use your preferred tools. Just few things you have to know:
|
To bind the geometry to the rig you can use your preferred tools. Just few things you have to know:
|
||||||
|
|
||||||
- All the deforming bones are on the armature layer 30.
|
- All the deforming bones are in the *DEF* bone collection.
|
||||||
- Eyes and Teeth bones of the legacy face are not deforming. You are supposed to bind the eyes and
|
- Eyes and Teeth bones of the legacy face are not deforming. You are supposed to bind the eyes and
|
||||||
teeth geometry through Child Of constraints.
|
teeth geometry through Child Of constraints.
|
||||||
- Usually armature deform with automatic weights do a really good job out of the box
|
- Usually armature deform with automatic weights do a really good job out of the box
|
||||||
if you correctly place your bones (and there is enough topology to work with!).
|
if you correctly place your bones (and there is enough topology to work with!).
|
||||||
|
|
||||||
For more detailed information on armature layers, Armature modifier and weight painting refer to the Blender manual.
|
For more detailed information on bone collections, Armature modifier and weight painting refer to the Blender manual.
|
||||||
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.rigify:
|
.. _bpy.types.Armature.rigify:
|
||||||
@ -172,27 +172,36 @@ By using options in the Advanced sub-panel, it is possible to:
|
|||||||
- Choose whether to use linked duplicates for left and right side widgets.
|
- Choose whether to use linked duplicates for left and right side widgets.
|
||||||
- Execute a script data-block after generation.
|
- Execute a script data-block after generation.
|
||||||
|
|
||||||
|
|
||||||
Advanced Options Sub-Panel
|
Advanced Options Sub-Panel
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_basics_advanced-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
Advanced rig generation options are by default hidden in a sub-panel. Click on the *Advanced* line to open it.
|
Advanced rig generation options are by default hidden in a sub-panel. Click on the *Advanced* line to open it.
|
||||||
|
|
||||||
Some of the options will be automatically set by Rigify if they have no value when a rig is generated,
|
Some of the options will be automatically set by Rigify if they have no value when a rig is generated,
|
||||||
while others are fully controlled by the user.
|
while others are fully controlled by the user.
|
||||||
|
|
||||||
Target Rig :guilabel:`auto`
|
Rig Name
|
||||||
This option specifies the generated rig to overwrite when re-generating from this metarig.
|
When a brand new rig is generated, as opposed to overwriting an existing one, the value of this option
|
||||||
|
is used to name it.
|
||||||
|
|
||||||
If the option is not set, Rigify will generate a new rig object and store it in this option.
|
If this field is empty, the new object will be named based on the name of the metarig according
|
||||||
The new object will be named based on the name of the metarig according to the following rules:
|
to the following rules:
|
||||||
|
|
||||||
* If the name contains ``META``, it is replaced with ``RIG``.
|
* If the name contains ``META``, it is replaced with ``RIG``.
|
||||||
* If the name contains ``metarig``, it is replaced with ``rig``.
|
* If the name contains ``metarig``, it is replaced with ``rig``.
|
||||||
* Otherwise, ``RIG-`` is prepended to the name.
|
* Otherwise, ``RIG-`` is prepended to the name.
|
||||||
|
|
||||||
When overwriting an existing rig object specified by the option, its name is not changed,
|
When overwriting an existing rig object specified by the *Target Rig* option, its name is not changed,
|
||||||
allowing it to be freely renamed if the default naming scheme doesn't fit.
|
allowing it to be freely renamed without having to keep the value of this option in sync.
|
||||||
|
|
||||||
|
Target Rig :guilabel:`auto`
|
||||||
|
This option specifies the generated rig to overwrite when re-generating from this metarig.
|
||||||
|
|
||||||
|
If the option is not set, Rigify will generate a new rig object and store it in this option.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -204,13 +213,13 @@ Rig UI Script :guilabel:`auto`
|
|||||||
works in the same manner as *Target Rig*.
|
works in the same manner as *Target Rig*.
|
||||||
|
|
||||||
The script controls the UI in the 3D Viewport that allows conveniently switching visible
|
The script controls the UI in the 3D Viewport that allows conveniently switching visible
|
||||||
bone layers, changing custom properties, converting between IK and FK and so on.
|
bone collections, changing custom properties, converting between IK and FK and so on.
|
||||||
|
|
||||||
Widgets Collection :guilabel:`auto`
|
Widgets Collection :guilabel:`auto`
|
||||||
This reference specifies the collection containing generated widgets, and
|
This reference specifies the collection containing generated widgets, and
|
||||||
works in the same manner as *Target Rig*.
|
works in the same manner as *Target Rig*.
|
||||||
|
|
||||||
Force Widget Update
|
Overwrite Widget Meshes
|
||||||
If enabled, Rigify will generate new widgets every time the rig is re-generated. By default,
|
If enabled, Rigify will generate new widgets every time the rig is re-generated. By default,
|
||||||
it tries to reuse the already generated widget objects that exist in the widget collection,
|
it tries to reuse the already generated widget objects that exist in the widget collection,
|
||||||
allowing them to be manually edited to fit the character better.
|
allowing them to be manually edited to fit the character better.
|
||||||
|
@ -5,7 +5,8 @@ Creating Meta-rigs
|
|||||||
|
|
||||||
#. Add a single bone from the :menuselection:`Add --> Armature` menu.
|
#. Add a single bone from the :menuselection:`Add --> Armature` menu.
|
||||||
#. Go in armature Edit Mode and build the meta rig by samples or Rigify-types.
|
#. Go in armature Edit Mode and build the meta rig by samples or Rigify-types.
|
||||||
#. Define Rigify layers, bone grouping and selection sets.
|
#. Define the :ref:`Rigify bone collection UI <bpy.types.BoneCollection.rigify_ui_row>`,
|
||||||
|
:ref:`color sets <bpy.types.Armature.rigify_colors>`, and selection sets.
|
||||||
#. In the armature properties click on the *Generate* button to generate the rig.
|
#. In the armature properties click on the *Generate* button to generate the rig.
|
||||||
|
|
||||||
|
|
||||||
@ -59,7 +60,7 @@ Just add a single bone from the *Add* menu.
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
At this stage naming the newly added armature "meta-rig" is a good idea.
|
At this stage naming the newly added armature ``metarig`` is a good idea.
|
||||||
You can do it at any time (or not at all) but it's suggested to do it before going on
|
You can do it at any time (or not at all) but it's suggested to do it before going on
|
||||||
so it will always be clear on which armature you have to work when editing the meta-rig structure.
|
so it will always be clear on which armature you have to work when editing the meta-rig structure.
|
||||||
|
|
||||||
@ -77,7 +78,7 @@ Building a meta-rig from scratch in Edit Mode can be done in two ways:
|
|||||||
Adding Samples (Basic)
|
Adding Samples (Basic)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Adding samples in Edit Mode is a good way to start building a meta-rig.
|
Adding pre-defined samples in Edit Mode is a good way to start building a meta-rig.
|
||||||
This way you can become familiar with the available building blocks and how they are meant to be used.
|
This way you can become familiar with the available building blocks and how they are meant to be used.
|
||||||
To add a rig sample:
|
To add a rig sample:
|
||||||
|
|
||||||
@ -90,11 +91,38 @@ To add a rig sample:
|
|||||||
For the list of available samples, see the :doc:`Rig Types </addons/rigging/rigify/rig_types/index>` page.
|
For the list of available samples, see the :doc:`Rig Types </addons/rigging/rigify/rig_types/index>` page.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.PoseBone.rigify_type:
|
||||||
|
.. _bpy.types.RigifyParameters:
|
||||||
|
|
||||||
Using Rig Types (Advanced)
|
Using Rig Types (Advanced)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
#. Create your bone chains in Edit Mode.
|
.. figure:: /images/addons_rigging_rigify_metarigs_rigify-type-panel.png
|
||||||
#. Assign the correct rig type to the first bone of each chain in Pose Mode.
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
For full control, you can use the Rigify Type panel of bone properties in Pose Mode to assign
|
||||||
|
any Rigify sub-rig type to any bone, as well as change its options.
|
||||||
|
|
||||||
|
For the list of available sub-rig types and their options, see the :doc:`Rig Types </addons/rigging/rigify/rig_types/index>` page.
|
||||||
|
|
||||||
|
At the top of the panel you can find a field specifying the rig type for the active bone. The drop-down list
|
||||||
|
can be optionally filtered by the :doc:`Feature Set </addons/rigging/rigify/feature_sets>` it belongs to.
|
||||||
|
|
||||||
|
Below that you can change options relevant to the selected rig type, if it has any.
|
||||||
|
|
||||||
|
Bone Collection References
|
||||||
|
""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
Some rig types that generate many control bones have options that reference
|
||||||
|
:ref:`Bone Collections <bpy.types.BoneCollection.rigify_ui_row>`. These reference lists have a standard UI with
|
||||||
|
the following features:
|
||||||
|
|
||||||
|
* A checkbox controlling whether the reference should be used.
|
||||||
|
* A button to copy the reference list contents from the active to all selected bones.
|
||||||
|
* A plus button to add a new reference to the list.
|
||||||
|
* A list of references, each entry with a field to specify the target collection,
|
||||||
|
and a button to remove the entry from the list.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -113,7 +141,7 @@ Using Rig Types (Advanced)
|
|||||||
Custom Root Bone
|
Custom Root Bone
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
If the meta-rig contains a bone called "root", it is used as the root control bone instead of creating a new one.
|
If the meta-rig contains a bone called ``root``, it is used as the root control bone instead of creating a new one.
|
||||||
This allows changing the rest position of the root bone, assigning a custom widget,
|
This allows changing the rest position of the root bone, assigning a custom widget,
|
||||||
or adding custom properties to the bone.
|
or adding custom properties to the bone.
|
||||||
|
|
||||||
@ -121,71 +149,130 @@ The custom root bone must have no parent, and use the :ref:`basic.raw_copy <rigi
|
|||||||
type or none.
|
type or none.
|
||||||
|
|
||||||
|
|
||||||
Layers, Bone Groups & Selection Sets
|
.. _bpy.types.Armature.rigify_colors:
|
||||||
====================================
|
|
||||||
|
|
||||||
:ref:`Armature Layers <bpy.types.Armature.layers>` are usually used to isolate bones.
|
Color Sets
|
||||||
Rigify can take advantage of armature layer to generate extra features and the user interface for the final rig.
|
==========
|
||||||
Rigify layers are displayed in a vertical layout inside their own separate panel named Rigify Layer Names.
|
|
||||||
|
|
||||||
- The first column shows the layer number.
|
.. figure:: /images/addons_rigging_rigify_metarigs_color-sets-panel.png
|
||||||
- The second column is a display toggle.
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
This toggle controls the armature layer visibility.
|
The Color Sets panel is used to define the bone color scheme for the final rig. The colors from the list
|
||||||
It has the same effect of enabling/disabling the layer visibility from the top armature layers menu.
|
can be associated with bone collections from the relevant panel.
|
||||||
It is just redrawn here for a simplicity.
|
|
||||||
|
|
||||||
- The third column sets a specific layer name to be used to build the rig UI of the final rig.
|
The top two rows of the Color Sets panel are used to define the general behavior of the bone colors.
|
||||||
If set, a button with the specified name will be created in the ``rig_ui_template`` to control the visibility of
|
|
||||||
this specific armature layer. If layer contains at least one bone but its name field is empty,
|
|
||||||
a button with no name will be created in the rig UI.
|
|
||||||
|
|
||||||
- The fourth column defines in which UI row the layer button will be created.
|
|
||||||
|
|
||||||
This numbers define the layer ordering in the UI and will ignore the effective layer number.
|
|
||||||
If two layer have the same row number their UI buttons will be created in the same row.
|
|
||||||
|
|
||||||
- The fifth column is a toggle for the selection set.
|
|
||||||
|
|
||||||
If checked a selection set with that name will be created and associated to the final rig.
|
|
||||||
|
|
||||||
- The sixth column defines the Rigify Bone Grouping.
|
|
||||||
|
|
||||||
If Rigify Bone Groups are set, the user can make the association between
|
|
||||||
the bones on the layer and the specified bone group from the list.
|
|
||||||
The controls on the final rig will inherit the bone grouping through this value.
|
|
||||||
|
|
||||||
- The seventh column displays -- if set -- the associated bone group name.
|
|
||||||
|
|
||||||
In order to use the Bone Groups in the *Rigify Layer Names* fields,
|
|
||||||
*Rigify Bone Groups* must be set through the specific panel.
|
|
||||||
Usually this panel is displayed just above Rigify Layer Names panel.
|
|
||||||
|
|
||||||
Rigify Bone Groups are used to define bone colors on the final rig.
|
|
||||||
The top two rows of the Rigify Bone Groups panel are used to define the bone colors general behavior.
|
|
||||||
Usually color themes use a gradient of colors to define the different bone states: default, selected and active.
|
Usually color themes use a gradient of colors to define the different bone states: default, selected and active.
|
||||||
When multiple color themes are used in the same rig, identifying which bone is selected or
|
When multiple color themes are used in the same rig, identifying which bone is selected or
|
||||||
active can be tricky since each color will have its corresponding state.
|
active can be tricky since each color will have its corresponding state.
|
||||||
|
|
||||||
To override this behavior Rigify Bone Groups unifies the active and selected states with the same color.
|
To override this behavior Rigify unifies the active and selected states using the same color.
|
||||||
This is defined by two values:
|
This is defined by two values:
|
||||||
|
|
||||||
Unified Selected/Active Colors
|
Unified Selected/Active Colors
|
||||||
When this option is active adding a bone group in the list will always keep the colors consistent.
|
When this option is active adding a bone group in the list will always keep the colors consistent.
|
||||||
When a color scheme is added as from a theme, the color scheme is loaded as is.
|
When a color scheme is added from a theme, the color scheme is loaded as is.
|
||||||
Click on the *Apply* button to force the system to unify selected and active colors.
|
Click on the *Apply* button to force the system to unify selected and active colors.
|
||||||
|
|
||||||
Selected/Active Colors
|
Selected/Active Colors
|
||||||
This two color fields define respectively *Selected* and *Active* colors.
|
This two color fields define respectively the *Selected* and *Active* colors.
|
||||||
By default Rigify reads this colors from the theme defined by the user in the Blender preferences.
|
By default Rigify reads these colors from the theme defined by the user in the Blender preferences.
|
||||||
This way the *Selected*/*Active* colors can always have a predictable and consistent behavior in the UI.
|
This way the *Selected*/*Active* colors can always have a predictable and consistent behavior in the UI.
|
||||||
The colors can be customized by clicking on the relative color field.
|
The colors can be customized by clicking on the relevant color field.
|
||||||
To reset them to the Blender current theme value just click on the button with the update icon.
|
To reset them to the Blender current theme value just click on the button with the update icon.
|
||||||
|
|
||||||
Bone Groups can be added and deleted as done in the general Bone Group panel
|
Color Sets can be added and deleted by clicking on the ``+`` or ``-`` buttons.
|
||||||
by clicking on the ``+`` or ``-`` buttons.
|
All color sets can be deleted at once by clicking on the Specials menu.
|
||||||
All Bone Groups can be deleted at once by clicking on the Specials menu.
|
|
||||||
|
|
||||||
To add the predefined Rigify Default Bone Groups list click on *Add Standard* button.
|
To add the colors from the predefined Rigify default color scheme (as shown in the image) to the list click
|
||||||
|
the *Add Standard* button.
|
||||||
|
|
||||||
To add a specific theme with its own color scheme, select it from the list and click on the *Add From Theme* button.
|
To add a specific theme with its own color scheme, select it from the list and click on the *Add From Theme* button.
|
||||||
|
|
||||||
|
|
||||||
|
.. _bpy.types.BoneCollection.rigify_ui_row:
|
||||||
|
|
||||||
|
Bone Collections UI
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_bone-collections-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
:doc:`Bone Collections </animation/armatures/bones/bone_collections>` are used to group related bones together
|
||||||
|
so that they can be hidden or revealed together.
|
||||||
|
|
||||||
|
Rigify can take advantage of collections to generate extra features and the user interface for the final rig.
|
||||||
|
A panel named :ref:`Rig Layers <rigify.rig_ui_template.RigLayers>` is generated with buttons for hiding the
|
||||||
|
collections, arranged in an intuitive layout.
|
||||||
|
|
||||||
|
The Bone Collections UI panel allows configuring the layout of that generated panel, as well as specifying some
|
||||||
|
other settings for bone collections, such as the color set to use.
|
||||||
|
|
||||||
|
The top of the panel is occupied by a list that duplicates the main bone collection list, but displays additional
|
||||||
|
properties, such as the color set, whether the collection has a button, or whether it generates a selection set.
|
||||||
|
|
||||||
|
Validate Collection References
|
||||||
|
Some sub-rig types have :ref:`references <bpy.types.RigifyParameters>` to bone collections in their properties.
|
||||||
|
Rigify uses a referencing scheme that is robust to collection renames, but deleting collections or joining armatures
|
||||||
|
can still lead to broken references.
|
||||||
|
|
||||||
|
This button runs a scan that validates and normalizes all collection references, reporting any errors, and
|
||||||
|
reducing the chance of breakage being caused by subsequent user actions.
|
||||||
|
|
||||||
|
This scan is also performed automatically every time the rig is generated.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
To avoid breakage this operation should be used both immediately before and after joining two metarig armatures.
|
||||||
|
More specifically, it must be always done between the actions of renaming any collections and joining.
|
||||||
|
|
||||||
|
Color Set
|
||||||
|
Specifies the :ref:`color set <bpy.types.Armature.rigify_colors>` to use for bones in this collection. If a bone
|
||||||
|
belongs to multiple collections, in general the collection located earlier in the list has priority.
|
||||||
|
|
||||||
|
Add Selection Set
|
||||||
|
Specifies whether a selection set should be generated for this collection.
|
||||||
|
|
||||||
|
UI Row
|
||||||
|
If nonzero, specifies which row of the :ref:`Rig Layers <rigify.rig_ui_template.RigLayers>` panel should contain the
|
||||||
|
button controlling the visibility of this collection. When zero, no button is generated, and the collection is hidden.
|
||||||
|
|
||||||
|
UI Title
|
||||||
|
This field can be used to override the title used on the UI button to be distinct from the true collection name.
|
||||||
|
Unlike collection names, titles are not required to be unique, so this can be used to reduce clutter by relying
|
||||||
|
on contextual cues within the panel.
|
||||||
|
|
||||||
|
UI Layout sub-panel
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_metarigs_bone-collections-layout-panel.png
|
||||||
|
:align: right
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
The UI Layout sub-panel provides a WYSIWYG editor for the layout of the generated UI panel
|
||||||
|
(as defined by the UI Row and UI Title settings above).
|
||||||
|
|
||||||
|
Each row contains three buttons at the end:
|
||||||
|
|
||||||
|
Arrow
|
||||||
|
Moves the active collection button to this row.
|
||||||
|
Plus
|
||||||
|
Inserts a new row before the current one.
|
||||||
|
Minus
|
||||||
|
Removes the current row and shifts all buttons up.
|
||||||
|
|
||||||
|
To the left of the editing control buttons, rows display buttons corresponding to the collections, same as the final
|
||||||
|
UI, except that rather than hiding or unhiding, clicking these buttons selects the collection.
|
||||||
|
|
||||||
|
For the active collection the selection button is replaced with an input field for editing the UI Title, and an **X**
|
||||||
|
button to unassign the collection from the UI.
|
||||||
|
|
||||||
|
For any collections not assigned to the UI, their select buttons are displayed in a separate section at the bottom
|
||||||
|
of the sub-panel.
|
||||||
|
|
||||||
|
The ``Root`` collection will be added and/or assigned a UI button automatically if necessary when the rig is generated.
|
||||||
|
If desired, it is possible to manually assign UI buttons to the internal ``ORG``, ``DEF`` and ``MCH`` collections.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Blank rows appear much thinner in the final interface, since they don't have to contain editing buttons, and can be
|
||||||
|
used as logical separators.
|
||||||
|
@ -6,23 +6,165 @@ Generated Rig Features
|
|||||||
After human rig generation a new armature named ``rig`` will be added to your scene.
|
After human rig generation a new armature named ``rig`` will be added to your scene.
|
||||||
This is the character rig you have generated from the human meta-rig and will contain all the features.
|
This is the character rig you have generated from the human meta-rig and will contain all the features.
|
||||||
|
|
||||||
|
|
||||||
|
Common Features
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. _rigify.rig_ui_template.RigBakeSettings:
|
||||||
|
.. _rigify.rig_ui_template.RigUI:
|
||||||
|
.. _rigify.rig_ui_template.RigLayers:
|
||||||
|
|
||||||
|
Rig UI Panels
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_rig-ui-panels.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
The generated rig is accompanied by a script that implements a set of panels that appear in the Item
|
||||||
|
tab of the 3D view sidebar when a bone belonging to the generated rig is active.
|
||||||
|
|
||||||
|
Rig Bake Settings
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This panel is displayed if the armature has an active :doc:`Action </animation/actions>`, and
|
||||||
|
is used by operators that apply an operation to multiple keyframes.
|
||||||
|
|
||||||
|
Bake All Keyed Frames
|
||||||
|
When enabled, the operator computes and keyframes its result on every frame that has a key for any of the
|
||||||
|
bones, as opposed to just relevant ones.
|
||||||
|
Limit Frame Range
|
||||||
|
When enabled, the operator is limited to a certain frame range.
|
||||||
|
|
||||||
|
Start, End
|
||||||
|
Specify the frame range to process.
|
||||||
|
Get Frame Range
|
||||||
|
Sets the baking frame range from the scene frame range.
|
||||||
|
|
||||||
|
Rig Main Properties
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This panel shows properties and operators that are relevant to the selected bones.
|
||||||
|
|
||||||
|
Rig Layers
|
||||||
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
This panel contains buttons for toggling visibility of bone collections.
|
||||||
|
|
||||||
|
The layout and labels of the buttons are defined in the metarig
|
||||||
|
:ref:`Bone Collection UI <bpy.types.BoneCollection.rigify_ui_row>` panel.
|
||||||
|
|
||||||
|
|
||||||
|
Common Controls
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Rigify rigs are built from standardized components called sub-rigs, which are linked together in a parent-child
|
||||||
|
hierarchy. Although the precise behavior of each sub-rig is determined by its implementation, there are certain
|
||||||
|
conventions that are followed by many of them.
|
||||||
|
|
||||||
|
Root Bone
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
Every Rigify rig has a bone called `root`, which serves as a parent for all bones of the rig.
|
||||||
|
It is assigned to a bone collection called `Root`. Unless the metarig has a custom bone
|
||||||
|
of that name, it is positioned at the origin of the rig object. Its widget looks like
|
||||||
|
a circle with four arrow shaped protrusions.
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_arm-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Limb Master
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
Many limb-like sub-rigs have a gear-shaped bone at their base.
|
||||||
|
|
||||||
|
This bone can in some cases be used to transform the whole sub-rig as a rigid unit, and is also used as a container
|
||||||
|
for its custom properties that are displayed in the *Rig Main Properties* panel. If you are looking in the Graph editor
|
||||||
|
for the animated values of the properties, this is most likely the bone to look at.
|
||||||
|
|
||||||
|
As an exception, if multiple controls of the sub-rig need their own copy of conceptually the same property,
|
||||||
|
it may be placed on those controls directly instead.
|
||||||
|
|
||||||
|
Tweak Controls
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
These controls look like blue spheres in the default color scheme, and are the final control layer above the
|
||||||
|
deformation bones themselves.
|
||||||
|
|
||||||
|
Tweaks are subordinate to the general IK or FK limb position but can be moved apart, twisted and scaled freely,
|
||||||
|
even reaching virtually impossible limb shapes.
|
||||||
|
|
||||||
|
Rubber Tweak
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_rubber-tweak.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Some sub-rigs provide a slider in their *Rig Main Properties* when tweaks are selected, which controls
|
||||||
|
the smoothness of the Bendy Bone joint at that position. When zero, the joint deforms with a sharp bend,
|
||||||
|
while setting it to 1 makes the transition smooth for a more rubber hose cartoon like appearance.
|
||||||
|
|
||||||
|
Custom Pivots
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Some bones that can be freely moved in space (like IK controls) can be optionally accompanied by a custom pivot
|
||||||
|
control. These controls usually look like a plain axes empty with the axis lines capped with squares or crosses,
|
||||||
|
like the one in the image above. The control can be freely moved to change the location of the pivot, and then
|
||||||
|
rotated or scaled to transform the target bone around the pivot.
|
||||||
|
|
||||||
|
IK and FK Switching
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_ik-fk-switch.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
A number of rig types provides both IK and FK controls (red for IK and green for FK in the image above),
|
||||||
|
with an ability to switch and snap between them.
|
||||||
|
|
||||||
|
Switching is controlled by a slider in *Rig Main Properties*, usually blending between full IK at 0 and full FK at 1.
|
||||||
|
|
||||||
|
Snapping one type of controls to the shape of the other is done via buttons, which form a group of three
|
||||||
|
in their complete set:
|
||||||
|
|
||||||
|
* The main button will snap on the current frame, and auto-key the result if enabled.
|
||||||
|
* The *Action* button will bake the change on multiple keyframes, according to *Rig Bake Settings*.
|
||||||
|
* The *Clear* button will delete keyframes on the corresponding controls within the bake interval.
|
||||||
|
|
||||||
|
Parent Switching
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_parent-switch.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
Some freely movable controls, e.g. usually the IK controls, can have a mechanism to switch their parent bone
|
||||||
|
between a set of choices, including the root bone, or none at all.
|
||||||
|
|
||||||
|
This mechanism is exposed in the *Rig Main Properties* panel through a row with three controls:
|
||||||
|
|
||||||
|
* A button that presents a dropdown menu, which allows switching the parent on the current frame while
|
||||||
|
preserving the bone position and orientation in the world space.
|
||||||
|
* An input field that exposes the raw switch property for keyframing and direct manipulation. Values correspond to
|
||||||
|
positions in the dropdown list.
|
||||||
|
* A button to apply the position preserving parent switch over the bake range of keyframes.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When manually placing a Child Of constraint on the control bone, the built-in parent should be switched to none.
|
||||||
|
|
||||||
Limbs
|
Limbs
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Each limb will have a gear widget at its base. This is the utility bone that
|
Limbs have a master bone and tweaks. Depending on the user defined meta-rig options,
|
||||||
contains all the sub-rig properties. The rig features will be displayed anyway
|
multiple deform bone segments with tweaks will be created.
|
||||||
when the affected bone is selected but if you are looking in the Graph editor for
|
|
||||||
those properties' animated values, this is most likely the bone to look at.
|
|
||||||
|
|
||||||
Depending on the user defined meta-rig options, multiple deform bone segments will be created.
|
The IK control may have an optional custom pivot, as well as additional predefined pivots.
|
||||||
Each bone can be controlled by tweak controls placed at the respective bone's head/tail.
|
|
||||||
Tweaks are subordinate to the general IK or FK limb position but can be moved apart,
|
|
||||||
twisted and scaled freely, even reaching virtually impossible limb shapes.
|
|
||||||
|
|
||||||
Rigify's limbs have the following controls in the Sidebar panel:
|
Rigify's limbs have the following controls in the Sidebar panel:
|
||||||
|
|
||||||
.. figure:: /images/addons_rigging_rigify_rig-features_limb-properties.png
|
.. figure:: /images/addons_rigging_rigify_rig-features_limb-properties.png
|
||||||
:align: right
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
FK Limb Follow :guilabel:`Slider`
|
FK Limb Follow :guilabel:`Slider`
|
||||||
When set to 1 the FK limb will not rotate with the torso and will retain is rotation
|
When set to 1 the FK limb will not rotate with the torso and will retain is rotation
|
||||||
@ -32,11 +174,7 @@ IK-FK :guilabel:`Slider`
|
|||||||
Controls whether the limb follows IK or FK controls, blending between full IK at 0 and full FK at 1.
|
Controls whether the limb follows IK or FK controls, blending between full IK at 0 and full FK at 1.
|
||||||
|
|
||||||
IK<->FK Snapping :guilabel:`Buttons`
|
IK<->FK Snapping :guilabel:`Buttons`
|
||||||
To snap one type of controls to another use the appropriate buttons.
|
Snaps one type of controls to another.
|
||||||
|
|
||||||
Each snap direction has buttons to update just the current pose, bake the whole animation in the
|
|
||||||
current *Action*, or *Clear* keyframes instead of snapping. The buttons dealing with keyframes
|
|
||||||
use options from an additional panel to control the range of frames to bake.
|
|
||||||
|
|
||||||
IK Stretch :guilabel:`Slider`
|
IK Stretch :guilabel:`Slider`
|
||||||
Blends between the limb stretching freely at 1, or having its maximum length constrained at 0.
|
Blends between the limb stretching freely at 1, or having its maximum length constrained at 0.
|
||||||
@ -47,19 +185,205 @@ Toggle Pole :guilabel:`Switch`
|
|||||||
When set to 1 the classic pole vector will be displayed and used to orient the IK limb.
|
When set to 1 the classic pole vector will be displayed and used to orient the IK limb.
|
||||||
The arrow will continue to handle the scale and the location of the IK limb base.
|
The arrow will continue to handle the scale and the location of the IK limb base.
|
||||||
|
|
||||||
Similar to IK-FK Snapping, the row includes buttons to convert the current pose between types,
|
Similar to *Parent Switching*, the row includes buttons to convert the current pose between types,
|
||||||
or bake the whole action.
|
or bake the whole action.
|
||||||
|
|
||||||
IK Parent :guilabel:`Switch`
|
IK Parent :guilabel:`Switch`
|
||||||
Switches the effective parent of the main IK control, with different integer values corresponding
|
Switches the effective parent of the main IK control.
|
||||||
to choices from a list.
|
|
||||||
|
|
||||||
The row includes buttons that allow converting the current pose via choosing from a menu,
|
|
||||||
or baking the whole action.
|
|
||||||
|
|
||||||
Pole Parent :guilabel:`Switch`
|
Pole Parent :guilabel:`Switch`
|
||||||
Switches the effective parent of the classic IK Pole control.
|
Switches the effective parent of the classic IK Pole control.
|
||||||
|
|
||||||
|
Arms
|
||||||
|
----
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_hand-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
:ref:`Arms <rigify.rigs.limbs.arm>` have the simplest control structure: the IK controls consist of the main IK
|
||||||
|
control, the optional custom pivot control, and the optional wrist control (the bent circle), which pivots around
|
||||||
|
the tail rather than the head of the hand bone.
|
||||||
|
|
||||||
|
There are no additional controls in the *Rig Main Properties* panel.
|
||||||
|
|
||||||
|
Legs
|
||||||
|
----
|
||||||
|
|
||||||
|
:ref:`Legs <rigify.rigs.limbs.leg>` have a more complicated setup, which has:
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_foot-controls.png
|
||||||
|
:align: right
|
||||||
|
:width: 200px
|
||||||
|
|
||||||
|
IK & FK Toe :guilabel:`Optional`
|
||||||
|
Two separate IK and FK controls for the toe (this is on by default and 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 the local rotation of a FK joint to the next one.
|
||||||
|
|
||||||
|
Advanced Finger
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. figure:: /images/addons_rigging_rigify_rig-features_finger-controls.png
|
||||||
|
|
||||||
|
For the case of fingers, there is a dedicated :ref:`finger <rigify.rigs.limbs.super_finger>` sub-rig type,
|
||||||
|
which provides:
|
||||||
|
|
||||||
|
Master
|
||||||
|
A master control, 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 operate as semi-tweaks through allowing translation.
|
||||||
|
IK Control :guilabel:`Optional`
|
||||||
|
IK control for the tip.
|
||||||
|
|
||||||
|
.. 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 use FK->IK snap and enable IK 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 is not fully stable.
|
||||||
|
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.
|
||||||
|
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`
|
||||||
|
* *Stretch To Fit*: controls the twist of the tip of the tentacle, interpolated to nothing at the base.
|
||||||
|
* *Manual Squash & Stretch*: also controls the scaling of the tip of the tentacle.
|
||||||
|
* *Direct Tip 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 orientation of the
|
||||||
|
tip control. However, for technical reasons, that is only possible 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, 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 active IK control.
|
||||||
|
|
||||||
|
|
||||||
Head
|
Head
|
||||||
====
|
====
|
||||||
|
@ -13,8 +13,8 @@ This is unlike chain-based rig types that usually consume the whole connected ch
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.copy_chain:
|
.. _rigify.rigs.basic.copy_chain:
|
||||||
|
|
||||||
``basic.copy_chain``
|
basic.copy_chain
|
||||||
====================
|
================
|
||||||
|
|
||||||
Copies the bone chain keeping all the parent relations within the chain untouched.
|
Copies the bone chain keeping all the parent relations within the chain untouched.
|
||||||
Useful as a utility rig type for custom rigs.
|
Useful as a utility rig type for custom rigs.
|
||||||
@ -29,8 +29,8 @@ Deform (Boolean)
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.pivot:
|
.. _rigify.rigs.basic.pivot:
|
||||||
|
|
||||||
``basic.pivot``
|
basic.pivot
|
||||||
===============
|
===========
|
||||||
|
|
||||||
Single-bone rig type that creates a 'custom pivot' control for rotating and scaling its child sub-rigs.
|
Single-bone rig type that creates a 'custom pivot' control for rotating and scaling its child sub-rigs.
|
||||||
|
|
||||||
@ -74,8 +74,8 @@ Deform Bone
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.raw_copy:
|
.. _rigify.rigs.basic.raw_copy:
|
||||||
|
|
||||||
``basic.raw_copy``
|
basic.raw_copy
|
||||||
==================
|
==============
|
||||||
|
|
||||||
Single-bone rig type that copies the bone without the ``ORG-`` name prefix.
|
Single-bone rig type that copies the bone without the ``ORG-`` name prefix.
|
||||||
|
|
||||||
@ -106,8 +106,8 @@ Relink Constraints
|
|||||||
|
|
||||||
.. _rigify.rigs.basic.super_copy:
|
.. _rigify.rigs.basic.super_copy:
|
||||||
|
|
||||||
``basic.super_copy``
|
basic.super_copy
|
||||||
====================
|
================
|
||||||
|
|
||||||
Single-bone rig type that simply copies the bone. Useful as utility rig type for
|
Single-bone rig type that simply copies the bone. Useful as utility rig type for
|
||||||
adding custom features or specific deform bones to your rigs.
|
adding custom features or specific deform bones to your rigs.
|
||||||
|
@ -8,21 +8,21 @@ These rig types implement components of a modular face.
|
|||||||
|
|
||||||
.. _rigify.rigs.face.basic_tongue:
|
.. _rigify.rigs.face.basic_tongue:
|
||||||
|
|
||||||
``face.basic_tongue``
|
face.basic_tongue
|
||||||
=====================
|
=================
|
||||||
|
|
||||||
Generates a simple tongue, extracted from the original PitchiPoy ``super_face`` rig.
|
Generates a simple tongue, extracted from the original PitchiPoy :ref:`super_face <rigify.rigs.faces.super_face>` rig.
|
||||||
|
|
||||||
B-Bone Segments (integer)
|
B-Bone Segments (integer)
|
||||||
Defines the number of b-bone segments each tweak control will be split into.
|
Defines the number of b-bone segments each tweak control will be split into.
|
||||||
Primary Control Layers
|
Primary Control Layers
|
||||||
Optionally specifies layers for the main control.
|
Optionally specifies bone collections for the main control.
|
||||||
|
|
||||||
|
|
||||||
.. _rigify.rigs.face.skin_eye:
|
.. _rigify.rigs.face.skin_eye:
|
||||||
|
|
||||||
``face.skin_eye``
|
face.skin_eye
|
||||||
=================
|
=============
|
||||||
|
|
||||||
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
||||||
two skin chains for the top and bottom eyelids in addition to generating the eye rotation mechanism.
|
two skin chains for the top and bottom eyelids in addition to generating the eye rotation mechanism.
|
||||||
@ -49,8 +49,8 @@ Eyelids Follow Default
|
|||||||
|
|
||||||
.. _rigify.rigs.face.skin_jaw:
|
.. _rigify.rigs.face.skin_jaw:
|
||||||
|
|
||||||
``face.skin_jaw``
|
face.skin_jaw
|
||||||
=================
|
=============
|
||||||
|
|
||||||
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
Implements a skin system :ref:`parent controller <rigify.rigs.skin.skin_parents>` that manages
|
||||||
one or more loops of mouth skin chains in response to the movement of jaw and mouth controls.
|
one or more loops of mouth skin chains in response to the movement of jaw and mouth controls.
|
||||||
|
@ -3,8 +3,10 @@
|
|||||||
Faces
|
Faces
|
||||||
*****
|
*****
|
||||||
|
|
||||||
``faces.super_face``
|
.. _rigify.rigs.faces.super_face:
|
||||||
====================
|
|
||||||
|
faces.super_face
|
||||||
|
================
|
||||||
|
|
||||||
Will create a face system based on the bones child to the parent that has the property set on it.
|
Will create a face system based on the bones child to the parent that has the property set on it.
|
||||||
|
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
.. _bpy.types.PoseBone.rigify_type:
|
|
||||||
.. _bpy.types.RigifyParameters:
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
Rig Types
|
Rig Types
|
||||||
#############
|
#############
|
||||||
|
@ -6,26 +6,32 @@ Limbs
|
|||||||
These rig types handle generation of different kind of limbs and their features, like fingers.
|
These rig types handle generation of different kind of limbs and their features, like fingers.
|
||||||
|
|
||||||
|
|
||||||
``limbs.simple_tentacle``
|
.. _rigify.rigs.limbs.simple_tentacle:
|
||||||
=========================
|
|
||||||
|
|
||||||
Will create a bendy and stretchy b-bones tentacle chain or automatic bendy and stretchy finger controls.
|
limbs.simple_tentacle
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Will create a simple bendy and stretchy b-bones tentacle chain, which can optionally replicate local rotation
|
||||||
|
from preceeding bones to the subsequent ones for use in cases like fingers.
|
||||||
|
|
||||||
Requirement: A chain of at least two connected bones.
|
Requirement: A chain of at least two connected bones.
|
||||||
|
|
||||||
Automation Axis (X, Y, Z, None)
|
Automation Axis (X, Y, Z, None)
|
||||||
Enables the automation on the selected axis. Multiple axis or none can be selected holding :kbd:`Shift-LMB`.
|
Enables the automation on the selected axis. Multiple axis or none can be selected holding :kbd:`Shift-LMB`.
|
||||||
When enabled the controls of the last bones will copy the rotations from the previous ones.
|
When enabled the subsequent control bones will copy the local rotations from the previous ones.
|
||||||
The option is accessible in the controls of the final rig as a Copy Rotation constraint and
|
The option is accessible in the controls of the final rig as a Copy Rotation constraint and
|
||||||
can be disabled even after rig is generated, or at animation time.
|
can be disabled even after rig is generated, or at animation time.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the main controls.
|
If enabled, allows placing the Tweak controls in different bone collections from the main controls.
|
||||||
|
|
||||||
|
|
||||||
``limbs.super_finger``
|
.. _rigify.rigs.limbs.super_finger:
|
||||||
======================
|
|
||||||
|
|
||||||
Will create a bendy and stretchy chain or automatic bendy and stretchy finger depending on a master control bone.
|
limbs.super_finger
|
||||||
|
==================
|
||||||
|
|
||||||
|
Will create a bendy and stretchy finger chain with a master control bone that controls the rotation of
|
||||||
|
all joints through its scale.
|
||||||
|
|
||||||
Requirement: A chain of at least two connected bones.
|
Requirement: A chain of at least two connected bones.
|
||||||
|
|
||||||
@ -39,27 +45,40 @@ IK Control
|
|||||||
IK starts its work with the shape of the finger defined by FK controls and adjusts it
|
IK starts its work with the shape of the finger defined by FK controls and adjusts it
|
||||||
to make the fingertip touch the IK control. It is designed as a tool to temporarily keep
|
to make the fingertip touch the IK control. It is designed as a tool to temporarily keep
|
||||||
the fingertip locked to a surface it touches, rather than a fully featured posing system.
|
the fingertip locked to a surface it touches, rather than a fully featured posing system.
|
||||||
|
|
||||||
|
To improve performance, the switchable parent for the IK control contains only one option beside None.
|
||||||
|
Thus it is advised to add a 'held object' control using the :ref:`basic.raw_copy <rigify.rigs.basic.pivot>`
|
||||||
|
rig to act as the common parent for the fingers with a fully functional parent switch.
|
||||||
|
IK Local Location
|
||||||
|
Specifies the value of the Local Location option for IK controls, which decides if the location
|
||||||
|
channels are aligned to the local control orientation or world.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the main controls.
|
If enabled, allows placing the Tweak controls in different bone collections from the main controls.
|
||||||
|
Assign Extra IK Layers
|
||||||
|
If enabled, allows placing the extra IK control in different bone collections from the main controls.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Rotation Axis (Bend Rotation Axis in the case of ``limbs.super_finger``)
|
Rotation Axis (Bend Rotation Axis in the case of `limbs.super_finger`_)
|
||||||
affects the :doc:`roll </animation/armatures/bones/editing/bone_roll>` of the generated bones.
|
affects the :doc:`roll </animation/armatures/bones/editing/bone_roll>` of the generated bones.
|
||||||
Automatic mode recalculates the generated bones roll while
|
Automatic mode recalculates the generated bones roll while
|
||||||
any of the Manual modes copy the roll of the meta-rig bones.
|
any of the Manual modes copy the roll of the meta-rig bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.super_limb``
|
.. _rigify.rigs.limbs.super_limb:
|
||||||
====================
|
|
||||||
|
|
||||||
A backwards compatibility wrapper around ``limbs.arm``, ``limbs.leg`` and ``limbs.paw``.
|
limbs.super_limb
|
||||||
|
================
|
||||||
|
|
||||||
|
A backwards compatibility wrapper around `limbs.arm`_, `limbs.leg`_ and `limbs.paw`_.
|
||||||
|
|
||||||
|
|
||||||
``limbs.arm``
|
.. _rigify.rigs.limbs.arm:
|
||||||
=============
|
|
||||||
|
|
||||||
Will create a full featured bendy and stretchy arm depending on the user-defined options.
|
limbs.arm
|
||||||
|
=========
|
||||||
|
|
||||||
|
Will create a fully featured bendy and stretchy arm depending on the user-defined options.
|
||||||
|
|
||||||
Requirement: A chain of three connected bones (upper_arm, forearm, hand).
|
Requirement: A chain of three connected bones (upper_arm, forearm, hand).
|
||||||
|
|
||||||
@ -79,15 +98,17 @@ B-Bone Segments (integer)
|
|||||||
Custom IK Pivot
|
Custom IK Pivot
|
||||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||||
Assign FK Layers
|
Assign FK Layers
|
||||||
If enabled, allows placing the FK chain on different layers from the IK bones.
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the IK bones.
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.leg``
|
.. _rigify.rigs.limbs.leg:
|
||||||
=============
|
|
||||||
|
|
||||||
Will create a full featured bendy and stretchy leg depending on the user-defined options.
|
limbs.leg
|
||||||
|
=========
|
||||||
|
|
||||||
|
Will create a fully featured bendy and stretchy leg depending on the user-defined options.
|
||||||
|
|
||||||
Requirement: A chain of four connected bones (thigh, shin, foot, toe) with one unconnected
|
Requirement: A chain of four connected bones (thigh, shin, foot, toe) with one unconnected
|
||||||
child of the foot to be used as the heel pivot.
|
child of the foot to be used as the heel pivot.
|
||||||
@ -104,6 +125,10 @@ Separate IK Toe
|
|||||||
Specifies that two separate toe controls should be generated for IK and FK instead of sharing one bone.
|
Specifies that two separate toe controls should be generated for IK and FK instead of sharing one bone.
|
||||||
This is necessary to get fully correct IK-FK snapping in all possible poses.
|
This is necessary to get fully correct IK-FK snapping in all possible poses.
|
||||||
|
|
||||||
|
Toe Tip Roll
|
||||||
|
Generates a slider to switch the heel control to pivot on the tip rather than the base of the toe
|
||||||
|
(for roll this obviously only applies on forward roll).
|
||||||
|
|
||||||
Rotation Axis (Automatic, X, Z)
|
Rotation Axis (Automatic, X, Z)
|
||||||
Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes.
|
Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes.
|
||||||
Limb Segments (integer)
|
Limb Segments (integer)
|
||||||
@ -113,15 +138,17 @@ B-Bone Segments (integer)
|
|||||||
Custom IK Pivot
|
Custom IK Pivot
|
||||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||||
Assign FK Layers
|
Assign FK Layers
|
||||||
If enabled, allows placing the FK chain on different layers from the IK bones.
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the IK bones.
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.paw``
|
.. _rigify.rigs.limbs.paw:
|
||||||
=============
|
|
||||||
|
|
||||||
Will create a full featured bendy and stretchy paw depending on the user-defined options.
|
limbs.paw
|
||||||
|
=========
|
||||||
|
|
||||||
|
Will create a fully featured bendy and stretchy paw depending on the user-defined options.
|
||||||
|
|
||||||
Requirement: A chain of four or five connected bones (thigh, shin, paw, *optional* digit, toe).
|
Requirement: A chain of four or five connected bones (thigh, shin, paw, *optional* digit, toe).
|
||||||
|
|
||||||
@ -138,15 +165,17 @@ B-Bone Segments (integer)
|
|||||||
Custom IK Pivot
|
Custom IK Pivot
|
||||||
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
Generates an extra control for the end of the IK limb that allows rotating it around an arbitrarily placed pivot.
|
||||||
Assign FK Layers
|
Assign FK Layers
|
||||||
If enabled, allows placing the FK chain on different layers from the IK bones.
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
Assign Tweak Layers
|
Assign Tweak Layers
|
||||||
If enabled, allows placing the Tweak controls on different layers from the IK bones.
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
``limbs.front_paw``
|
.. _rigify.rigs.limbs.front_paw:
|
||||||
===================
|
|
||||||
|
|
||||||
Derivative of ``limbs.paw`` with extended IK suitable for use in front paws.
|
limbs.front_paw
|
||||||
|
===============
|
||||||
|
|
||||||
|
Derivative of `limbs.paw`_ with extended IK suitable for use in front paws.
|
||||||
The additional IK limits the degree of change in the angle between shin and
|
The additional IK limits the degree of change in the angle between shin and
|
||||||
paw bones (2nd and 3rd) as the main IK control moves and rotates.
|
paw bones (2nd and 3rd) as the main IK control moves and rotates.
|
||||||
|
|
||||||
@ -158,18 +187,22 @@ Heel IK Influence
|
|||||||
not affect the rotation of the paw bone, while lower values provide some blending.
|
not affect the rotation of the paw bone, while lower values provide some blending.
|
||||||
|
|
||||||
|
|
||||||
``limbs.rear_paw``
|
.. _rigify.rigs.limbs.rear_paw:
|
||||||
==================
|
|
||||||
|
|
||||||
Derivative of ``limbs.paw`` with extended IK suitable for use in rear paws.
|
limbs.rear_paw
|
||||||
|
==============
|
||||||
|
|
||||||
|
Derivative of `limbs.paw`_ with extended IK suitable for use in rear paws.
|
||||||
The additional IK tries to maintain thigh and paw bones (1st and 3rd) in a nearly parallel orientation
|
The additional IK tries to maintain thigh and paw bones (1st and 3rd) in a nearly parallel orientation
|
||||||
as the main IK control moves and rotates.
|
as the main IK control moves and rotates.
|
||||||
|
|
||||||
For best results, thigh and paw bones should start nearly parallel in the rest pose.
|
For best results, thigh and paw bones should start nearly parallel in the rest pose.
|
||||||
|
|
||||||
|
|
||||||
``limbs.super_palm``
|
.. _rigify.rigs.limbs.super_palm:
|
||||||
====================
|
|
||||||
|
limbs.super_palm
|
||||||
|
================
|
||||||
|
|
||||||
Will create a palm system based on the distance between palm bones.
|
Will create a palm system based on the distance between palm bones.
|
||||||
|
|
||||||
@ -182,3 +215,51 @@ Both Sides
|
|||||||
|
|
||||||
Primary Rotation Axis (X, Z)
|
Primary Rotation Axis (X, Z)
|
||||||
Defines the automatic rotation axis to be used on the palm bones.
|
Defines the automatic rotation axis to be used on the palm bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.limbs.spline_tentacle:
|
||||||
|
|
||||||
|
limbs.spline_tentacle
|
||||||
|
=====================
|
||||||
|
|
||||||
|
This rig type implements a flexible tentacle with an IK system using the Spline IK constraint. The control bones
|
||||||
|
define control points of a Bezier curve, and the bone chain follows the curve.
|
||||||
|
|
||||||
|
The curve control points are sorted into three groups: start, middle and end. The middle controls are always
|
||||||
|
visible and active, while the other two types can be shown and hidden dynamically using properties; when enabled
|
||||||
|
they appear next to the corresponding permanent start/end control and can be moved from there.
|
||||||
|
|
||||||
|
Extra Start Controls
|
||||||
|
Specifies the number of optional start controls to generate.
|
||||||
|
Middle Controls
|
||||||
|
Specifies the number of middle controls to generate.
|
||||||
|
Extra End Controls
|
||||||
|
Specifies the number of optional end controls to generate.
|
||||||
|
Tip Control:
|
||||||
|
Specifies how the curve stretching and the final control bone work:
|
||||||
|
|
||||||
|
Stretch To Fit
|
||||||
|
Stretches the whole bone chain to fit the length of the curve defined by the controls.
|
||||||
|
|
||||||
|
An end twist control is generated to control the twist along the chain.
|
||||||
|
Direct Tip Control
|
||||||
|
Generates an IK end control, which directly controls the final bone of the chain similar to how
|
||||||
|
regular IK works for limbs, as well as controlling the end of the bezier curve. The middle bones of
|
||||||
|
the chain stretch to follow the curve and cover the gap.
|
||||||
|
|
||||||
|
The rig automatically deduces twist of up to 180 degrees based on the orientation of the end control.
|
||||||
|
Higher amounts of twist have to be dialled in through an End Twist Estimate slider to avoid flipping.
|
||||||
|
Manual Squash & Stretch
|
||||||
|
This mode allows full manual control over the chain scaling, while the chain covers as much of the curve
|
||||||
|
as it can given its current length.
|
||||||
|
|
||||||
|
The start control of the chain manages its uniform squash & stretch scale, while the end twist control
|
||||||
|
manages both the twist of the chain, as well as its scale at the tip (blended gradually along the length).
|
||||||
|
Radius Scaling
|
||||||
|
Allows scaling the controls to control the thickness of the chain through the curve.
|
||||||
|
Maximum Radius
|
||||||
|
Specifies the maximum scale allowed by the Radius Scaling feature.
|
||||||
|
FK Controls
|
||||||
|
Generates an FK control chain and IK-FK snapping.
|
||||||
|
Assign FK Layers
|
||||||
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
|
@ -65,8 +65,8 @@ Custom Rigging
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.basic_chain:
|
.. _rigify.rigs.skin.basic_chain:
|
||||||
|
|
||||||
``skin.basic_chain``
|
skin.basic_chain
|
||||||
====================
|
================
|
||||||
|
|
||||||
This is the basic chain rig, which bridges controls with B-Bones but does not add
|
This is the basic chain rig, which bridges controls with B-Bones but does not add
|
||||||
any automation to the controls themselves.
|
any automation to the controls themselves.
|
||||||
@ -107,8 +107,8 @@ Chain Priority
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.stretchy_chain:
|
.. _rigify.rigs.skin.stretchy_chain:
|
||||||
|
|
||||||
``skin.stretchy_chain``
|
skin.stretchy_chain
|
||||||
=======================
|
===================
|
||||||
|
|
||||||
This rig extends the basic chain with automation that propagates movement of the start and end,
|
This rig extends the basic chain with automation that propagates movement of the start and end,
|
||||||
and an optional middle control, to other controls. This results in stretching the whole chain
|
and an optional middle control, to other controls. This results in stretching the whole chain
|
||||||
@ -134,9 +134,9 @@ Propagate to Controls
|
|||||||
Allows other chains to see propagated twist and scale via *Merge Parent Rotation and Scale* when their
|
Allows other chains to see propagated twist and scale via *Merge Parent Rotation and Scale* when their
|
||||||
controls are merged into this chain, instead of it being completely local to this chain.
|
controls are merged into this chain, instead of it being completely local to this chain.
|
||||||
Primary Control Layers
|
Primary Control Layers
|
||||||
Optionally specifies layers for the end controls.
|
Optionally specifies bone collections for the end controls.
|
||||||
Secondary Control Layers
|
Secondary Control Layers
|
||||||
Optionally specifies layers for the middle control, falling back to *Primary Control Layers* if not set.
|
Optionally specifies bone collections for the middle control, falling back to *Primary Control Layers* if not set.
|
||||||
|
|
||||||
The main controls with active falloff have the effect of *Merge Parent Rotation and Scale*
|
The main controls with active falloff have the effect of *Merge Parent Rotation and Scale*
|
||||||
automatically enabled just for them.
|
automatically enabled just for them.
|
||||||
@ -144,8 +144,8 @@ automatically enabled just for them.
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.anchor:
|
.. _rigify.rigs.skin.anchor:
|
||||||
|
|
||||||
``skin.anchor``
|
skin.anchor
|
||||||
===============
|
===========
|
||||||
|
|
||||||
This rig effectively acts as a zero-length chain with highest priority,
|
This rig effectively acts as a zero-length chain with highest priority,
|
||||||
ensuring that it becomes the owner when merging controls with other chains.
|
ensuring that it becomes the owner when merging controls with other chains.
|
||||||
@ -168,10 +168,10 @@ Orientation
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.glue:
|
.. _rigify.rigs.skin.glue:
|
||||||
|
|
||||||
``skin.glue``
|
skin.glue
|
||||||
=============
|
=========
|
||||||
|
|
||||||
This rig is in concept similar to ``skin.anchor``, but instead of overriding controls,
|
This rig is in concept similar to `skin.anchor`_, but instead of overriding controls,
|
||||||
it is used to read or adjust the state of controls generated by other rigs.
|
it is used to read or adjust the state of controls generated by other rigs.
|
||||||
The head of the bone must overlap a control of another skin rig.
|
The head of the bone must overlap a control of another skin rig.
|
||||||
|
|
||||||
@ -210,8 +210,8 @@ Add Constraint
|
|||||||
|
|
||||||
.. _rigify.rigs.skin.transform.basic:
|
.. _rigify.rigs.skin.transform.basic:
|
||||||
|
|
||||||
``skin.transform.basic``
|
skin.transform.basic
|
||||||
========================
|
====================
|
||||||
|
|
||||||
This rig provides a simplistic :ref:`parent controller <rigify.rigs.skin.skin_parents>`, which uses regular
|
This rig provides a simplistic :ref:`parent controller <rigify.rigs.skin.skin_parents>`, which uses regular
|
||||||
translation, rotation, or scale to modify locations but not orientations or scale of its child chain controls.
|
translation, rotation, or scale to modify locations but not orientations or scale of its child chain controls.
|
||||||
|
@ -6,12 +6,17 @@ Spines
|
|||||||
These rigs are used to generate spine structures, including the head and tail.
|
These rigs are used to generate spine structures, including the head and tail.
|
||||||
|
|
||||||
|
|
||||||
``spines.super_spine``
|
.. _rigify.rigs.spines.super_spine:
|
||||||
======================
|
|
||||||
|
spines.super_spine
|
||||||
|
==================
|
||||||
|
|
||||||
Will create a complete bendy and stretchy b-bones spine system based on bone numbers of
|
Will create a complete bendy and stretchy b-bones spine system based on bone numbers of
|
||||||
your bone chain and user defined options.
|
your bone chain and user defined options.
|
||||||
|
|
||||||
|
This is a composite wrapper of `spines.basic_spine`_, `spines.super_head`_ and `spines.basic_tail`_.
|
||||||
|
Note that for the tail, the direction of the bones is reversed compared to the separate rig.
|
||||||
|
|
||||||
Requirement: A chain of at least three connected bones (base system).
|
Requirement: A chain of at least three connected bones (base system).
|
||||||
|
|
||||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-required.png
|
.. figure:: /images/addons_rigging_rigify_rig-types_spines-required.png
|
||||||
@ -31,7 +36,10 @@ Tail (Boolean)
|
|||||||
|
|
||||||
Tail Position (integer)
|
Tail Position (integer)
|
||||||
Defines the bone where the tail system starts. The next bone will always be the hips system.
|
Defines the bone where the tail system starts. The next bone will always be the hips system.
|
||||||
|
X, Y, Z (Boolean)
|
||||||
|
When generating a tail, specifies which local axis rotations should be replicated along the chain.
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-default.png
|
.. figure:: /images/addons_rigging_rigify_rig-types_spines-default.png
|
||||||
|
|
||||||
@ -40,3 +48,45 @@ Tail (Boolean)
|
|||||||
.. figure:: /images/addons_rigging_rigify_rig-types_spines-example.png
|
.. figure:: /images/addons_rigging_rigify_rig-types_spines-example.png
|
||||||
|
|
||||||
Spine with tail bones.
|
Spine with tail bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.spines.basic_spine:
|
||||||
|
|
||||||
|
spines.basic_spine
|
||||||
|
==================
|
||||||
|
|
||||||
|
Defines a bendy and stretchy b-bones spine.
|
||||||
|
|
||||||
|
Pivot Position (integer)
|
||||||
|
Defines the pivot position for torso and hips.
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
FK Controls
|
||||||
|
Specifies whether to generate an FK control chain.
|
||||||
|
Assign FK Layers
|
||||||
|
If enabled, allows placing the FK chain in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.spines.basic_tail:
|
||||||
|
|
||||||
|
spines.basic_tail
|
||||||
|
=================
|
||||||
|
|
||||||
|
Defines a bendy and stretchy b-bones tail.
|
||||||
|
|
||||||
|
X, Y, Z (Boolean)
|
||||||
|
Specifies which local axis rotations should be replicated along the chain from each control
|
||||||
|
bone to the following one.
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
|
||||||
|
|
||||||
|
.. _rigify.rigs.spines.super_head:
|
||||||
|
|
||||||
|
spines.super_head
|
||||||
|
=================
|
||||||
|
|
||||||
|
Defines a head rig with follow torso controls.
|
||||||
|
|
||||||
|
Assign Tweak Layers
|
||||||
|
If enabled, allows placing the Tweak controls in different bone collections from the IK bones.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
.. DO NOT EDIT THIS FILE, GENERATED BY 'blender_help_extract.py'
|
.. DO NOT EDIT THIS FILE, GENERATED BY 'blender_help_extract.py'
|
||||||
|
|
||||||
CHANGES TO THIS FILE MUST BE MADE IN BLENDER'S SOURCE CODE, SEE:
|
CHANGES TO THIS FILE MUST BE MADE IN BLENDER'S SOURCE CODE, SEE:
|
||||||
https://projects.blender.org/blender/blender/src/branch/main/source/creator/creator_args.c
|
https://projects.blender.org/blender/blender/src/branch/main/source/creator/creator_args.cc
|
||||||
|
|
||||||
.. _command_line-args:
|
.. _command_line-args:
|
||||||
|
|
||||||
|
91
manual/animation/armatures/bones/bone_collections.rst
Normal file
91
manual/animation/armatures/bones/bone_collections.rst
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
|
||||||
|
.. _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 preceeding
|
||||||
|
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.
|
@ -9,6 +9,7 @@
|
|||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
introduction.rst
|
introduction.rst
|
||||||
|
bone_collections.rst
|
||||||
structure.rst
|
structure.rst
|
||||||
tools/index.rst
|
tools/index.rst
|
||||||
selecting.rst
|
selecting.rst
|
||||||
|
@ -116,6 +116,22 @@ Segments
|
|||||||
Display Size X, Z
|
Display Size X, Z
|
||||||
Controls the visible thickness of the bone segments when the armature is rendered in the *B-Bones* mode.
|
Controls the visible thickness of the bone segments when the armature is rendered in the *B-Bones* mode.
|
||||||
|
|
||||||
|
.. _bpy.types.EditBone.bbone_mapping_mode:
|
||||||
|
|
||||||
|
Vertex Mapping
|
||||||
|
Controls how vertices are weighted to the individual segments of a B-Bone for deformations:
|
||||||
|
|
||||||
|
:Straight:
|
||||||
|
A fast mapping that works well for B-Bones with a straight or gently curved rest pose.
|
||||||
|
:Curved:
|
||||||
|
A slower mapping that improves deformations for B-Bones with a strongly curved rest pose. This should
|
||||||
|
be used selectively when needed.
|
||||||
|
|
||||||
|
.. figure:: /images/animation_armatures_bones_properties_bendy-bones_vertex-mapping.png
|
||||||
|
:width: 300px
|
||||||
|
|
||||||
|
Straight vs Curved vertex mapping on a B-Bone with a strongly curved rest pose.
|
||||||
|
|
||||||
.. _bpy.types.EditBone.bbone_curveinx:
|
.. _bpy.types.EditBone.bbone_curveinx:
|
||||||
.. _bpy.types.EditBone.bbone_curveinz:
|
.. _bpy.types.EditBone.bbone_curveinz:
|
||||||
|
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
.. _bpy.types.Bone.hide:
|
.. _bpy.types.Bone.hide:
|
||||||
|
.. _bpy.types.Bone.color:
|
||||||
|
.. _bpy.types.EditBone.color:
|
||||||
|
.. _bpy.types.PoseBone.color:
|
||||||
|
|
||||||
****************
|
****************
|
||||||
Viewport Display
|
Viewport Display
|
||||||
@ -6,17 +9,70 @@ Viewport Display
|
|||||||
|
|
||||||
.. reference::
|
.. reference::
|
||||||
|
|
||||||
:Mode: Object and Pose Mode
|
:Mode: Object, Pose, and Edit Mode
|
||||||
:Panel: :menuselection:`Bone --> Viewport Display`
|
:Panel: :menuselection:`Bone --> Viewport Display`
|
||||||
|
|
||||||
.. figure:: /images/animation_armatures_bones_properties_display_custom-shape-field.png
|
.. figure:: /images/animation_armatures_bones_properties_display.png
|
||||||
|
|
||||||
Viewport Display panel.
|
Viewport Display panel in Object/Pose mode.
|
||||||
|
|
||||||
Display panel lets you customize the look of your bones taking the shape of another existing object.
|
.. figure:: /images/animation_armatures_bones_properties_display_editmode.png
|
||||||
|
|
||||||
|
Viewport Display panel in Edit mode.
|
||||||
|
|
||||||
|
Display panel lets you customize the look of your bones.
|
||||||
|
|
||||||
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>`.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. _bpy.types.BoneColor:
|
||||||
|
.. _bpy.types.ThemeBoneColorSet:
|
||||||
|
|
||||||
|
Bone Colors
|
||||||
|
=============
|
||||||
|
|
||||||
|
Bones can be individually colored. For these colors to be visible, enable the
|
||||||
|
:ref:`Bone Colors checkbox <bpy.types.Armature.show>` in the Armature display panel.
|
||||||
|
|
||||||
|
.. figure:: /images/animation_armatures_bones_properties_display_custom_colors.png
|
||||||
|
|
||||||
|
Viewport Display panel in Pose mode, showing the choices in color palettes as
|
||||||
|
well as options for custom colors.
|
||||||
|
|
||||||
|
The primary source of bone colors is the :ref:`Theme <bpy.types.Theme>`, which
|
||||||
|
defines 20 bone color palettes. Each entry consists of three colors:
|
||||||
|
|
||||||
|
Regular
|
||||||
|
The color of unselected bones.
|
||||||
|
Select
|
||||||
|
The second color field is the outline color of selected bones.
|
||||||
|
Active
|
||||||
|
The third color field is the outline color of the active bone.
|
||||||
|
|
||||||
|
As soon as you alter one of the colors, it is switched to the *Custom Set* option.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. _bpy.types.PoseBone.custom_shape:
|
.. _bpy.types.PoseBone.custom_shape:
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
|
.. _properties_data_bone_relations:
|
||||||
|
|
||||||
*********
|
*********
|
||||||
Relations
|
Relations
|
||||||
*********
|
*********
|
||||||
@ -10,29 +12,27 @@ Relations
|
|||||||
|
|
||||||
.. figure:: /images/animation_armatures_bones_properties_relations_panel.png
|
.. figure:: /images/animation_armatures_bones_properties_relations_panel.png
|
||||||
|
|
||||||
Relations panel.
|
Bone Relations panel.
|
||||||
|
|
||||||
In this panel you can arrange sets of bones in different layers for easier manipulation.
|
In this panel you can manage the relationship of this bone with its parent bone.
|
||||||
|
It also shows the bone collections the bone is assigned to.
|
||||||
|
|
||||||
|
.. _bpy.types.Bone.collections:
|
||||||
|
.. _bpy.types.EditBone.collections:
|
||||||
|
.. _bpy.types.PoseBone.collections:
|
||||||
|
|
||||||
.. _bpy.types.EditBone.layers:
|
Bone Collections
|
||||||
|
================
|
||||||
|
|
||||||
Bone Layers
|
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.
|
||||||
|
|
||||||
Moving Bones between Layers
|
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>`.
|
||||||
|
|
||||||
Obviously, you have to be in *Edit Mode* or *Pose Mode* to move bones between layers.
|
|
||||||
Note that as with objects, bones can lay in several layers at once,
|
|
||||||
just use the usual :kbd:`Shift-LMB` clicks...
|
|
||||||
First of all, you have to select the chosen bone(s)!
|
|
||||||
|
|
||||||
- In the Properties, use the "layer buttons" of each selected bone Relations panel (*Bones* tab)
|
|
||||||
to control in which layer(s) it lays.
|
|
||||||
- In the *3D Viewport*, use the menu :menuselection:`Armature --> Move Bone To Layer` or
|
|
||||||
:menuselection:`Pose --> Move Bone To Layer` or press :kbd:`M` to show the usual pop-up layers menu.
|
|
||||||
Note that this way, you assign the same layers to all selected bones.
|
|
||||||
|
|
||||||
|
|
||||||
Parenting
|
Parenting
|
||||||
|
@ -216,10 +216,10 @@ Prefix
|
|||||||
Select bones with matching name prefix (separated by ``.``).
|
Select bones with matching name prefix (separated by ``.``).
|
||||||
Suffix
|
Suffix
|
||||||
Select bones with matching name suffix (separated by ``.``).
|
Select bones with matching name suffix (separated by ``.``).
|
||||||
Layer
|
Bone Collection
|
||||||
Select bones on the same layer.
|
Select bones that share one or more bone collections with the active bone.
|
||||||
Group
|
Color
|
||||||
Select bones in the same group.
|
Select bones that have the same color as the active bone.
|
||||||
Shape
|
Shape
|
||||||
Select bones using the same shape object (in Pose Mode).
|
Select bones using the same shape object (in Pose Mode).
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Open a default scene, then:
|
|||||||
#. Make sure the cursor is in the world origin with :kbd:`Shift-C`.
|
#. Make sure the cursor is in the world origin with :kbd:`Shift-C`.
|
||||||
#. Press :kbd:`Numpad1` to see the world in Front view.
|
#. Press :kbd:`Numpad1` to see the world in Front view.
|
||||||
#. Add a *Single Bone* (:menuselection:`Add --> Armature`).
|
#. Add a *Single Bone* (:menuselection:`Add --> Armature`).
|
||||||
#. Press :kbd:`NumpadDelete` to see the armature at maximum zoom.
|
#. Press :kbd:`NumpadPeriod` to see the armature at maximum zoom.
|
||||||
|
|
||||||
.. figure:: /images/animation_armatures_introduction_default.png
|
.. figure:: /images/animation_armatures_introduction_default.png
|
||||||
|
|
||||||
|
@ -44,5 +44,5 @@ There are six different color codes, ordered here by precedence
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
When :doc:`/animation/armatures/properties/bone_groups` colors are enabled,
|
When :ref:`bone colors <bpy.types.BoneColor>` are enabled,
|
||||||
the state colors will be overridden.
|
the state colors will be overridden.
|
||||||
|
@ -127,14 +127,12 @@ Grouped
|
|||||||
:Menu: :menuselection:`Select --> Grouped`
|
:Menu: :menuselection:`Select --> Grouped`
|
||||||
:Shortcut: :kbd:`Shift-G`
|
:Shortcut: :kbd:`Shift-G`
|
||||||
|
|
||||||
You can select bones based on their group and/or layer, through the *Select Grouped* pop-up menu :kbd:`Shift-G`:
|
You can select bones, based on various properties, through the *Select Grouped* pop-up menu :kbd:`Shift-G`:
|
||||||
|
|
||||||
Layer
|
Collection
|
||||||
To select all bones belonging to the same layer(s) as the selected ones,
|
Selects all bones that are share at least one bone collection with the active bone.
|
||||||
use the *In Same Layer* entry.
|
Color
|
||||||
Group
|
Selects all bones that have the same color as the active bone.
|
||||||
To select all bones belonging to the same group(s) as the selected ones,
|
|
||||||
use the *In Same Group* entry.
|
|
||||||
Keying Set
|
Keying Set
|
||||||
ToDo.
|
ToDo.
|
||||||
|
|
||||||
|
99
manual/animation/armatures/properties/bone_collections.rst
Normal file
99
manual/animation/armatures/properties/bone_collections.rst
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
.. _bpy.types.BoneGroups:
|
||||||
|
.. _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>`.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Move to 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>`.
|
@ -1,84 +0,0 @@
|
|||||||
.. _bpy.types.BoneGroups:
|
|
||||||
|
|
||||||
***********
|
|
||||||
Bone Groups
|
|
||||||
***********
|
|
||||||
|
|
||||||
.. reference::
|
|
||||||
|
|
||||||
:Mode: Pose Mode
|
|
||||||
:Panel: :menuselection:`Properties --> Armature --> Bone Groups`
|
|
||||||
:Menu: :menuselection:`Pose --> Bone Groups --> ...`
|
|
||||||
|
|
||||||
.. TODO2.8
|
|
||||||
.. figure:: /images/animation_armatures_properties_bone-groups_panel.png
|
|
||||||
|
|
||||||
The Bone Groups panel.
|
|
||||||
|
|
||||||
This panel allows the creation, deletion and editing of Bone Groups.
|
|
||||||
Bone Groups can be used for selection or to assign a color theme to a set of bones.
|
|
||||||
In example to color the left parts of the rig as blue and right parts as red.
|
|
||||||
|
|
||||||
Active Bone Group
|
|
||||||
The Bone Group :ref:`List view <ui-list-view>`.
|
|
||||||
|
|
||||||
Color Set
|
|
||||||
A select menu.
|
|
||||||
|
|
||||||
:Default Colors: The default (gray) colors.
|
|
||||||
:*nn* - Theme Color Set: One of the twenty Blender presets by the theme.
|
|
||||||
:Custom Set: A custom set of colors, which is specific to each group.
|
|
||||||
|
|
||||||
|
|
||||||
Custom Colors
|
|
||||||
=============
|
|
||||||
|
|
||||||
You can assign a "color theme" to a group (each bone will have these colors).
|
|
||||||
Remember you have to enable the *Colors* checkbox (*Display* panel) to see these colors.
|
|
||||||
|
|
||||||
.. _bpy.types.ThemeBoneColorSet:
|
|
||||||
|
|
||||||
Regular
|
|
||||||
The first color field is the color of unselected bones.
|
|
||||||
Select
|
|
||||||
The second color field is the outline color of selected bones.
|
|
||||||
Active
|
|
||||||
The third color field is the outline color of the active bone.
|
|
||||||
|
|
||||||
As soon as you alter one of the colors, it is switched to the *Custom Set* option.
|
|
||||||
|
|
||||||
|
|
||||||
Assign & Select
|
|
||||||
===============
|
|
||||||
|
|
||||||
In the 3D Viewport, using the :menuselection:`Pose --> Bone Groups` menu entries,
|
|
||||||
and/or the *Bone Groups* pop-up menu :kbd:`Ctrl-G`, you can:
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_assign:
|
|
||||||
|
|
||||||
Assign
|
|
||||||
Assigns the selected bones to the active bone group.
|
|
||||||
It is important to note that a bone can only belong to one group.
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_unassign:
|
|
||||||
|
|
||||||
Remove
|
|
||||||
Removes the selected bones from the active bone group.
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_select:
|
|
||||||
|
|
||||||
Select
|
|
||||||
Selects the bones in the active bone group.
|
|
||||||
|
|
||||||
.. _bpy.ops.pose.group_deselect:
|
|
||||||
|
|
||||||
Deselect
|
|
||||||
Deselects the bones in the active bone group.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
A single bone can be assigned to a group in the :ref:`Relations panel <bpy.types.PoseBone.bone_group>`.
|
|
||||||
|
|
||||||
.. tip::
|
|
||||||
|
|
||||||
Bones belonging to multiple groups is possible with the *Selection Sets* add-on.
|
|
@ -109,9 +109,9 @@ Show
|
|||||||
When enabled, the default standard bone shape is replaced,
|
When enabled, the default standard bone shape is replaced,
|
||||||
in *Object Mode* and *Pose Mode*, by the shape of a chosen object
|
in *Object Mode* and *Pose Mode*, by the shape of a chosen object
|
||||||
(see :doc:`Shaped Bones </animation/armatures/bones/properties/display>` for details).
|
(see :doc:`Shaped Bones </animation/armatures/bones/properties/display>` for details).
|
||||||
Group Colors
|
Bone Colors
|
||||||
Use the Bone Group colors to color the bone.
|
Draws bones in their configured colors. Disable to always draw bones in the default color.
|
||||||
For more details see :doc:`Bone Groups </animation/armatures/properties/bone_groups>`.
|
For more details see :ref:`Bone Colors <bpy.types.Bone.color>`.
|
||||||
In Front
|
In Front
|
||||||
When enabled, the bones of the armature will always be shown on top of
|
When enabled, the bones of the armature will always be shown on top of
|
||||||
the solid objects (meshes, surfaces, ...). I.e. they will always be visible and selectable
|
the solid objects (meshes, surfaces, ...). I.e. they will always be visible and selectable
|
||||||
|
@ -7,6 +7,5 @@
|
|||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
introduction.rst
|
introduction.rst
|
||||||
skeleton.rst
|
bone_collections.rst
|
||||||
display.rst
|
display.rst
|
||||||
bone_groups.rst
|
|
||||||
|
@ -5,10 +5,31 @@ Introduction
|
|||||||
|
|
||||||
The *Armature* tab in Properties contains various panels gathering the armature settings.
|
The *Armature* tab in Properties contains various panels gathering the armature settings.
|
||||||
|
|
||||||
.. TODO2.8
|
.. figure:: /images/animation_armatures_properties_introduction_properties-editor.png
|
||||||
.. figure:: /images/animation_armatures_properties_introduction_properties-editor.png
|
|
||||||
|
|
||||||
The Armature tab in the Properties.
|
The Armature tab in the Properties.
|
||||||
|
|
||||||
|
Pose
|
||||||
|
====
|
||||||
|
|
||||||
|
.. reference::
|
||||||
|
|
||||||
|
:Mode: All Modes
|
||||||
|
:Panel: :menuselection:`Armature --> Pose`
|
||||||
|
|
||||||
|
Pose Position
|
||||||
|
A radio button to switch between Pose Position and Rest Position.
|
||||||
|
|
||||||
|
In *Edit Mode*, you always see armatures in their rest position,
|
||||||
|
in *Object Mode* and *Pose Mode*, by default, you see them in *Pose Position*
|
||||||
|
(i.e. as it was transformed in the *Pose Mode*).
|
||||||
|
If you want to see it in the rest position in all modes, select *Rest Position*.
|
||||||
|
|
||||||
|
|
||||||
|
Bone Collections
|
||||||
|
================
|
||||||
|
|
||||||
|
See :doc:`Bone Collections </animation/armatures/properties/bone_collections>`.
|
||||||
|
|
||||||
|
|
||||||
Motion Paths
|
Motion Paths
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
|
|
||||||
********
|
|
||||||
Skeleton
|
|
||||||
********
|
|
||||||
|
|
||||||
.. reference::
|
|
||||||
|
|
||||||
:Mode: All Modes
|
|
||||||
:Panel: :menuselection:`Armature --> Skeleton`
|
|
||||||
|
|
||||||
.. figure:: /images/animation_armatures_properties_skeleton_panel.png
|
|
||||||
|
|
||||||
Skeleton panel.
|
|
||||||
|
|
||||||
In this panel you can arrange sets of bones into different layers for easier manipulation.
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.pose_position:
|
|
||||||
|
|
||||||
Pose Position
|
|
||||||
A radio button to switch between Pose Position and Rest Position.
|
|
||||||
|
|
||||||
In *Edit Mode*, you always see armatures in their rest position,
|
|
||||||
in *Object Mode* and *Pose Mode*, by default, you see them in *Pose Position*
|
|
||||||
(i.e. as it was transformed in the *Pose Mode*).
|
|
||||||
If you want to see it in the rest position in all modes, select *Rest Position*.
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.layers:
|
|
||||||
|
|
||||||
Armature Layers
|
|
||||||
Each armature has 32 layers to organize armatures by "regrouping" them into sets of bones.
|
|
||||||
Only bones in active layers will be visible/editable, but they will always be effective
|
|
||||||
(i.e. move objects or deform geometry), whether in an active layer or not.
|
|
||||||
This property changes which layers are visible in the 3D Viewport.
|
|
||||||
To show several layers at once, :kbd:`Shift-LMB` on the desired layers to view.
|
|
||||||
To move bones to a given layer, use :ref:`bpy.ops.armature.bone_layers`.
|
|
||||||
|
|
||||||
.. _bpy.types.Armature.layers_protected:
|
|
||||||
|
|
||||||
Protected Layers
|
|
||||||
You can lock a given bone layer for all :doc:`/files/linked_libraries/library_proxies`
|
|
||||||
of your armature, i.e. all bones in this layer will not be editable.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
*Protected Layers* in proxy are restored to proxy settings on file reload and undo.
|
|
@ -8,12 +8,7 @@ Shrinkwrap Constraint
|
|||||||
The *Shrinkwrap* constraint is the "object counterpart" of
|
The *Shrinkwrap* constraint is the "object counterpart" of
|
||||||
the :doc:`Shrinkwrap Modifier </modeling/modifiers/deform/shrinkwrap>`.
|
the :doc:`Shrinkwrap Modifier </modeling/modifiers/deform/shrinkwrap>`.
|
||||||
It moves the owner origin and therefore the owner object's location to the surface of its target.
|
It moves the owner origin and therefore the owner object's location to the surface of its target.
|
||||||
|
This implies that the target *must* have a surface; thus, you can only use meshes as targets.
|
||||||
This implies that the target *must* have a surface. In fact,
|
|
||||||
the constraint is even more selective, as it can only use meshes as targets. Hence,
|
|
||||||
the *Shrinkwrap* option is only shown in the *Add Constraint to Active Object* menu,
|
|
||||||
:kbd:`Ctrl-Alt-C`, (or its bone's equivalent),
|
|
||||||
when the selected inactive object is a mesh.
|
|
||||||
|
|
||||||
|
|
||||||
Options
|
Options
|
||||||
|
@ -189,6 +189,7 @@ Variable Type
|
|||||||
channel value (before parenting or constraints), or ``["prop_name"]`` for a custom property.
|
channel value (before parenting or constraints), or ``["prop_name"]`` for a custom property.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
Although the values of the x/y/z animation channels for the camera location can be accessed
|
Although the values of the x/y/z animation channels for the camera location can be accessed
|
||||||
via ``camera.location[0/1/2]``, retrieving its world space location and orientation after parenting
|
via ``camera.location[0/1/2]``, retrieving its world space location and orientation after parenting
|
||||||
and constraints currently requires using ``camera.matrix_world``. This property can be understood
|
and constraints currently requires using ``camera.matrix_world``. This property can be understood
|
||||||
|
@ -43,7 +43,7 @@ Each frame is displayed by a small white dot on the paths.
|
|||||||
|
|
||||||
The paths are automatically updated when you edit your poses/keyframes,
|
The paths are automatically updated when you edit your poses/keyframes,
|
||||||
and they are also active during animation playback. Playing the animation
|
and they are also active during animation playback. Playing the animation
|
||||||
affects the paths only when the *Around Current Frame* option is enabled.
|
affects the paths only when using the *Around Frame* type.
|
||||||
|
|
||||||
|
|
||||||
Options
|
Options
|
||||||
@ -90,7 +90,7 @@ Calculation Range
|
|||||||
|
|
||||||
Frame Range Start, End
|
Frame Range Start, End
|
||||||
Starting and Ending frame of range of paths to display/calculate
|
Starting and Ending frame of range of paths to display/calculate
|
||||||
(not for the *Around Current Frame* type).
|
(not for the *Around Frame* type).
|
||||||
|
|
||||||
Although the start and end frame are always editable, updating the motion
|
Although the start and end frame are always editable, updating the motion
|
||||||
path will change these according to the *Calculation Range* setting. To
|
path will change these according to the *Calculation Range* setting. To
|
||||||
@ -101,7 +101,7 @@ Frame Range Start, End
|
|||||||
|
|
||||||
Frame Range Before, After
|
Frame Range Before, After
|
||||||
Number of frames to show before and after the current frame
|
Number of frames to show before and after the current frame
|
||||||
(only for the *Around Current Frame* type).
|
(only for the *Around Frame* type).
|
||||||
|
|
||||||
.. _bpy.types.AnimVizMotionPaths.frame_step:
|
.. _bpy.types.AnimVizMotionPaths.frame_step:
|
||||||
|
|
||||||
|
@ -24,11 +24,43 @@ Node Types
|
|||||||
|
|
||||||
types/input/index.rst
|
types/input/index.rst
|
||||||
types/output/index.rst
|
types/output/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
types/color/index.rst
|
types/color/index.rst
|
||||||
types/converter/index.rst
|
|
||||||
types/filter/index.rst
|
types/filter/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
types/keying/index.rst
|
||||||
|
types/mask/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
types/tracking/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
types/transform/index.rst
|
||||||
|
types/utilities/index.rst
|
||||||
types/vector/index.rst
|
types/vector/index.rst
|
||||||
types/matte/index.rst
|
|
||||||
types/distort/index.rst
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
types/groups.rst
|
types/groups.rst
|
||||||
types/layout/index.rst
|
types/layout/index.rst
|
||||||
|
17
manual/compositing/types/color/adjust/index.rst
Normal file
17
manual/compositing/types/color/adjust/index.rst
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
##########
|
||||||
|
Adjust
|
||||||
|
##########
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
bright_contrast.rst
|
||||||
|
color_balance.rst
|
||||||
|
color_correction.rst
|
||||||
|
exposure.rst
|
||||||
|
gamma.rst
|
||||||
|
hue_correct.rst
|
||||||
|
hue_saturation.rst
|
||||||
|
rgb_curves.rst
|
||||||
|
tone_map.rst
|
@ -84,7 +84,7 @@ In this example, the image has too much red in it,
|
|||||||
so we run it through an *RGB Curves* node and reduce the Red channel.
|
so we run it through an *RGB Curves* node and reduce the Red channel.
|
||||||
|
|
||||||
Also, read on for examples of the Darken and Contrast Enhancement curves,
|
Also, read on for examples of the Darken and Contrast Enhancement curves,
|
||||||
:doc:`here </compositing/types/color/mix>`.
|
:doc:`here </compositing/types/color/mix/mix_color>`.
|
||||||
|
|
||||||
|
|
||||||
Color Correction using Black/White Levels
|
Color Correction using Black/White Levels
|
@ -10,17 +10,29 @@ overlaying another image, etc.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
alpha_over.rst
|
adjust/index.rst
|
||||||
bright_contrast.rst
|
|
||||||
color_balance.rst
|
----------
|
||||||
color_correction.rst
|
|
||||||
exposure.rst
|
.. toctree::
|
||||||
gamma.rst
|
:maxdepth: 1
|
||||||
hue_correct.rst
|
|
||||||
hue_saturation.rst
|
mix/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
alpha_convert.rst
|
||||||
|
color_ramp.rst
|
||||||
|
convert_colorspace.rst
|
||||||
|
set_alpha.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
invert_color.rst
|
invert_color.rst
|
||||||
mix.rst
|
rgb_to_bw.rst
|
||||||
posterize.rst
|
|
||||||
rgb_curves.rst
|
|
||||||
tone_map.rst
|
|
||||||
z_combine.rst
|
|
||||||
|
25
manual/compositing/types/color/mix/index.rst
Normal file
25
manual/compositing/types/color/mix/index.rst
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#######
|
||||||
|
Mix
|
||||||
|
#######
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
alpha_over.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
combine_color.rst
|
||||||
|
separate_color.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
mix_color.rst
|
||||||
|
z_combine.rst
|
@ -1,7 +1,7 @@
|
|||||||
.. index:: Compositor Nodes; Mix
|
.. index:: Compositor Nodes; Mix
|
||||||
.. _bpy.types.CompositorNodeMixRGB:
|
.. _bpy.types.CompositorNodeMixRGB:
|
||||||
.. Editor's Note: This page gets copied into:
|
.. Editor's Note: This page gets copied into:
|
||||||
.. - :doc:`</render/cycles/nodes/types/color/mix>`
|
.. - :doc:`</render/shader_nodes/color/mix>`
|
||||||
.. - :doc:`</modeling/geometry_nodes/utilities/color/mix_rgb>`
|
.. - :doc:`</modeling/geometry_nodes/utilities/color/mix_rgb>`
|
||||||
.. - :doc:`</render/shader_nodes/converter/mix>`
|
.. - :doc:`</render/shader_nodes/converter/mix>`
|
||||||
.. - :doc:`</modeling/geometry_nodes/utilities/mix>`
|
.. - :doc:`</modeling/geometry_nodes/utilities/mix>`
|
@ -70,7 +70,7 @@ The node tree below shows how to do this using the Set Alpha node.
|
|||||||
Fade to black.
|
Fade to black.
|
||||||
|
|
||||||
In the example above, the alpha channel of the swirl image is ignored.
|
In the example above, the alpha channel of the swirl image is ignored.
|
||||||
Instead, a :doc:`Time Curve node </compositing/types/input/time_curve>`
|
Instead, a :doc:`Time Curve node </compositing/types/input/scene/time_curve>`
|
||||||
introduces a factor from 0.0 to 1.0 over 60 frames, or about 2 seconds,
|
introduces a factor from 0.0 to 1.0 over 60 frames, or about 2 seconds,
|
||||||
to the Set Alpha node. Note that the time curve is exponentially-shaped,
|
to the Set Alpha node. Note that the time curve is exponentially-shaped,
|
||||||
so that the overall blackness will fade in slowly and then accelerate toward the end.
|
so that the overall blackness will fade in slowly and then accelerate toward the end.
|
@ -1,28 +0,0 @@
|
|||||||
|
|
||||||
###################
|
|
||||||
Converter Nodes
|
|
||||||
###################
|
|
||||||
|
|
||||||
As the name implies, these nodes convert the colors or other properties of various data
|
|
||||||
(e.g. transparency) in some way.
|
|
||||||
|
|
||||||
They also split out or re-combine the different color channels that make up an image,
|
|
||||||
allowing you to work on each channel independently.
|
|
||||||
Various color channel arrangements are supported, including traditional RGB, HSV
|
|
||||||
and :abbr:`HDMI (High Definition Media Interface)` formats.
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
alpha_convert.rst
|
|
||||||
color_space.rst
|
|
||||||
color_ramp.rst
|
|
||||||
combine_color.rst
|
|
||||||
combine_xyz.rst
|
|
||||||
id_mask.rst
|
|
||||||
math.rst
|
|
||||||
rgb_to_bw.rst
|
|
||||||
separate_color.rst
|
|
||||||
separate_xyz.rst
|
|
||||||
set_alpha.rst
|
|
||||||
switch_view.rst
|
|
@ -30,7 +30,7 @@ Size
|
|||||||
controlled by an input image. In order to use the latter, the Variable Size option must be selected.
|
controlled by an input image. In order to use the latter, the Variable Size option must be selected.
|
||||||
See the examples section below for more on how to use this.
|
See the examples section below for more on how to use this.
|
||||||
Bounding Box
|
Bounding Box
|
||||||
This can be used with a :doc:`Box Mask </compositing/types/matte/box_mask>`
|
This can be used with a :doc:`Box Mask </compositing/types/mask/box_mask>`
|
||||||
matte node or with a :doc:`Mask </compositing/types/input/mask>`
|
matte node or with a :doc:`Mask </compositing/types/input/mask>`
|
||||||
input node to restrict the area of the image the blur is applied to. This could be helpful, for example,
|
input node to restrict the area of the image the blur is applied to. This could be helpful, for example,
|
||||||
when developing a node system by allowing only a small area of the image to be filtered
|
when developing a node system by allowing only a small area of the image to be filtered
|
||||||
@ -59,14 +59,14 @@ Examples
|
|||||||
|
|
||||||
Three examples of how the size input may be used follow.
|
Three examples of how the size input may be used follow.
|
||||||
|
|
||||||
An :doc:`ID masked </compositing/types/converter/id_mask>`
|
An :doc:`ID masked </compositing/types/mask/id_mask>`
|
||||||
alpha image can be used so that a background is blurred while foreground objects remain in focus.
|
alpha image can be used so that a background is blurred while foreground objects remain in focus.
|
||||||
To prevent strange edges the :doc:`Dilate Node </compositing/types/filter/dilate_erode>` should be used.
|
To prevent strange edges the :doc:`Dilate Node </compositing/types/filter/dilate_erode>` should be used.
|
||||||
|
|
||||||
The Z pass can be visualized using a :doc:`Map Value </compositing/types/vector/map_value>` node
|
The Z pass can be visualized using a :doc:`Map Value </compositing/types/utilities/map_value>` node
|
||||||
and a :doc:`Color Ramp </compositing/types/converter/color_ramp>` node
|
and a :doc:`Color Ramp </compositing/types/color/color_ramp>` node
|
||||||
as described in :doc:`Render Layers </compositing/types/input/render_layers>`.
|
as described in :doc:`Render Layers </compositing/types/input/scene/render_layers>`.
|
||||||
A *multiply* :doc:`Math </compositing/types/converter/math>` node can be used following the color ramp
|
A *multiply* :doc:`Math </compositing/types/utilities/math>` node can be used following the color ramp
|
||||||
so that a blur value greater than one is used for objects outside the focal range.
|
so that a blur value greater than one is used for objects outside the focal range.
|
||||||
|
|
||||||
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
14
manual/compositing/types/filter/blur/index.rst
Normal file
14
manual/compositing/types/filter/blur/index.rst
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
#####################
|
||||||
|
Blur Filter Nodes
|
||||||
|
#####################
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
bilateral_blur.rst
|
||||||
|
blur.rst
|
||||||
|
bokeh_blur.rst
|
||||||
|
defocus.rst
|
||||||
|
directional_blur.rst
|
||||||
|
vector_blur.rst
|
@ -6,21 +6,35 @@
|
|||||||
Filters process the pixels of an image to highlight additional details or perform some sort of
|
Filters process the pixels of an image to highlight additional details or perform some sort of
|
||||||
post-processing effect on the image.
|
post-processing effect on the image.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
blur/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
anti_aliasing.rst
|
anti_aliasing.rst
|
||||||
bilateral_blur.rst
|
|
||||||
blur_node.rst
|
|
||||||
bokeh_blur.rst
|
|
||||||
defocus.rst
|
|
||||||
denoise.rst
|
denoise.rst
|
||||||
despeckle.rst
|
despeckle.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
dilate_erode.rst
|
dilate_erode.rst
|
||||||
directional_blur.rst
|
|
||||||
filter_node.rst
|
|
||||||
glare.rst
|
|
||||||
inpaint.rst
|
inpaint.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
filter.rst
|
||||||
|
glare.rst
|
||||||
pixelate.rst
|
pixelate.rst
|
||||||
|
posterize.rst
|
||||||
sun_beams.rst
|
sun_beams.rst
|
||||||
vector_blur.rst
|
|
||||||
|
@ -9,7 +9,7 @@ Pixelate Node
|
|||||||
:align: right
|
:align: right
|
||||||
:alt: Pixelate Node.
|
:alt: Pixelate Node.
|
||||||
|
|
||||||
Add this node in front of a :doc:`Scale node </compositing/types/distort/scale>`
|
Add this node in front of a :doc:`Scale node </compositing/types/transform/scale>`
|
||||||
to get a pixelated (non-smoothed) image from the resultant upscaled image.
|
to get a pixelated (non-smoothed) image from the resultant upscaled image.
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,18 +14,6 @@ that can be combined into a single node while selectively exposing inputs of the
|
|||||||
Group nodes can simplify a node tree by allowing instancing and hiding parts of the tree.
|
Group nodes can simplify a node tree by allowing instancing and hiding parts of the tree.
|
||||||
|
|
||||||
|
|
||||||
Make Group
|
|
||||||
==========
|
|
||||||
|
|
||||||
Creates a node group from the selected nodes, see :ref:`bpy.ops.node.group_make` for more information.
|
|
||||||
|
|
||||||
|
|
||||||
Ungroup
|
|
||||||
=======
|
|
||||||
|
|
||||||
Removes the selected nodes from a group, see :ref:`bpy.ops.node.group_ungroup` for more information.
|
|
||||||
|
|
||||||
|
|
||||||
Group Input
|
Group Input
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Bokeh Image Node
|
|||||||
:alt: Bokeh Image Node.
|
:alt: Bokeh Image Node.
|
||||||
|
|
||||||
The *Bokeh Image* node generates a special input image for use with
|
The *Bokeh Image* node generates a special input image for use with
|
||||||
the :doc:`Bokeh Blur </compositing/types/filter/bokeh_blur>` filter node.
|
the :doc:`Bokeh Blur </compositing/types/filter/blur/bokeh_blur>` filter node.
|
||||||
|
|
||||||
The *Bokeh Image* node is designed to create a reference image which simulates optical parameters
|
The *Bokeh Image* node is designed to create a reference image which simulates optical parameters
|
||||||
such as aperture shape and lens distortions which have important impacts on bokeh in real cameras.
|
such as aperture shape and lens distortions which have important impacts on bokeh in real cameras.
|
||||||
@ -52,7 +52,7 @@ Example
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
In the example below the *Bokeh Image* is used to define the shape of the bokeh for
|
In the example below the *Bokeh Image* is used to define the shape of the bokeh for
|
||||||
the :doc:`Bokeh Blur </compositing/types/filter/bokeh_blur>` node.
|
the :doc:`Bokeh Blur </compositing/types/filter/blur/bokeh_blur>` node.
|
||||||
|
|
||||||
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
.. figure:: /images/compositing_types_filter_bokeh-blur_example-1.png
|
||||||
:width: 640px
|
:width: 640px
|
||||||
|
11
manual/compositing/types/input/constant/index.rst
Normal file
11
manual/compositing/types/input/constant/index.rst
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
############
|
||||||
|
Constant
|
||||||
|
############
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
rgb.rst
|
||||||
|
value.rst
|
@ -48,4 +48,4 @@ this makes the node a useful organizational tool.
|
|||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
From this you can also make different values proportional to each other by adding
|
From this you can also make different values proportional to each other by adding
|
||||||
a :doc:`Math Node </compositing/types/converter/math>` in between the different links.
|
a :doc:`Math Node </compositing/types/utilities/math>` in between the different links.
|
@ -15,6 +15,13 @@ For instance, an input can be:
|
|||||||
These nodes generate the information that is passed to other nodes.
|
These nodes generate the information that is passed to other nodes.
|
||||||
As such, they have no input sockets; only outputs.
|
As such, they have no input sockets; only outputs.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
constant/index.rst
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
@ -22,10 +29,11 @@ As such, they have no input sockets; only outputs.
|
|||||||
image.rst
|
image.rst
|
||||||
mask.rst
|
mask.rst
|
||||||
movie_clip.rst
|
movie_clip.rst
|
||||||
render_layers.rst
|
|
||||||
rgb.rst
|
|
||||||
scene_time.rst
|
|
||||||
texture.rst
|
texture.rst
|
||||||
time_curve.rst
|
|
||||||
track_position.rst
|
----------
|
||||||
value.rst
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
scene/index.rst
|
||||||
|
12
manual/compositing/types/input/scene/index.rst
Normal file
12
manual/compositing/types/input/scene/index.rst
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#########
|
||||||
|
Scene
|
||||||
|
#########
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
render_layers.rst
|
||||||
|
scene_time.rst
|
||||||
|
time_curve.rst
|
@ -48,7 +48,7 @@ Factor
|
|||||||
|
|
||||||
.. hint:: Output values
|
.. hint:: Output values
|
||||||
|
|
||||||
The :doc:`Map Value </compositing/types/vector/map_value>`
|
The :doc:`Map Value </compositing/types/utilities/map_value>`
|
||||||
node can be used to map the output to a more appropriate value.
|
node can be used to map the output to a more appropriate value.
|
||||||
With sometimes curves, it is possible that the Time Curve node
|
With sometimes curves, it is possible that the Time Curve node
|
||||||
may output a number larger than one or less than zero.
|
may output a number larger than one or less than zero.
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
###############
|
################
|
||||||
Matte Nodes
|
Keying Nodes
|
||||||
###############
|
################
|
||||||
|
|
||||||
These nodes give you the essential tools for creating a :term:`Matte` for images
|
These nodes give you the essential tools for creating a :term:`Matte` for images
|
||||||
that do not already have their own :term:`Alpha Channel`.
|
that do not already have their own :term:`Alpha Channel`.
|
||||||
@ -18,7 +18,7 @@ Taking out too much green can result in foreground actors looking flat or bluish
|
|||||||
You can and should chain these nodes together,
|
You can and should chain these nodes together,
|
||||||
improving your masking and color correction in successive refinements,
|
improving your masking and color correction in successive refinements,
|
||||||
using each node's strengths to operate on the previous node's output.
|
using each node's strengths to operate on the previous node's output.
|
||||||
:doc:`Keying Node </compositing/types/matte/keying>` is the closest to a "does-it-all" node
|
:doc:`Keying Node </compositing/types/keying/keying>` is the closest to a "does-it-all" node
|
||||||
for green screens, but the best results stem from a combination of techniques.
|
for green screens, but the best results stem from a combination of techniques.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -34,26 +34,21 @@ for green screens, but the best results stem from a combination of techniques.
|
|||||||
by the node.
|
by the node.
|
||||||
|
|
||||||
Simple garbage mattes can be created with
|
Simple garbage mattes can be created with
|
||||||
the :doc:`Box Mask </compositing/types/matte/box_mask>` or
|
the :doc:`Box Mask </compositing/types/mask/box_mask>` or
|
||||||
the :doc:`Ellipse Mask </compositing/types/matte/ellipse_mask>`.
|
the :doc:`Ellipse Mask </compositing/types/mask/ellipse_mask>`.
|
||||||
More complicated matte shapes using
|
More complicated matte shapes using
|
||||||
a :doc:`Double Edge Mask </compositing/types/matte/double_edge_mask>` or
|
a :doc:`Double Edge Mask </compositing/types/mask/double_edge_mask>` or
|
||||||
using a :doc:`Mask </compositing/types/input/mask>`.
|
using a :doc:`Mask </compositing/types/input/mask>`.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
box_mask.rst
|
|
||||||
channel_key.rst
|
channel_key.rst
|
||||||
chroma_key.rst
|
chroma_key.rst
|
||||||
color_key.rst
|
color_key.rst
|
||||||
color_spill.rst
|
color_spill.rst
|
||||||
cryptomatte.rst
|
|
||||||
cryptomatte_legacy.rst
|
|
||||||
difference_key.rst
|
difference_key.rst
|
||||||
distance_key.rst
|
distance_key.rst
|
||||||
double_edge_mask.rst
|
|
||||||
ellipse_mask.rst
|
|
||||||
keying.rst
|
keying.rst
|
||||||
keying_screen.rst
|
keying_screen.rst
|
||||||
luminance_key.rst
|
luminance_key.rst
|
@ -22,7 +22,7 @@ Image
|
|||||||
Key Color
|
Key Color
|
||||||
The color of content to be removed. This may be a single color,
|
The color of content to be removed. This may be a single color,
|
||||||
or a reference image such as generated by
|
or a reference image such as generated by
|
||||||
the :doc:`Keying Screen Node </compositing/types/matte/keying_screen>`.
|
the :doc:`Keying Screen Node </compositing/types/keying/keying_screen>`.
|
||||||
Garbage Matte
|
Garbage Matte
|
||||||
An optional mask of area(s) to always *exclude* from the output.
|
An optional mask of area(s) to always *exclude* from the output.
|
||||||
This is removed from the chroma key generated matte.
|
This is removed from the chroma key generated matte.
|
||||||
@ -48,12 +48,12 @@ Despill Factor
|
|||||||
Controls how much color bleed from the key color is removed from the input
|
Controls how much color bleed from the key color is removed from the input
|
||||||
image: 0 means no despilling, 1 means all possible spilling will be removed.
|
image: 0 means no despilling, 1 means all possible spilling will be removed.
|
||||||
The underlying implementation is the same as adjusting the *Unspill* amount
|
The underlying implementation is the same as adjusting the *Unspill* amount
|
||||||
of the :doc:`Color Spill Node </compositing/types/matte/color_spill>`.
|
of the :doc:`Color Spill Node </compositing/types/keying/color_spill>`.
|
||||||
Despill Balance
|
Despill Balance
|
||||||
This controls how the color channels are compared when computing spill,
|
This controls how the color channels are compared when computing spill,
|
||||||
affecting the hue and shade of the corrected colors.
|
affecting the hue and shade of the corrected colors.
|
||||||
It is similar to setting the *Limiting Channel*
|
It is similar to setting the *Limiting Channel*
|
||||||
in the :doc:`Color Spill Node </compositing/types/matte/color_spill>`.
|
in the :doc:`Color Spill Node </compositing/types/keying/color_spill>`.
|
||||||
Edge Kernel Radius
|
Edge Kernel Radius
|
||||||
Defines the radius in pixel used to detect an edge.
|
Defines the radius in pixel used to detect an edge.
|
||||||
Edge Kernel Tolerance
|
Edge Kernel Tolerance
|
||||||
@ -63,7 +63,7 @@ Edge Kernel Tolerance
|
|||||||
Clip Black
|
Clip Black
|
||||||
This sets the threshold for what becomes fully transparent in the output (black in the matte).
|
This sets the threshold for what becomes fully transparent in the output (black in the matte).
|
||||||
It should be set as low as possible. Uneven backdrops will require this value to be increased.
|
It should be set as low as possible. Uneven backdrops will require this value to be increased.
|
||||||
Use of the :doc:`Keying Screen Node </compositing/types/matte/keying_screen>` can help
|
Use of the :doc:`Keying Screen Node </compositing/types/keying/keying_screen>` can help
|
||||||
keep this value low. You may also use a *Garbage Matte* to exclude problematic areas.
|
keep this value low. You may also use a *Garbage Matte* to exclude problematic areas.
|
||||||
|
|
||||||
This value does not impact areas detected as edges to ensure edge detail is preserved.
|
This value does not impact areas detected as edges to ensure edge detail is preserved.
|
||||||
@ -94,8 +94,8 @@ Image
|
|||||||
Processed image with the *Matte* applied to the images' :term:`Alpha Channel`.
|
Processed image with the *Matte* applied to the images' :term:`Alpha Channel`.
|
||||||
Matte
|
Matte
|
||||||
Output matte to use for checking the quality of the key, or to manually apply
|
Output matte to use for checking the quality of the key, or to manually apply
|
||||||
using a :doc:`Set Alpha Node </compositing/types/converter/set_alpha>` or
|
using a :doc:`Set Alpha Node </compositing/types/color/set_alpha>` or
|
||||||
:doc:`Mix Node </compositing/types/color/mix>`.
|
:doc:`Mix Node </compositing/types/color/mix/mix_color>`.
|
||||||
Edges
|
Edges
|
||||||
Shows what edges were detected on the matte.
|
Shows what edges were detected on the matte.
|
||||||
Useful for adjusting the *Edge Kernel Radius* and *Edge Kernel Tolerance*.
|
Useful for adjusting the *Edge Kernel Radius* and *Edge Kernel Tolerance*.
|
@ -49,7 +49,7 @@ Example
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
Consider a node setup for green screen removal, using
|
Consider a node setup for green screen removal, using
|
||||||
a :doc:`Color Key </compositing/types/matte/color_key>`:
|
a :doc:`Color Key </compositing/types/keying/color_key>`:
|
||||||
|
|
||||||
.. figure:: /images/compositing_types_matte_keying-screen_key-usage.png
|
.. figure:: /images/compositing_types_matte_keying-screen_key-usage.png
|
||||||
:width: 480px
|
:width: 480px
|
@ -21,7 +21,7 @@ that aren't suitable for chroma keying.
|
|||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
When compositing footage of something that emits light and has a dark background,
|
When compositing footage of something that emits light and has a dark background,
|
||||||
like fire, a :doc:`Mix Node </compositing/types/color/mix>` using a *Screen* or
|
like fire, a :doc:`Mix Node </compositing/types/color/mix/mix_color>` using a *Screen* or
|
||||||
*Add* operator will produce better results.
|
*Add* operator will produce better results.
|
||||||
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
.. _composite-nodes-layout-index:
|
|
||||||
|
|
||||||
################
|
################
|
||||||
Layout Nodes
|
Layout Nodes
|
||||||
@ -7,7 +6,3 @@
|
|||||||
|
|
||||||
These are nodes which help you control the layout and connectivity of nodes within the Compositor.
|
These are nodes which help you control the layout and connectivity of nodes within the Compositor.
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
switch.rst
|
|
||||||
|
@ -61,4 +61,4 @@ Mask
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
For soft edges, pass the output mask through a slight :doc:`Blur node </compositing/types/filter/blur_node>`.
|
For soft edges, pass the output mask through a slight :doc:`Blur node </compositing/types/filter/blur/blur>`.
|
@ -21,7 +21,7 @@ and mattes will be anti-aliased and take into account effects like motion blur a
|
|||||||
.. important::
|
.. important::
|
||||||
|
|
||||||
The Cryptomatte Legacy node is deprecated and replaced by
|
The Cryptomatte Legacy node is deprecated and replaced by
|
||||||
:doc:`Cryptomatte Node </compositing/types/matte/cryptomatte>`.
|
:doc:`Cryptomatte Node </compositing/types/mask/cryptomatte>`.
|
||||||
The legacy node will be removed in a future Blender release.
|
The legacy node will be removed in a future Blender release.
|
||||||
|
|
||||||
|
|
@ -62,5 +62,5 @@ Mask
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
For soft edges, pass the output mask through a slight :doc:`Blur node </compositing/types/filter/blur_node>`.
|
For soft edges, pass the output mask through a slight :doc:`Blur node </compositing/types/filter/blur/blur>`.
|
||||||
For a vignette, pass the output of this through a heavy blur.
|
For a vignette, pass the output of this through a heavy blur.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user