Simple Rig User Documentation ############################# Simple Rig is a lightweight rigging system for quickly setting up prop and secondary-asset rigs. It is built around a custom-pivot control that drives one or more objects, and can be arranged into a full hierarchy of parent/child controls. A finished Simple Rig can be exported to JSON and converted into a full Shifter rig when needed. `Simple Rig 2.0 Intro `_ .. image:: images/simplerig/simplerig_GUI.png :align: center :scale: 95% Overview -------- Typical workflow: 1. **Create Root** — initialize the rig for your scene (world / global / local master controls). 2. **Create CTL** — select geometry or transforms and add a control that drives them. 3. **Edit** — re-parent controls, add or remove driven objects, move pivots. 4. **Auto Rig** — (optional) batch-create controls from groups matching a suffix. 5. **Export / Import Config** — save the setup as a ``.srig`` JSON file for reuse. 6. **Convert to Shifter Rig** — promote the Simple Rig to a full Shifter rig with joints and auto-skinning when the asset needs it. Every Simple Rig control stores its pivot, shape, color, driven list and parent relationship on the control node itself, so a scene can be inspected, exported, imported or converted at any time. Rig Tab ------- .. image:: images/simplerig/simplerig_GUI.png :align: center :scale: 95% **Create Root** Initializes a Simple Rig in the current scene. Creates a ``rig`` transform with ``world_ctl``, ``global_C0_ctl`` and ``local_C0_ctl`` master controls above any geometry you have selected. Use the **Extra Config** tab first if you want to change the root name, master-control size, shape, or disable the world control. Only one Simple Rig root is allowed per scene. **Create Control** Select one or more objects (meshes, NURBS surfaces, or transforms) and press **Create CTL** to add a control that drives them. * **Name** — base name of the new control. The final name follows the ``name__ctl`` convention (for example ``donuts_C0_ctl``). * **Side Label** — ``Center``, ``Left`` or ``Right``. * **Position** — where the pivot will be placed: * ``Center of Geometry`` — bounding-box center of the selected objects. * ``Base of Geometry`` — lowest Y point of the bounding box (useful for props that sit on the ground). * ``World Center`` — scene origin. * **Ctl Shape** — ``Circle`` or ``Cube``. The first object in the selection determines where the control is parented: if it is another Simple Rig control, the new control becomes its child; otherwise it is parented under the nearest master control. **Edit** Edit operations act on the currently selected Simple Rig control. * **Pivot** * **Edit Pivot** — enter pivot-edit mode on the selected control. The control shape is unlocked so it can be translated/rotated to a new pivot location. * **Set Pivot** — commit the new pivot. The control returns to its neutral state at the new position. * **Re-Parent Pivot** — re-parent the selected control under another control. Select the child control first, then shift-select the new parent, and press this button. * **Elements** * **+** — add the selected objects to the control's driven list. * **-** — remove the selected objects from the control's driven list. * **Select Affected** — select every object currently driven by the control. **Auto Rig** Quickly build a rig from groups that follow a naming convention. .. image:: images/simplerig/simplerig_auto.png :align: center :scale: 95% * **Suffix Rule** — any group whose name ends with this suffix (default ``geoRoot``) will receive an auto-generated control. * **Auto Build** — scans the scene, creates the Simple Rig root if needed, and adds one control per matching group. Useful for kitbash scenes or pre-organized asset files. The **Auto** menu (menu bar) exposes the same ``Auto Build`` action. Extra Config Tab ---------------- Settings that affect **Create Root** and **Auto Build**. Adjust these before creating the rig. .. image:: images/simplerig/simplerig_extra.png :align: center :scale: 95% **Root** * **Root Name** — name of the rig transform (default ``root``). **Main Controls (World, Local, Global)** * **Main controls in World Center** — when enabled, master controls are placed at the scene origin. When disabled, they are sized and positioned around the current selection. * **Use fix size** — override the auto-computed size with **Fix Size**. * **Fix Size** — explicit size for the master controls. * **Local/Global Ctl Shape** — ``Square`` or ``Circle``. * **Create World Ctl** — toggle creation of the top-level world control. If disabled, the hierarchy starts at ``global_C0_ctl``. * **World Ctl Shape** — ``Circle`` or ``Sphere``. **Custom Sets** * **Extra CTL Sets** — comma-separated list of extra Maya sets that every new control will be added to. Supports nested sets using a dot notation, e.g. ``animSets.basic`` will add the control to ``basic`` under ``animSets``. Menu Bar -------- File ~~~~ .. image:: images/simplerig/simplerig_file.png :align: center :scale: 95% * **Export Config** — save the current Simple Rig configuration to a ``.srig`` JSON file. The file contains every control's name, pivot, shape, color, parent and driven list. * **Import Config** — load a ``.srig`` file and rebuild the rig on the current scene geometry. Useful for reusing a rig setup across asset versions. Convert ~~~~~~~ .. image:: images/simplerig/simplerig_convert.png :align: center :scale: 95% * **Create Shifter Guide** — extract the Simple Rig configuration as a Shifter guide (one ``control_01`` component per Simple Rig control). The original Simple Rig is left intact, so you can keep iterating on it. * **Convert to Shifter Rig** — full pipeline: build the Shifter guide, delete the Simple Rig, build the Shifter rig, and auto-skin every driven object to the matching joint. .. note:: Auto-skinning walks the subtree under each driven object and binds every mesh or NURBS surface it finds to the corresponding joint. When a deeper control claims a sub-group, the walk stops there and that sub-geometry is bound to the deeper joint instead. This means a control attached to a plain transform still gets its geometry skinned, and nested controls keep their own sub-geometry. Delete ~~~~~~ .. image:: images/simplerig/simplerig_delete.png :align: center :scale: 95% * **Delete Pivot** — delete the selected Simple Rig control. Its driven objects are reparented under the removed control's parent. * **Delete Rig** — remove the entire Simple Rig from the scene. Geometry is reparented out of the rig first so it is not deleted. Auto ~~~~ * **Auto Build** — same as the **Auto Build** button on the Rig tab (see above). Tips and notes -------------- * **Selection order matters** when creating a control. The first selected object is used for pivot computation and for parenting. * **Pivot edit** must be committed with **Set Pivot** before exporting a config or converting to Shifter — a control in pivot-edit mode cannot be collected. * **World Ctl** is optional but recommended. If you plan to convert to Shifter, the world control becomes the rig's world component. * **Convert to Shifter Rig is destructive** — the Simple Rig is deleted after the Shifter rig is built. Save or export your config first if you want to keep iterating on the Simple Rig. * **Driven lists** can contain transforms as well as shapes. When converting to Shifter, the auto-skin pass only binds skinnable shapes (mesh, NURBS surface, NURBS curve); other transforms are still driven through the joint hierarchy.