Author: Jeremy Ernst

File Attributes

  • icon: This is the image file (125x75 .png) that gets used in the RigCreatorUI
  • search: These are search terms that are accepted when searching the list of modules in the RigCreatorUI
  • class name: The name of the class.
  • baseName: The default name the module will get created with. Users can then add a prefix and/or suffix to the base name.
  • fbxImport: This is a list that will show the options for the module in the import mocap interface. Normally, this list will have at least None and FK.
  • matchData: This is a list of options that will be presented for the module in a comboBox in the match over frame range interface. First argument is a bool as to whether the module can or can’t match. The second arg is a list of strings to display for the match options. For example: matchData = [True, [“Match FK to IK”, “Match IK to FK”]]


class RigModules.ART_Root.ART_Root(rigUiInst, moduleUserName)[source]

Bases: RigModules.Base.ART_RigModule.ART_RigModule

This class builds the root module, which all ‘characters’ must have. It is not a selectable module in the UI, it is automatically created when the rigCreator is launched.

__init__(rigUiInst, moduleUserName)[source]

Initiate the class, taking in the instance to the interface and the user specified name.

  • rigUiInst – This is the rig creator interface instance being passed in.
  • moduleUserName – This is the name specified by the user on module creation.
Instantiate the following class variables as well:
  • self.rigUiInst: take the passed in interface instance and make it a class var
  • self.moduleUserName: take the passed in moduleUserName and make it a class var
  • self.outlinerWidget: an empty list that will hold all of the widgets added to the outliner

Add custom attributes this module needs to the network node.

Always calls on base class function first, then extends with any attributes unique to the class.


Add the joint movers for this module to the outliner.

Depending on the module settings, different joint movers may or may not be added. Also, each “joint” usually has three movers: global, offset, and geo. However, not all joints do, so this method is also used to specify which joint movers for each joint are added to the outliner.

buildRigCustom(textEdit, uiInst)[source]

Boiler-plate function for kicking off the various rigs that need to be built for this module. Also hooks up rig switching/blending and parents the top level nodes of the built rigs into the main hierarchy.

  • textEdit – The textEdit widget to post status updates to
  • uiInst – The Rig Creator ui instance
importFBX(importMethod, character)[source]

Import FBX motion onto this module’s rig controls.

  • importMethod – The import method to be used (options defined in the file attributes)
  • character – the namespace of the character

Each module has to define what import methods it offers (at the very top of the module file) and then define how motion is imported using those methods.

pickerUI(center, animUI, networkNode, namespace)[source]

Build the animation picker for the module. This particular picker is very unique compared to previous modules.

  • center – the center of the QGraphicsScene
  • animUI – the instance of the AnimationUI
  • networkNode – the module’s network node
  • namespace – the namespace of the character

Sets up custom pickwalking between rig controls.

Returns:returns list of top level controls of the module that will need hooks to their parent controls

This is the UI for the module that has all of the configuration settings.

  • name – user given name of module (prefix + base_name + suffix)
  • width – width of the skeleton settings groupBox. 335 usually
  • height – height of the skeleton settings groupBox.
  • checkable – Whether or not the groupBox can be collapsed.

Build the groupBox that contains all of the settings for this module. Parent the groupBox into the main skeletonSettingsUI layout. Lastly, call on updateSettingsUI to populate the UI based off of the network node values.