Component Types
Overview
These are CloudRig's component types. Most component types are built on top of others, meaning they inherit each other's functionalities. The image above and the table of contents below shows this inheritance hierarchy.
Assigning Components
You can assign a component to a bone in the metarig. For chain components, the connected children will be part of the same component, as long as they aren't assigned a component of their own. You can assign components to bones in two places in the UI:
- Properties -> Armature -> CloudRig -> Rig Components (Hit the + button to assign a component to the active bone.)
- Properties -> Bone -> CloudRig Component -> Component Type (Only appears when 'CloudRig' is enabled on the armature.)
Component Samples
Each component type comes with a sample so you can get something up and running quickly and start playing around with it. You can add these in the 3D View via Add (Shift+A)->Armature->CloudRig Samples:
Shared Parameters
All CloudRig component types share some basic functionality, like letting you choose a parent for the component's root, and even specify a parent switching set-up for it.
Details & Parameters
Advanced Mode
This is technically a user preference, but it relates to component parameters. Some component parameters are rarely necessary or only if you want to really fine tune stuff. So, these options are hidden until this option is enabled, to ease the new user experience.
Constraint Relinking
On any component, you can add constraints to the metarig bones. On generation, these constraints will be moved to the generated bones that make the most sense for a given component type. This is just to allow you to add some constraints when needed, without using Bone Tweak components. For example, you can add Copy Rotation constraints to the metarig bones of an FK Chain component. That constraint can target the generated rig's bones, even though it's a different armature object. During generation, that constraint will be moved to the corresponding FK control.
Root Parent
If specified, parent the root of this component to the chosen bone. You're choosing from the generated rig's bones here. If the chosen bone is a bendy bone, additional options appear: - Use an Armature constraint instead of normal parenting: This constraint takes bendy bone curvature into account, but it also means the parenting transforms will affect the bone's local matrix. If you want to use the bone's local transformations to drive something, you essentially won't be able to. - Create parent helper bone: This fixes the local matrix issue by creating a parent helper bone for the aforementioned Armature constraint.
Parent Switching
This option lets you create a parent switcher by entering the UI names of each parent on the left side, and the corresponding parent bone on the right side. The bone names are chosen from the generated rig. The chosen bones will be the available parents for this component's root bone, and a selector will be added to the rig UI. Different component types may implement parent switching differently. The specific behaviour is explained underneath the checkbox when it is enabled.
Custom Property Storage
This setting will appear for components that need to create custom properties. Custom Properties are used for things like IK/FK switching.
- "Default": A bone named "Properties" will be created to store custom properties.
- "Custom": If you want to store the custom properties on an arbitrary bone, this option lets you select one. The selected bone has to be higher in the metarig hierarchy than this component, else you'll get a warning.
- "Generated": Component types implement their own behaviours for creating a custom property storage bone in a place that makes most sense for that component type. For example, the Biped Leg component will put the properties bone behind the foot control.
Bone Sets
Components organize their bones using parameters called Bone Sets. These live under the Bone Organization sub-panel, which is only visible when Advanced Mode is enabled. Bone Sets are further explained on the Organizing Bones page.
Chain: Toon
The most basic bone chain, consisting of independent controls connected by stretchy bendy bones. Can be useful for long, soft props, like a scarf on the floor, or soft circular things like a car tire.
Scaling the stretch controls uniformally gives the connected bendy bones more volume. Scaling them only on their local Y axis affects only the curvature of the chain.
Parameters
Stretch Segments
Number of sub-controls for each bone in the meta chain.
Tip Control
Whether there should be a control at the tip of this chain.
B-Bone Density
B-Bone segments will be distributed equally along the chain. As long as this value is >0, each bone will have at least 2 b-bone segments. A high density will not have a severe impact on performance.
Sharp Sections
Bendy bones will not affect the curvature of their neighbours, unless their shared stretch control is scaled up on its local Y axis.
Smooth Spline
Bendy bones will have a wider effect on the curvature of their neighbours, to easily get smoother curves. Works best when Deform Segments is 1, but that is not a requirement. Works fine with Sharp Sections, but it will only take effect once a stretch control is scaled up along its local Y axis.
Preserve Volume
When enabled, deform bones will become fatter when squashed, and slimmer when stretched.
Create Shape Key Helpers
Create helper bones that can be used to read the rotational difference between deform bones. Useful for driving corrective shape keys. These helpers will be prefixed "SKH" for "Shape Key Helper".
Create Deform Controls
Create controls that allow you to translate and scale deform bones by disconnecting them from their neighbours.
Chain: Face Grid
Extends the functionality of the Toon Chain with functionality to create intersection controls in locations where multiple chains intersect. Can be used to create a grid of bendy bone chains. Can be useful for faces, but I personally no longer recommend this workflow. As cool as it looks, it's difficult and unintuitive to control small areas, and difficult to set up.
Parameters
Merge Controls
Create controls for points where multiple Face Grid chains intersect. If a Chain Intersection component is found at that intersection, that will be used instead of generating one from scratch.
Chain: Eyelid
This component should be parented to an Aim component, presumed to be an eyeball. The rotation of that Aim component (eyeball) will affect this eyelid component. The strength of this effect can be adjusted by animators in the rig UI under a Face Settings panel. This can give a decent fleshy eyelid set-up very quickly, but for a main character, I advise instead to create Action Set-Ups to connect the eyeball's up-down and left-right rotations to hand-crafted eyelid poses. This will allow you to hand craft the way the eyelids react to the eyes in great detail.
Chain: FK
Extends the functionality of the Toon Chain. In addition to stretch controls, this also creates FK controls, which are parented to each other in a hierarchy. Useful for fingers, tails, hair, appendages, a vast array of things.
Parameters
Create Root
Create a root control for this rig component. This is required for the Hinge Toggle.Hinge
Set up a hinge toggle. This will add an option to the rig UI. When FK Hinge is enabled, the FK chain doesn't inherit rotation from its parent.Position Along Bone
How far (0-1) the FK control should be along the length of the bones. A value of 0.5 can make it easier to create smooth curves.Inherit Scale
Sets the scale inheritance type for FK controls.Rotation Mode
Rotation Mode for the FK controls.Duplicate First FK
Create an extra parent control for the first FK control.Display FK in Center
Display the FK controls in the center of the bone rather than at the head of the bone. Only affects display, no functional difference. Purely up to preference.
Test Animation
This panel will only show when the "Generate Action" Generator Parameter is enabled. When this option is enabled, this component will add keyframes into the generated action which can be used to test character deformations.Rotation Range
The negative and positive rotation amount in degrees to use for the aforementioned test animation.Rotation Axes
Which axes you want tested in the test animation. For example for fingers, you probably only need one axis.
Chain: Physics
Extends the functionality of the FK Chain component with a physics setup that utilizes Blender's built-in cloth simulation (for better or worse). The FK controls are constrained to a cloth mesh, and can't be posed. However, optional Physics controls can be created to deform the cloth mesh. The simulation is applied on top of this deformation. This can be useful for achieving a video-gamey physics sim for things like a character's ponytail or any other appendage.
Parameters
Cloth Object
The cloth object that the FK chain will be constrained to with Damped Track constraints. The object should have vertex groups named "PSX-FK control_name". You can leave this unspecified at first and a simple object will be generated for you, which you can later modify.Force Re-Generate
If you intend to modify the cloth mesh, make sure to disable this option since otherwise re-generating the rig will also re-generate the cloth mesh. Enabling this is useful however when you are still iterating on the shape of the bone chain, in which case you want to re-generate the mesh every time.Pin Falloff
Type of the vertex weight falloff curve for the chain of vertices making up the cloth mesh.Pin Falloff Offset
Stretch factor for the pin falloff curve. Increasing this will make the cloth more stiff.Create Physics Controls
When enabled, this will create a PSX control chain which lets you control the cloth simulation. This will only work on pinned vertices - vertices with a pin weight of 0 will only be affected by the cloth simulation, while a weight of 1 means being fully affected by the armature.
Feather
Some small tweaks to the FK Chain component to work a bit better for an individual feather of a bird. Requires a single bone.
This component type comes with no additional parameters.
Spine: IK/FK
Builds on the FK Chain component with additional option for creating an IK-like set-up for a spine.
Parameters
Spine: Squashy
Also builds on the FK Chain component, but instead of an ability to have the spine be lead by the hip movements, this set-up allows the torso to be squashed, and the animator can control the amount of volume preservation. Useful for more cartoony stuff.
Parameters
Shoulder
A very simple extension of the FK Chain component, essentially just changes the bone shape.
Parameters
Up Axis
Rotate the bone shape to align with this axis of the bone.
Chain: IK
Extends the FK Chain component with IK functionality. The default direction of the pole target is determined based on the curvature of the bone chain. This requires at least 2 bones. This rig adds IK/FK switching and snapping and IK Stretch settings to the rig UI.
Parameters
Create IK Pole
Whether the IK constraint should use a pole target control, and whether such bone should even be created.IK At Tail
Put the IK control at the tail of the last bone, rather than at its head.World-Aligned IK Master
Align the IK master control with the nearest world axis. Not recommended for arms when your resting pose is an A-pose.Flatten Bone Chain
Although not a parameter, this button will flatten your chain along a plane with as little changes as possible, to ensure predictable IK behaviour.
Chain: Finger
Changes the IK Chain component with some specific behaviours useful for fingers. The fingers should bend in their local +X axis. The IK settings of finger rigs are organized into a sub-sub-panel in the rig UI, because there are usually a lot of fingers, resulting in a lot of UI sliders.
Parameters
Create IK Switch Control
Instead of using a UI slider for FK/IK switching, create a control in the viewport for the switching. Whether the IK constraint should use a pole target control, and whether such bone should even be created.
Limb: Generic
Extends the IK Chain component with cartoony rubber-hose functionality. This requires a chain of exactly 3 bones.
Parameters
Duplicate IK Master
Create an extra child control for the IK master.Limit Elbow Axes
Lock the Y and Z rotation of the elbow, constraining the rig to realistic rotation axes. More importantly, this is necessary for precise IK->FK snapping.Rubber Hose
This option is only available when Smooth Chain is enabled and Deform Segments is greater than 1. When this option is enabled, a slider is added to a rig UI which lets you have an automatic cartoony rubber hose limb effect.With Control
Instead of a UI slider, create a control bone that can be scaled to control the strength of the automatic rubber hose effect.Type
There are two ways to achieve the rubber hose deformation. One results in lengthening the limbs, while the other results in shortening them. It's a question of which style you prefer.
Limb: Biped Leg
Extends the functionality of the Generic Limb component with footroll. This requires a chain of exactly 4 bones.
Parameters
Curve: With Hooks
Create hook controls for an existing Curve object. Multiple splines within a single curve object are supported. Each spline will have its own root control.
Parameters
Curve
The target curve object to be hooked up to bone controls. Must be chosen!Custom Name
String to use to name the bones. If not specified, use the base bone's name.Inherit Scale
Scale inheritance setting of the curve hook and spline root controls.X Axis Symmetry
Controls will be named with .L/.R suffixes based on their X position. A curve object that is symmetrical around its own X 0 point is expected, otherwise results may be unexpected.Controls for Handles
For every curve point hook control, create two children that separately control the handles of that curve point.Rotatable Handles
Set up the handle controls in a way where they can be rotated. Note that they will still allow translation, but if you translate them, rotating them afterwards will be unpredictable.Separate Radius Control
Instead of using the hook control's size to control the curve point's radius, create a separate child control to do so.
Curve: Spline IK
Extends the functionality of the Curve With Hooks component, where instead of adding bones to control an existing curve object, it creates a new curve object along a chain of bones and creates a Spline IK constraint setup. The curve is always re-generated along with the rig. The curve parameter is grayed out, since it will be created for you. You cannot specify a custom curve. Instead, if you want to change the shape of distribution of the curve, simply make those changes in the bone chain. This can contain more information.
Parameters
Curve Handle Length
A multiplier on curve handle length. 1.0 means the curve handle is long enough to reach the neighbour curve point.Deform Setup
How this component should behave with Armature modifiers:- None: Don't create deformation bones. Then this component cannot be used with Armature modifiers.
- Preserve: Preserve the Deform checkbox of the bones as set in the metarig.
- Create: Create DEF- bones that are a separate chain with the Deform checkbox enabled.
Subdivide Bones
When Deform Setup is set to Create, this value defines how many deforming bones to generate along each original bone in the metarig. More bones results in a smoother curvature. However, the Spline IK constraint only supports a chain of up to 255 bones.Match Controls to Bones
When enabled, control bones will be created at the locations of the meta chain's bones. When disabled, control bones will be distributed an equal distance from each other along the chain.Number of Hooks
When the above setting is disabled, this specifies how many controls should be placed along the chain.
Lattice
Creates a lattice with a root and a hook control. The hook control deforms the inside of the lattice using a spherical vertex group that gets generated. You can manually add Lattice modifiers to objects that you want to be deformed by the created lattice. This is a very performant and very flexible way to slightly nudge or bulge things. Every rig should have a few of these lattice set-ups scattered around, particularly clothing and faces. You never know when it might come in handy, but it often does.
Parameters
Lattice
The lattice object that will be generated. If empty, one will be created.Regenerate
Whether the lattice should be re-generated from scratch or not. Disable this if you want to customize the lattice, otherwise any changes beside the object's name, will be lost when you re-generate the rig.
Aim
This rig creates an aim control for a single bone. Can be useful for cameras, eyes, or anything that needs to aim at a target.
Parameters
Aim Group
Aim rigs belonging to the same Aim Group will have a shared master control generated for them.Target Distance
Distance of the aim target from the base bone. This value is not in Blender units, but is a value relative to the scale of the rig.Flatten X
Discard the X component of the eye vector when placing the target control. Useful for eyes that have significant default rotation. This can result in the eye becoming cross-eyed in the default pose, but it prevents the eye targets from crossing each other or being too far from each other.Create Deform
Create a deform bone for this rig. May not be always needed, for example if you just want to object-parent something to the aim rig, like a camera.Create Root
Create a root bone for this rig.Create Sub-Control
Create a secondary control and deform bone attached to the aim control. Useful for fake eye highlights.
Bone Copy
This component type lets you copy a connected chain of bones over to the generated rig. Often used just to copy a single bone. Useful for face controls or any other arbitrary control you want to add.
Constraints will be relinked to the copied bone.
Parameters
Create Custom Pivot
Create a parent control whose local translation is not propagated to the main control, but its rotation and scale are.
Create Deform Bone
Create a second bone with the DEF- prefix and the Deform property enabled, so you can use it as a deform bone.
Ensure Free Transformation
If this bone has any constraints, move them to a parent bone prefixed with "CON", unless the constraint name starts with "KEEP".
Custom Properties: UI Sub-panel
Choose which sub-panel the custom properties should be displayed in. If empty, the properties won't appear in the rig UI.
Custom Properties: UI Label
Choose which label the custom properties should be displayed under. If empty, the properties will display at the top of the subpanel.
Chain Intersection
This component is an extension of Bone Copy with a special interaction with Face Grid components.
Details
When a Chain Intersection is placed at the same location as one or more Face Grid bones, the Chain Intersection will be used as the intersection control, rather than automatically creating that intersection control. This can be useful because the automatically generated intersection controls have unwieldy bone names, and their orientation may also need to be customized.
This component has no additional parameters.
Bone Tweak
This component type lets you tweak aspects of a single bone that is expected to exist in the generated rig.
Parameters
Additive Constraints
If true, the constraints on this bone will be added on top of the target bone's already existing constraints, and then relinked. Otherwise, the original constraints will be overwritten.Tweak Parameters
The bone's properties are split into these categories:- Transforms
- Locks
- Rotation Mode
- Bone Shape
- Color Palette
- Collections
- Custom Properties
- IK Settings
- B-Bone Settings Each of these can be chosen to be copied over to the target bone or not. For example if you just want to add some extra constraints to a bone, you probably don't want to overwrite its transforms, bone shape, etc, so you would leave all of those unticked, and they will remain untouched.