Website Youtube GitHub

mGear Framework Forum

Missing IK Ref attribute for arm


I am missing the IK Ref attribute on my ArmUI control? It’s there on the Leg UI controls, just not the arm.
I am using an Arm_2jnt_freeTangents for the arms

Ok, I now understand its because I hadn’t filled in the Reference Arrays.
But I currently have 3 rigs already in the animation stage where I did not fill in the arrays and I need a way to fix it in their current rigs. Please help!

Did you do a lot of manual work after building the rigs? In an ideal pipeline, you’d always be able to rebuild from your guide.

Is there anything stopping you from rebuilding from guide? Any advice you need in how to do that? For example, how to export and re-import skinning. How to use POST scripts.

Otherwise if you truly need to try and fix it on your existing built rigs, you could build a correct rig and then try to mimic the connections. Or if you are comfortable with Python and want to dig into how Shifter makes the connections, you can find it here:
In the script mGear/scripts/mgear/shifter/component/ you’ll find a few places where this is called: refArray = self.settings["ikrefarray"]
Those are the functions that deal with setting up the switches.

    def connectRef(self, refArray, cns_obj, upVAttr=None, init_refNames=False):
        """Connect the cns_obj to a multiple object using parentConstraint.

Hi Chris.

Thanks for the reply.

I did a small amount of work after building. Mainly creating some blendshapes and adding some extra rigging for props/items that were added to the characters.

I would greatly appreciate some advice on going about rebuilding from the guide and exporting and then reimporting skinning. And I am not sure what POST scripts are?

  1. PRE and POST scripts. In the 2nd tab of the guide settings, you see “Custom Steps”. These are Python scripts that run before and after Shifter builds the rig. You can run as many scripts as you want. My typical character build runs about 3 pre scripts and 22 post scripts that alter the rig to suit our production tastes, set up the face, set default attribute values, make sure any deltaMush deformers come after the skinCluster, move pole vectors further or closer, ETC, ETC, ETC.

In that GUI, if you click “New”, it will generate a Python file for you that has some boiler-plate code that gets you started. But you can run any Python file you want.

  1. Skinning. After you have skinned your characters, you can export a single skin or a skinPack file. A skinPack file is a collection of all your skinning. It’s a text file list of paths to the skinning files that you store when you export them.

To import them again, you can access it in a Post script, OR you import them all via the GUI. mGear -> Skinning -> Import Skin Pack

In my productions, I save a “data” directory that has a directory for every character. So Billy has a folder data/characters/Billy/skinning/skin.jSkinPack and I can easily find it using Python, by replacing “Billy” with charName = pm.PyNode('guide').rig_name.get()

You can read some of my notes that I wrote as I was learning mGear and setting my own pipeline. Some of the stuff is out of date, but it gives an overview of a potential pipeline process.


Great! Thanks Chris!