Hi all,
Got a question about using Ragdoll with Maya’s Human IK, so I put this together. Overall, it’s quite tedious as Human IK is it’s own little mini-system inside of Maya and doesn’t always play by the rules. The gist of the workaround is to assign to locators that follow the Human IK character, and retarget onto the Human IK end effectors.
Enjoy!
Script
In the video, I mention a script to automate one of the tedious processes, here it is.
- Select all assigned controls
- Run the below script in a Python tab of your Script Editor
from ragdoll.vendor import cmdx
from ragdoll import api, commands
with cmdx.DagModifier() as mod:
try:
group = cmdx.encode("locators_grp")
except cmdx.ExistError:
group = mod.create_node("transform", name="locators_grp")
for ik in cmdx.sl():
marker = ik.output(type="rdMarker")
if not marker:
continue
name = ik.name() + "_loc"
locator = mod.create_node("transform", name, parent=group)
shape = mod.create_node("locator", name + "Shape", parent=locator)
cmds.parentConstraint(str(ik), str(locator), maintainOffset=False)
mod.connect(locator["worldMatrix"][0], marker["inputMatrix"])