****** Rigify ****** Introduction ============ Rigify helps automate the creation of character rigs. It is based around a building-block approach, where you build complete rigs out of smaller rig parts (e.g. arms, legs, spines, fingers...). The rig parts are currently few in number, but as more rig parts are added to Rigify it should become more and more capable of rigging a large variety of characters and creatures. Rigify also operates on the principle that once a rig is created, that rig should no longer need Rigify. This means you can always distribute rigs created with Rigify to people who do not have it and the rigs will still function completely. It is important to note that Rigify only automates the creation of the rig controls and bones. It does not attach the rig to a mesh, so you still have to do skinning etc. yourself. Main Features ------------- Modular rigging Rigify build blocks can be mixed together to rig any character you want. If you need to build a character with five arms and one leg Rigify can handle it for you creating all the required complex controls system (FK, IK, and all the relative snapping tools and the UI) in few seconds. Nondisruptive re-rig If the generated rig doesn’t fit all the features you need or, for example, you decide to add something more to your character (like a sixth arm or a tail), you can re-generate your rig without losing your previously generated features and your animation data. Advanced and flexible feature set for character animation The included rig samples (limbs, spines, tails, fingers, faces…) adds to all the stretchy FK/IK features a direct deformation secondary layer that lets you flex, bend and deform the character as you like through interactive Bendy Bones controls. Shareable animation through all Rigify rigs Since the control system is generated by Rigify, if you share a meta-rig through different characters you will be able to share data between them even if they have different proportions. Extendable feature set You can save and encode your meta-rigs to a button to have them available at any time without recreating it by hand or share your meta-rigs with other people. Through Python scripting you can also extend Rigify with new Rigify-types or new rig samples. Ready to go Once you generate your rig you won’t need Rigify or any other add-on to use it. Activation ========== - Open Blender and go to Preferences then the Add-ons tab. - Click Rigging then Rigify to enable the script. Basic Usage =========== #. Add a meta-rig structure from the :menuselection:`Add --> Armature` menu. #. Edit the bone positions to match the character geometry. #. In the armature properties click on the *Generate* button to generate the rig. Add a Predefined Meta-Rig ------------------------- .. admonition:: Reference :class: refbox :Mode: Object Mode :Menu: :menuselection:`Add --> Armature` :Hotkey: :kbd:`Shift-A` Rigify stores all the information required to generate complex rig controls and mechanism in more simple armatures called “meta-rigs”. The precompiled meta-rigs can be found in the *Add* menu. Currently available meta-rig types are: - Basic Human - Basic Quadruped - Human - Cat - Wolf - Horse - Shark Edit Bone Positions ------------------- To correctly match your character, meta-rig bones must be moved to correct positions. This can be achieved in two different ways: Pose Mode or Edit Mode. .. note:: Rigify assumes that 1 unit corresponds to 1 meter. So a human is about 2 units tall. If your character is in a different scale and you are more familiar with modeling rather than rigging, it is suggested to scale it to Rigify dimensions before positioning the meta-rig bones. f you want to scale the character’s geometry, we suggest you to first scale up the character in Object Mode, then apply the geometry scale with the *Apply Scale* tool. Rigify Human Alignment Tips ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Limbs: Keep the legs as straight as possible in the front view (Rigify human works better in predictable cases). Give the knee and the elbow a slight bend angle (Rigify needs to know where your knee/elbow is pointing). - Torso: Keep the spine as straight as possible in the front view (Rigify human works better in predictable cases). The last bone of the spine is the head. By default the next two bones (top to bottom) are considered the neck bones. It is suggested to keep the neck bones as aligned as possible while editing. - Face: Positioning face bones can be tricky if you are not an expert in bone editing and they are almost useless if you plan to make facial animation through shape keys. Consider removing face features from your character if they aren’t really needed. If you don’t need the face all the face bones can be deleted. All the face bones are on the first armature layer by default. You can select them by displaying only bone layer 1, selecting all of its content and then deleting the bones in Edit Mode to correctly remove the face. If you want to scale all the face bones at once, consider scaling the face master bone in Pose Mode (see Pose Mode matching method). The face master bone is placed in the same position of the head bone. To select it easily, hide all other bone layers. Pose Mode Matching (Basic) -------------------------- Enter the meta-rig Pose Mode. Rotate, scale, and translate the bones in the correct position. When bones are in correct positions (always staying in Pose Mode) use :menuselection:`Apply --> Apply Pose As Rest Pose`. .. note:: Connected bones cannot be translated in Pose Mode. You can scale the parent bones to match the general length and then refine child bones scale. For more detailed information on armature modes please refer to the :doc:`armatures section `. Edit Mode Matching (Advanced) ----------------------------- Some basic armature display setup is suggested before entering bone Edit Mode. With the meta-rig selected, go in the Properties editor and click on the Object tab. Scroll down to the display panel and enable X-ray and under *Maximum Draw Type* selector select *Wire*. This way the bones will always be drawn in wireframe on top of your geometry. Then, always in the Properties editor click on the Armatures tab and under display check the *Axis* checkbox. This way you the bones rotation axes will be displayed during the edit process. For more detailed information on armature display modes please refer to the :doc:`Display panel page `. Bone Positioning Guide ---------------------- Face Bones ^^^^^^^^^^ Start by identifying basic face landmarks to follow as guide for bones placement. - Orange lines represent bones that should be placed in closed loops. - Yellow lines represent bones whose position depends on surrounding bone loops. - Red lines represent outer edge bones. - Purple lines represent bridging bones used to cover deforming flesh. The eyes-nose loop area is split in different parts identified by bone names. Follow the image to place the bones. .. tip:: Brow Placement Keeping aligned the mid bones in "brow", "brow.b", "lid.t", "lid.t" and cheek will give better results after rig generation. Also the jaw-ear area is split in different parts identified by bone names. Follow the image to place the bones. .. tip:: Jaw Placement Try to place "ear.L" bone covering the part of the ear attached to the mandible (lower jaw). Do the same with temple bone trying to cover the part you don’t want to move with the jaw, this way you will also determine the jaw pivot position. .. warning:: While placing the lip bones you should keep the opposite bone chains merged in the middle. Tearing the merge point apart may result in a misalignment of controls in the final rig. After the main face bones are placed use the cheek bone to connect the eye-nose area to the jaw mouth area. Then do the same with the brow area. This process will automatically define face muscles compression areas. .. tip:: Merge Points The rig will generically work as its best if you keep the bone connected at their merge points. Position the eye bones in the eye pivot point facing right **toward** the face on the Y axis. .. tip:: Eye Pivot If your eye has a spherical shape you can define its pivot by entering Edit Mode and selecting two opposite vertices on the center meridian -- or the opposite poles -- and snapping the cursor to selection by pressing :menuselection:`Snap --> Cursor To Selected`. If your eye is a complete sphere and its location it’s not applied, than you can just use its center of mass. Finally position the teeth bones on your teeth geometry and the tongue bone chain as described in the figure. .. tip:: Tongue The tongue will work better if the bones are aligned at the symmetry line. Before generating the rig ensure the face master bone is facing upward. Torso Bones ^^^^^^^^^^^ Start by identifying on your character basic torso zones to follow as guide for bones placement. Head, chest and pelvis are rigid zones, so they require less bones. Having a good edge loop placement around zone boundaries on your model will help in having correct deformation after armature binding. Starting from the side view, place the main spine bones trying to use one bone for the rigid areas and two for the flexible ones. In addition to the main spine, the torso is provided with additional pelvis bones (to oppose the leg bending), two breast controls and two shoulder bones. Even if the pelvis bones will not appear in the final rig as controls, they will contribute to deformation. .. tip:: Bone Placement Try to keep the spine as centered as possible inside the mesh bounding volume, just apply a slight offset toward the back. In a similar way, consider the shoulder bones as general deformers; placing it too forward -- where the collar bone should be -- could cause undesired deformations. Limbs Bones ^^^^^^^^^^^ While placing the arm bones try to start having a straight line that goes from the shoulder to the hand in both front and top view. After this is done just add a slight bend to the elbow. This can be easily done by going in the top view, entering armature Edit Mode and sliding the bone junction between forearm and upper_arm slightly toward the world’s Y axis. For the leg you can follow a similar process. Start by aligning the leg bones creating a straight line from the hips to the ankle, then place the foot and the toe accordingly. Remember to add a slight bend to the knee. This can be easily done by going in the side view, entering armature Edit Mode and sliding the bone junction between thigh and shin slightly toward the world’s Y axis. Finally align the heel bone by going in the front view and placing his head and tail to fill the foot size from side to side then, in the side view, align the bone at the point where the heel just touches the ground floor. .. note:: From version 0.5 and above there is no more need of manual bone rolls alignment, the generate function will take care of that for you evaluating it from bend axis; just insert a slight bend in your limb and it’s done! If you need more control on the orientation follow the guidelines described in `Advanced Usage`_. Fingers Bones ^^^^^^^^^^^^^ Start by placing, finger by finger, all the knocks in place. .. tip:: Fingers Placement An easy and effective method to do this operation is to select on the mesh the corresponding edge loop in Edit Mode and use the *Cursor to Selection* snap. Then you can snap the bone to the corresponding loop using the *Selection to Cursor* snap. Finalize the positioning by taking care of bone rolls (the X axis is set as bend axis). .. tip:: Bone Roll If your character's hand is placed like the above figures, finger axis alignment can be easily done by selecting all the bones of the single finger chain and recalculating the bone rolls :menuselection:`Recalculate Roll --> Global -Z Axis`. Thumb may require more tweaking depending on your character's mesh topology, usually :menuselection:`Recalculate Roll --> Global +Y Axis` is a good starting point. When the fingers are in place proceed placing the palm bones. .. tip:: Palm Placement Try to keep palm bones' heads at a little distance between each other. This distance is required for Rigify to define the palm controls hierarchy. Palm axis alignment can be easily done by selecting all the palm bones and recalculating the bone rolls :menuselection:`Recalculate Roll --> Global -Z Axis`. .. seealso:: For more detailed information on bones and rolls refer to the :doc:`Bone Structure ` and :ref:`armature-bone-roll`. Generating the Rig ------------------ With the bones in the correct positions, jump back in Object Mode, go to the Armature tab, scroll down to the bottom and click on the *Generate* button to finalize the rig creation. The generation process will take from few seconds to one minute depending on rig complexity and hardware specs of your machine. If the generated rig needs tweaking you can modify the meta-rig accordingly and then click again on the generate button. If the rig already exists, Rigify will simply overwrite it retaining all your modifiers and constraints and -- where possible -- all the previously generated features. If you need to generate more than one rig in the scene or update a specific one (when there are more than one in the same file) follow the instructions in the `Advanced Rig Generation`_ section. .. tip:: Rig Updating To make the rig overwriting work as expected, you need to have **both** the rig and the meta-rig visible before generating again. .. warning:: As with all Python add-ons, Blender interface cannot be updated until the Python script execution is over. Wait until the rig appears to see the results. Binding the Geometry to the Rig ------------------------------- To bind the geometry to the rig you can use your preferred tools. Just few things you have to know: - All the deforming bones are on the armature layer 30. - Eyes and Teeth bones are not deforming. You are supposed to bind the eyes and teeth geometry through Child Of constraints. - Usually armature deform with automatic weights do a really good job out of the box if you correctly place your bones (and there’s enough topology to work with!). For more detailed information on armature layers, armature modifier and weight painting refer to the Blender manual. Rig Features Description ------------------------ 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. Limbs ^^^^^ Each limb will have a gear widget at its base. This is the utility bone that contains all the sub-rig properties. The rig features will be displayed anyway when the affected bone is selected but if you are looking in the Graph editor for those properties’ animated values, this is most likely the bone to look at. Rigify’s super limb will list the following features: IK/FK Snapping To snap one chain to another just select the control you want to snap and in the Sidebar panel the snap buttons will appear. Click on the snap you want and it’s done! FK Limb Isolation Slider (0, 1) When set to 1 the FK arm will not rotate with the torso and will retain is rotation in world space instead. IK Following Boolean (0=False, 1=True) When the IK follow is set to 1 the IK limb will follow his parent depending on the Root/Parent slider. When set to 0 the IK limb will stay fixed in space whatever the rest of the rig will do. This is an useful option if you want to create your own Child Of constraint on the IK limb toward another part of the rig itself (like parenting the hand to the head). IK Limb Domain Space Select Slider Root/Parent (0=Root, 1=Parent) When set to Root the IK limb will move with the root, when set to Parent will move along with the torso. This value depends from the IK Follow option. IK/FK Limb Interactive Blending Slider (0=IK, 1=FK) When set to IK the arm will follow the IK controls, when set to FK the arm will follow the FK controls. Pole Vector Type Switch Boolean (0=Rotational Pole, 1=Standard pole vector) When set to 0 the IK arm will use the rotational pole vector (the arrow at the base of the limb). Rotating/translating/scaling the arrow will control the IK limb base. 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. Pole Vector Following Slider (0= Root, 1=Limb) If pole vector switch is set to 1 (standard pole), then this value defines the pole’s parenting. If Pole Following is set to 1 then the pole vector will be parented to the limb, if set to 0 will instead follow the root. This properties also depends on the IK follow control. When The general IK follow is set to 0, then the pole vector following will have no effect. IK Auto-Stretching Slider (0=No stretching, 1=Full Stretch) When set to 0 the IK limb it’s constrained to his rest length. When set to 1 the IK limb will stretch until it reaches the IK effector. Bendy Bones Flexible Tweaking For each limb -- depending on the user defined meta-rig options -- multiple bone segments will be created. Each bone can be controlled by controls placed at the respective bone’s head/tail. Tweaks movement will depend from the general IK limb position but they can be moved apart, twisted and scaled freely, even reaching virtually impossible limb shapes. Just select the desired tweak control and do whatever you want with it. Torso ^^^^^ Neck Follow Slider (0=Neck Follows Torso, 1=Neck Follows Chest) This slider controls the rotations isolation for the neck bones. When set to 0 the neck will stay oriented as the Torso (the big box control). When set to 1 the neck will be oriented as the Chest (the big circle in the shoulder area). Head Follow Slider (0=Head Follows Torso, 1=Head Follows Neck) This slider controls the rotations isolation for the head. When set to 0 the head will stay oriented as the Torso (the big box control). When set to 1 the head will be oriented as the neck. Face ^^^^ Mouth Lock Slider (0=Free Lips, 1=Lips Sealed) This slider controls the mouth opening. When set to 0 moving/rotating the jaw bone will result in mouth opening, when set to 1 the lips will stay sealed while the jaw is moving. Eyes Following Slider (0=locked eyelids, 1=automatic eyelids) This slider controls the eyelid automation. When set to 1 the eyelids and the lower eyebrow will follow the eye movement giving a realistic effect to the character, when set to 0 no automation will happen. Advanced Usage ============== #. Add a single bone from the :menuselection:`Add --> Armature` menu. #. Go in armature Edit Mode and build the meta rig by samples or Rigify-types. #. Define Rigify layers, bone grouping and selection sets. #. In the armature properties click on the *Generate* button to generate the rig. How Rigify Works ---------------- Rigify Meta-Rigs are split in multiple Sub-Rigs A meta-rig is an assembly of bone chains. A bone chain is identified by the *Connected* attribute. Bone chains can be further connected together by parenting them without using the *Connected* attribute (i.e. using the *Keep Offset* option while parenting). A custom attribute is set on the first bone of the sub-rig chain Each first bone of a bone chain has a custom attribute on it which is a Rigify custom property that identifies the sub-rig type. At rig generation time Rigify will determine which controls and deform bones will be created processing the meta-rig from the first bone to the last of each chain. New meta-rigs are created assembling sub-rigs samples Since a meta-rig is just a collection of sub-rigs, new meta-rigs can be built assembling sub-rigs in different ways. This way an infinite number of meta-rigs can be built from the same rigging blocks. All the mechanics, deformation bones and widget are created on a single click The meta-rig contains more information than the visualized bones. In fact at generation time Rigify will identify each sub-rig type and depending on the selected options will create all the sophisticated controls, switches, and deforming bones with a single click. Rigify Rig Types ---------------- Rig types are the properties collection used by Rigify to identify what kind of rig the user is building. .. note:: The list of available rig types appears in the Bone properties tab when the bone is selected in Pose Mode. Scroll down the Properties editor to find Rigify Type panel. The currently available rig types are: Basics ^^^^^^ ``basic.copy_chain`` Will copy the bone chain keeping all the parent relations untouched. Useful as utility rig-type for custom rigs. Requirement: A chain of at least two connected bones. control (boolean) When checked control bones and widgets will be created. deform (boolean) When checked deform bones will be created. ``basic.super_copy`` Will copy the bone. Useful as utility rig type for adding custom features or specific deform bones to your rigs. Requirement: A single bone. control (boolean) When checked control bone and widgets will be created. widget (boolean) When checked a circle widget will be created in replacement to the standard. deform (boolean) When checked deform bone will be created. Spines ^^^^^^ ``spines.super_spine`` Will create a complete bendy and stretchy b-bones spine system based on bone numbers of your bone chain and user defined options. Requirement: A chain of at least three connected bones (base system). pivot position (integer) Defines the pivot position for torso and hips. head (boolean) When checked neck and head systems will be added to your spine rig. neck position (integer) Defines the bone where the neck system starts. The last bone will always be the head system. If neck position is the last bone of the chain, then only the head system will be created ignoring the neck. tail (boolean) When checked tail system will be added to your spine rig. tail position (integer) Defines the bone where the tail system starts. The next bone will always be the hips system. Limbs ^^^^^ ``limbs.simple_tentacle`` Will create a bendy and stretchy b-bones tentacle chain or automatic bendy and stretchy finger controls. Requirement: A chain of at least two connected bones. Automation Axis (X, Y, Z, None) Enables the automation on the selected axis. Multiple axis or none can be selected holding :kbd:`Shift-LMB`. When enabled the controls of the last bones will copy the rotations from the previous ones. The option is exposed on the controls of the final rig as a Copy Rotation constraint and can be disabled even after rig is generated, or at animation time. ``limbs.super_finger`` Will create a bendy and stretchy chain or automatic bendy and stretchy finger depending on a master control bone. Requirement: A chain of at least two connected bones. Bend Rotation Axis (X, Y, Z, -X, -Y, -Z) Defines the automatic rotation axis to be linked to the scale of the master bone. ``limbs.super_limb`` Will create a full featured bendy and stretchy limb depending on the user defined options. Available limb types: Arm Requirement: A chain of at least three connected bones (upper_arm, forearm, hand). Rotation Axis (Automatic, X, Z) Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes. Limb Segments (integer) Defines the number of additional tweak controls each limb bone will have on the final rig. B-Bone Segments (integer) Defines the number of b-bone segments each tweak control will be split into. FK Extra Layers Defines on which bone layer the FK chain will be created. The yellow dot shows where will be placed the IK chain (by default is the same layer of meta-rig's limb chain). Tweak Extra Layers Defines on which bone layer the Tweak controls will be created. The yellow dot shows where will be placed the IK chain (by default is the same layer of meta-rig's limb chain). Leg Requirement: A chain of at least four connected bones and a last child used as heel pivot (thigh, shin, foot, toe, heel). Rotation Axis (Automatic, X, Z) Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes. Limb Segments (integer) Defines the number of additional tweak controls each limb bone will have on the final rig. B-Bone Segments (integer) Defines the number of b-bone segments each tweak control will be split into. FK Extra Layers Defines on which bone layer the FK chain will be created. The yellow dot shows where will be placed the IK chain (by default is the same layer of meta-rig's limb chain). Tweak Extra Layers Defines on which bone layer the Tweak controls will be created. The yellow dot shows where will be placed the IK chain (by default is the same layer of meta-rig's limb chain). Paw Requirement: A chain of at least four connected bones (upper_arm, forearm, paw, toe) or (thigh, shin, paw, toe). Rotation Axis (Automatic, X, Z) Defines the bend axis for the IK chain. FK chains will have a totally free degree of rotation on all axes. Limb Segments (integer) Defines the number of additional tweak controls each limb bone will have on the final rig. B-Bone Segments (integer) Defines the number of b-bone segments each tweak control will be split into. FK Extra Layers Defines on which bone layer the FK chain will be created. The yellow dot shows where will be placed the IK chain (by default is the same layer of meta-rig's limb chain). Tweak Extra Layers Defines on which bone layer the Tweak controls will be created. The yellow dot shows where will be placed the IK chain (by default is the same layer of meta-rig's limb chain). ``limbs.super_palm`` Will create a palm system based on the distance between palm bones. Requirement: At least two bones child of the same parent. The property has to be set on the inner palm bones (think it as index's metacarpus), the rig control will appear on the last palm bone (think it as pinky's metacarpus). Bend Rotation Axis (X, Z) Defines the automatic rotation axis to be used on the palm bones. Faces ^^^^^ ``faces.super_face`` Will create a face system based on the bones child to the parent that has the property set on it. Requirement: All the face bones bundled in the ``faces.super_face`` sample had to be present and child of the master bone that has the Rigify-type *face* property set. Experimental ^^^^^^^^^^^^ ``experimental.super_chain`` Rigify Rig Samples ------------------ Rig samples are just pre-built bone chains with corresponding rig type assigned to the first bone of the chain. The currently available rig samples are: .. rubric:: Basics - ``basic.copy_chain`` - ``basic.super_copy`` .. rubric:: Spines - ``spines.super_spine`` .. rubric:: Limbs - ``limbs.arm`` - ``limbs.paw`` - ``limbs.rear_paw`` - ``limbs.simple_tentacle`` - ``limbs.super_finger`` - ``limbs.super_limb`` - ``limbs.super_palm`` .. rubric:: Faces - ``faces.super_face`` .. rubric:: Experimental - ``experimental.super_chain`` Add a New Armature Object ------------------------- .. admonition:: Reference :class: refbox :Mode: Object Mode :Menu: :menuselection:`Add --> Armature --> Single Bone` :Hotkey: :kbd:`Shift-A` Building your own meta-rig from scratch requires an armature object to work with. Just add a single bone from the *Add* menu. .. tip:: At this stage naming the newly added armature "meta-rig" is a good idea. You can do it at any time (or not at all) but it's suggested to do it before going on so it will always be clear on which armature you have to work when editing the meta-rig structure. Edit Armature ^^^^^^^^^^^^^ Now that there is an armature object to work -- with the armature selected -- enter armature Edit Mode. Building a meta-rig from scratch in Edit Mode can be done in two ways: #. Adding rig samples. #. Creating bone chains. Adding Samples (Basic) """""""""""""""""""""" Adding samples in Edit Mode is a good way to start building a meta-rig. This way you can become familiar with the available building blocks and how they are meant to be used. To add a rig sample: #. Go in the armature tab. #. Scroll down to Rigify panel. #. Select a sample from the list. #. Click on the *Add sample* button. #. Edit the bone positions to match your character. Using Rig Types (Advanced) """""""""""""""""""""""""" #. Create your bone chains in Edit Mode. #. Assign the correct rig type to the first bone of each chain in Pose Mode. .. note:: Each sub rig has a required number of bones as input. If you are unsure on how to use rig-types properties, add a rig sample to your armature to see how it is supposed to be used. Layers, Bone Groups & Selection Sets ------------------------------------ Armature layers are usually used to isolate bones. Rigify can take advantage of armature layer to generate extra features and the user interface for the final rig. Blender 2.79 can handle 32 separate layers for each armature. The armature layers are visualized under the armature tab. They are split in two separate groups of 16: The top row contains layers from 1 to 8 and from 9 to 16. The bottom row layers form 17 to 24 and form 25 to 32. Rigify layers are displayed in a vertical layout inside their own separate panel named Rigify Layer Names. - The first column shows the layer number. - The second column is a display toggle. This toggle controls the armature layer visibility. It has the same effect of enabling/disabling the layer visibility from the top armature layers menu. It is just redrawn here for a simplicity. - The third column sets a specific layer name to be used to build the rig UI of the final rig. If set, a button with the specified name will be created in the rig_ui 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. When multiple color themes are used in the same rig, identifying which bone is selected or active can be tricky since each color will have its corresponding state. To override this behavior Rigify Bone Groups unifies the active and selected states with the same color. This is defined by two values: Unified Selected/Active Colors When this option is active adding a bone group in the list will always keep the colors consistent. When a color scheme is added as from a theme, the color scheme is loaded as is. Click on the *Apply* button to force the system to unify selected and active colors. Selected/Active Colors This two color fields define respectively *Selected* and *Active* colors. By default Rigify reads this colors from the theme defined by the user in the Blender preferences. This 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. To reset them to the Blender current theme value just click on the button with the update icon. Bone Groups can be added and deleted as done in the general Bone Group panel by clicking on the ``+`` or ``-`` buttons. All Bone Groups can be deleted at once by clicking on the specials menu. To add the predefined Rigify Default Bone Groups list click on *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. Advanced Rig Generation ----------------------- Advanced Options Features ^^^^^^^^^^^^^^^^^^^^^^^^^ When Advanced Options are enabled, user will be able to: - Generate more than one rig per scene. - Generate a rig with a specific name. - Update/Overwrite a specific rig. Advanced Options Activation ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Advanced Rig Generation Options are locked by default. Click on the *Advanced Options* button to enable. With Advanced Options enabled the panel will be updated displaying two main modes: - Overwrite - New By default overwrite is selected. At this stage if you don't touch anything in the UI the generate function will be invoked as is, meaning in fact that generating the rig now will create a new rig from the meta-rig if none is present in the scene, or overwrite the default one if you have already generated a rig from a meta-rig. For further information about the Rigify generate function look at basic usage section. New Rig Mode """""""""""" The *New* rig mode will let the user generate a new rig from the meta-rig regardless of an already generated rig is present in the scene. A specific name for the rig can be set by the user through the specific *Rig Name* text field. If no name is set, Rigify will generate an armature object named "rig" and a Python script named ``rig_ui.py``. .. note:: Keep in mind that along with the rig, Rigify generates also a ``rig_ui`` Python script which controls the UI in the 3D View. This Python script will be named accordingly with the specified rig name. Overwrite Rig Mode """""""""""""""""" The *Overwrite* rig mode will let the user specify a target rig to be overwritten. If none is set Rigify will search and eventually overwrite an armature object named "rig" and a Python script named ``rig_ui.py``. Library Linking --------------- When linking a rig into another file, you generally want to create a group that includes the generated rig, the character mesh, and the "WGT-" objects. You do not need to include the meta-rig. You then link in the group, make a group instance, and make the rig proxy. You also need to separately link in the ``rig_ui.py`` text data-block. Otherwise the rig UI will not appear in the Sidebar. .. admonition:: Reference :class: refbox :Category: Rigging :Description: Automatic rigging from building-block components. :Location: :menuselection:`Properties --> Armature, Bone`, :menuselection:`3D View --> Tools panel`, :menuselection:`3D View --> Add menu --> Armature` :File: rigify folder :Author: Nathan Vegdahl, Lucio Rossi, Ivan Cappiello, Alexander Gavrilov :License: GPL :Note: This add-on is bundled with Blender.