NavHeader
journalHeader

Thursday, April 2, 2009

Blake Rig and Script Jobs...

note - NOT my rig creation
Came across a new rig on Highend 3d and it's a pretty good looking rig. So I decided to use it for the lip sync piece I'm fixing to start on. It makes use of script jobs which don't seem to like referencing as the creator notes in the docs on the site. So I did some noodling and figured out how to make it work. If the character is referenced (all nodes prefix option) to "Ch1:", this is how to make the rig work.
  1. Fix the Expression
    • Go to the expression editor
    • Select the "CH1:blake_FKIKSpaceSwitch_scriptNode"
    • Input "CH1:" in the spot provided
  2. Fix the script jobs
    • For each character, you'll need to run this is in the script editor: scriptJob -ac "CH1:blake_L_arm_ikFK_switch.FK_IK_Match" "LArmFKIK"; scriptJob -ac "CH1:blake_R_arm_ikFK_switch.FK_IK_Match" "RArmFKIK"; scriptJob -ac "CH1:blake_L_leg_ikFK_switch.FK_IK_Match" "LLegFKIK"; scriptJob -ac "CH1:blake_R_leg_ikFK_switch.FK_IK_Match" "RLegFKIK"; scriptJob -ac "CH1:blake_L_arm_ikFK_switch.parent" "LArmSpace"; scriptJob -ac "CH1:blake_R_arm_ikFK_switch.parent" "RArmSpace"; scriptJob -ac "CH1:blake_L_leg_ikFK_switch.parent" "LLegSpace"; scriptJob -ac "CH1:blake_R_leg_ikFK_switch.parent" "RLegSpace"; scriptJob -ac "CH1:blake_tie_ikFK_switch.parent" "TieSpace";
  3. Notepad is your friend for additional characters - see Find and Replace
  4. Ran into an issue with referencing that the rig maker was kinda enough to help out with. You'll need to create a new script set to fuction on (Open/Close) and set the name spaces: proc multipleChars() { // prefix for character1 string $character1= "CH1:"; // prefix for character2 string $character2 = "CH2:"; // prefix for character3 string $character3 = "CH3:"; // prefix for character4 string $character4 = "CH4:"; string $a[] = `ls -sl`; if (($a[0] == ($character1+"blake_L_arm_ikFK_switch")) || ($a[0] == ($character1+"blake_R_arm_ikFK_switch")) || ($a[0] == ($character1+"blake_L_leg_ikFK_switch")) || ($a[0] == ($character1+"blake_R_leg_ikFK_switch")) || ($a[0] == ($character1+"blake_tie_ikFK_switch"))) { scriptNode -executeBefore ($character1+"blake_FKIK_SpaceSwitch_scriptNode"); } else if (($a[0] == ($character2+"blake_L_arm_ikFK_switch")) || ($a[0] == ($character2+"blake_R_arm_ikFK_switch")) || ($a[0] == ($character2+"blake_L_leg_ikFK_switch")) || ($a[0] == ($character2+"blake_R_leg_ikFK_switch")) || ($a[0] == ($character2+"blake_tie_ikFK_switch"))) { scriptNode -executeBefore ($character2+"blake_FKIK_SpaceSwitch_scriptNode"); } else if (($a[0] == ($character3+"blake_L_arm_ikFK_switch")) || ($a[0] == ($character3+"blake_R_arm_ikFK_switch")) || ($a[0] == ($character3+"blake_L_leg_ikFK_switch")) || ($a[0] == ($character3+"blake_R_leg_ikFK_switch")) || ($a[0] == ($character3+"blake_tie_ikFK_switch"))) { scriptNode -executeBefore ($character3+"blake_FKIK_SpaceSwitch_scriptNode"); } else if (($a[0] == ($character4+"blake_L_arm_ikFK_switch")) || ($a[0] == ($character4+"blake_R_arm_ikFK_switch")) || ($a[0] == ($character4+"blake_L_leg_ikFK_switch")) || ($a[0] == ($character4+"blake_R_leg_ikFK_switch")) || ($a[0] == ($character4+"blake_tie_ikFK_switch"))) { scriptNode -executeBefore ($character4+"blake_FKIK_SpaceSwitch_scriptNode"); } } scriptJob -killWithScene -e "SelectionChanged" "multipleChars";
That outa do it. Thanks Jason for the great rig and the help trouble shooting the referencing issue!

No comments:

All the stuff on this site is 2000 - by Josh Burton...unless otherwise noted. All rights reserved.