//------------------------------------------------------------------------------ // This script will create head and eye rotations for evolver skeletons. // To use it, make sure your FaceFX.mll plugin is loaded, then delete the // FBIK and HumanIK controllers from the evolver character's Maya scene. // (This is required because we need to set keys on bones prior to exporting // bone poses to avoid a strange Maya issue where the script is running too // quickly to export the pose correctly. // // Owner: Doug Perkowski // // Copyright (c) 2002-2009 OC3 Entertainment, Inc. All Rights Reserved. //------------------------------------------------------------------------------ // Change bone names here string $Head = "Head"; string $RightEye = "RightEye"; string $LeftEye = "LeftEye"; global proc rotatebone(string $bone, int $angle, string $rot) { fxsetdisplaywarningdialogs -toggle "off"; int $curframe = `currentTime -q` ; int $negAngle = $angle * -1; select -r $bone ; string $posenamepos = $bone + $rot + "Pos"; string $posenameneg = $bone + $rot + "Neg"; if( $rot == "RotX" ) { rotate -r -os $angle 0 0; setKeyframe; fxexportbonepose -frame $curframe -name $posenamepos; rotate -r -os $negAngle 0 0; rotate -r -os $negAngle 0 0; setKeyframe; fxexportbonepose -frame $curframe -name $posenameneg; rotate -r -os $angle 0 0; setKeyframe; } else if( $rot == "RotY" ) { rotate -r -os 0 $angle 0 ; setKeyframe; fxexportbonepose -frame $curframe -name $posenamepos; rotate -r -os 0 $negAngle 0 ; rotate -r -os 0 $negAngle 0 ; setKeyframe; fxexportbonepose -frame $curframe -name $posenameneg; rotate -r -os 0 $angle 0 ; setKeyframe; } else if( $rot == "RotZ" ) { rotate -r -os 0 0 $angle ; setKeyframe; fxexportbonepose -frame $curframe -name $posenamepos; rotate -r -os 0 0 $negAngle ; rotate -r -os 0 0 $negAngle ; setKeyframe; fxexportbonepose -frame $curframe -name $posenameneg; rotate -r -os 0 0 $angle ; setKeyframe; } else { print "Error. Axis not in correct format"; } fxsetdisplaywarningdialogs -toggle "on"; } fxexportrefpose -frame 0 -bones "Head LeftEye RightEye"; rotatebone($Head, 30, "RotX"); rotatebone($Head, 30, "RotY"); rotatebone($Head, 30, "RotZ"); rotatebone($RightEye, 30, "RotY"); rotatebone($RightEye, 30, "RotZ"); rotatebone($LeftEye, 30, "RotY"); rotatebone($LeftEye, 30, "RotZ");