Home Website Youtube GitHub

Newbie Question about Bind Poses

I have a dumb newbie post. How does mGear put a character back into its default bind pose?

I’ve searched through the menu system, I’ve searched through Google, and I’ve searched through the documentation.

I see that there is a dagPose node in the file. I tried putting the character into this Bind Pose by calling the cmds.dagPose(“bindPose1”, restore=True) function, but doing so just produces a bunch of warnings, and nothing happens.

I’m a programmer who’s developing a Maya file exporter for an open 3D standard. I’m trying to add support for various rigging systems. As I’m not an animator, I’m attempting to figure out how mGear works by using someone else’s content. Specifically, I downloaded Emilio Serrano’s Icarus model.

I’ve added exporter support for HumanIK and Advanced Skeleton. HumanIK calls the “hikGoToStancePose()” mel function, and AS calls its “asGoToBuildPose()” function. Is there a similar function in mGear?

I’ve been at this for hours, and it’s driving me crazy that I can’t find anything on it.

Thanks,

Aaron

I could be wrong here as i am not great at coding, but couldn’t you just set the transform and rotation to 0 and set scale to 1 for all the ctrls as this would reset the pose back to it’s default?

A bindPose is for a skeleton. But the skeleton is driven by the rig, so you want to reset the rig.

  1. Enable “mGear Viewport Menu” and right click on a control(s) to reset.
  2. mGear → Animbits → Smart Reset Attribute/SRT
  3. Those commands can be added to shelf buttons, or hotkeys, or scripts, or anim pickers.

Depending what Shifter components and settings you used, sometimes the IK controls zero out to world space t-pose instead of your build pose. In that case, you might need to change your guide settings or add npo groups to set a different neutral pose. Or maybe those commands take that into account. I always add offset groups to my IK controls.

(I’m way behind on versions, so some of those names might have changed if you’re using the latest 5.x versions.)

@sakaro - I appreciate your response.

In theory, the code could do it that way, or some version of that way. But with rigging systems, it would tend to break the rigging. Especially complex rigging like I’ve come across with Advanced Skeleton.

There is really a somewhat difficult interpretation that has to take place in order to get an artist’s vision and intent out of Maya (and whatever rigging system they chose) and into the open standard’s 3D format.

From working with Advanced Skeleton, I’ve learned the hard way that plowing through the rigging plugin’s methodology with my own code is a bad way to proceed. In that case, the improved understanding of the plugin’s methodology and learning its underlying function calls really led to much better export results for me.

Understanding mGear’s methodology and functions will hopefully best achieve an mGear artist’s intent if they ever want to export using my plugin. Although I do not expect a lot of mGear users to incorporate my plugin into what they do, I very much want to make it as easy for them to use as possible, should they ever find a need to do so.

@christlesage - Excellent, thank you for this information. Getting into something new is always difficult. This gives me a great place from which to start. My brain was looking for “Restore Bind Pose” in the menus, I figured that I just didn’t know mGear’s terminology well enough to search for the correct terms.

Thank you so much for your response, it is much appreciated!

@chrislesage - So I tried the “Smart Reset Attribute/SRT” menu option, but it didn’t seem to do anything. It appears that there is some node selection context that impacts the mGear menu system, so I’m still trying to work that out in my head.

However, by poking around in what you suggest, that gave me a better idea of what I need to search for.

To be honest, my terminology is not the best. The animation stuff is very much “on the periphery” of my knowledge and skillset. In my mind, every pose/position etc is a “bindpose”.

This is just me justifying my ignorance, but I’m rambling now.

Anyway, with my improved mGear terminology for searching, I explored the RFB Manager and the SDK Manager, and watched some of the RFB Manager tutorial.

It appears that what I was initially looking for was the “reset_to_default(mode=all)” function found in the “mgear.rigbits.sdkmanager.core.py” script, and normally accessible through the SDK Manager menubar via the “Reset > Reset All Ctrls” menu option.

I apologize in advance if I’m using the incorrect terminology with the following question.

Can you tell me, does the reset_to_default() function always override any keyed info and force the mGear character/rig/skeleton/controls/drivers into its initial default rest pose?