Modme Forums

Help with new TX-T7 rig and updated azsry rig

Game Modding | Call of Duty: Black Ops 3 | Models & Animation


ModmeBot:

Thread By: ElTitoPricus

hello

When i try to drag the setupArmRig.mel to any of these rigs into an idle animation

to make slides, wallruns and sprints for WAW the left arm is distorted to the max:

The setupArmRig.mel contains this:

//Rename T7 rig to remove ambiguous joint names
$namespaceToFind="t7"; //takes regular expressions, too

$select =`ls`;
for ($sel in $select) 
{
	string $buffer[] ;
	catchQuiet(`tokenize $sel ":" $buffer`) ;
	if($buffer[0] == $namespaceToFind)
	{
		catchQuiet(`rename $sel ($sel + "_" + $namespaceToFind)`);
	}
	
}

// Remove namespaces
string $allNodes[] = `ls` ;

// Loop Through Them
for($node in $allNodes) {

 // Tokenize And Rename
 string $buffer[] ;
 tokenize $node ":" $buffer ;
 string $newName = $buffer[size($buffer)-1] ;
 catchQuiet(`rename $node $newName`) ;

}

//Create Nurbs Circles as controllers
circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 10 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;
circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 10 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;
circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 10 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;
circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 10 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;
circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 10 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;

parent nurbsCircle1 j_shoulder_le ;
setAttr "nurbsCircle1.translateX" 0;
setAttr "nurbsCircle1.translateY" 0;
setAttr "nurbsCircle1.translateZ" 0;
setAttr "nurbsCircle1.rotateX" 0;
setAttr "nurbsCircle1.rotateY" 0;
setAttr "nurbsCircle1.rotateZ" 0;
setAttr "nurbsCircle1.rotateY" 90;
rename nurbsCircle1 LE_Shoulder_CTR;

parent nurbsCircle2 j_wrist_le ;
setAttr "nurbsCircle2.translateX" 0;
setAttr "nurbsCircle2.translateY" 0;
setAttr "nurbsCircle2.translateZ" 0;
setAttr "nurbsCircle2.rotateX" 0;
setAttr "nurbsCircle2.rotateY" 90;
setAttr "nurbsCircle2.rotateZ" 0;
rename nurbsCircle2 LE_Wrist_CTR;

parent nurbsCircle3 j_shoulder_ri ;
setAttr "nurbsCircle3.translateX" 0;
setAttr "nurbsCircle3.translateY" 0;
setAttr "nurbsCircle3.translateZ" 0;
setAttr "nurbsCircle3.rotateX" 0;
setAttr "nurbsCircle3.rotateY" 90;
setAttr "nurbsCircle3.rotateZ" 0;
rename nurbsCircle3 RI_Shoulder_CTR;

parent nurbsCircle4 j_wrist_ri ;
setAttr "nurbsCircle4.translateX" 0;
setAttr "nurbsCircle4.translateY" 0;
setAttr "nurbsCircle4.translateZ" 0;
setAttr "nurbsCircle4.rotateX" 0;
setAttr "nurbsCircle4.rotateY" 90;
setAttr "nurbsCircle4.rotateZ" 0;
rename nurbsCircle4 RI_Wrist_CTR;

parent nurbsCircle5 tag_weapon ;
setAttr "nurbsCircle5.translateX" 0;
setAttr "nurbsCircle5.translateY" 0;
setAttr "nurbsCircle5.translateZ" 0;
setAttr "nurbsCircle5.rotateX" 0;
setAttr "nurbsCircle5.rotateY" 90;
setAttr "nurbsCircle5.rotateZ" 0;
rename nurbsCircle5 Gun_CTR;

//Create Locators as Pole Vectors
spaceLocator -p 0 0 0;
spaceLocator -p 0 0 0;
rename locator1 LE_PoleV;
rename locator2 RI_PoleV;

//Set up Left PoleV
setAttr "LE_PoleV.scaleX" 10;
setAttr "LE_PoleV.scaleY" 10;
setAttr "LE_PoleV.scaleZ" 10;
parent LE_PoleV j_elbow_le ;
setAttr "LE_PoleV.translateX" 0;
setAttr "LE_PoleV.translateY" 0;
setAttr "LE_PoleV.translateZ" 0;
setAttr "LE_PoleV.rotateX" 0;
setAttr "LE_PoleV.rotateY" 0;
setAttr "LE_PoleV.rotateZ" 0;

//Set up Right PoleV
setAttr "RI_PoleV.scaleX" 10;
setAttr "RI_PoleV.scaleY" 10;
setAttr "RI_PoleV.scaleZ" 10;
parent RI_PoleV j_elbow_ri ;
setAttr "RI_PoleV.translateX" 0;
setAttr "RI_PoleV.translateY" 0;
setAttr "RI_PoleV.translateZ" 0;
setAttr "RI_PoleV.rotateX" 0;
setAttr "RI_PoleV.rotateY" 0;
setAttr "RI_PoleV.rotateZ" 0;

select -cl;
select -r LE_Shoulder_CTR;
select -add LE_Wrist_CTR;
select -add RI_Shoulder_CTR;
select -add RI_Wrist_CTR;
select -add Gun_CTR;
select -add LE_PoleV;
select -add RI_PoleV;
parent -world;

// Transfer key at first frame from bones to controllers
int $animStart = `playbackOptions -ast 0`;
int $animEnd = `playbackOptions -aet 60`;

currentTime $animStart;

parent LE_Shoulder_CTR j_shoulder_le ;
parent LE_Wrist_CTR j_wrist_le ;
parent RI_Shoulder_CTR j_shoulder_ri ;
parent RI_Wrist_CTR j_wrist_ri ;
parent Gun_CTR tag_weapon ;
parent RI_PoleV j_elbow_ri ;
parent LE_PoleV j_elbow_le ;

setAttr "LE_Shoulder_CTR.translateX" 0;
setAttr "LE_Shoulder_CTR.translateY" 0;
setAttr "LE_Shoulder_CTR.translateZ" 0;
setAttr "LE_Shoulder_CTR.rotateX" 0;
setAttr "LE_Shoulder_CTR.rotateY" 0;
setAttr "LE_Shoulder_CTR.rotateZ" 0;
setAttr "LE_Shoulder_CTR.rotateY" 90;

setAttr "LE_Wrist_CTR.translateX" 0;
setAttr "LE_Wrist_CTR.translateY" 0;
setAttr "LE_Wrist_CTR.translateZ" 0;
setAttr "LE_Wrist_CTR.rotateX" 0;
setAttr "LE_Wrist_CTR.rotateY" 90;
setAttr "LE_Wrist_CTR.rotateZ" 0;

setAttr "RI_Shoulder_CTR.translateX" 0;
setAttr "RI_Shoulder_CTR.translateY" 0;
setAttr "RI_Shoulder_CTR.translateZ" 0;
setAttr "RI_Shoulder_CTR.rotateX" 0;
setAttr "RI_Shoulder_CTR.rotateY" 90;
setAttr "RI_Shoulder_CTR.rotateZ" 0;

setAttr "RI_Wrist_CTR.translateX" 0;
setAttr "RI_Wrist_CTR.translateY" 0;
setAttr "RI_Wrist_CTR.translateZ" 0;
setAttr "RI_Wrist_CTR.rotateX" 0;
setAttr "RI_Wrist_CTR.rotateY" 90;
setAttr "RI_Wrist_CTR.rotateZ" 0;

setAttr "Gun_CTR.translateX" 0;
setAttr "Gun_CTR.translateY" 0;
setAttr "Gun_CTR.translateZ" 0;
setAttr "Gun_CTR.rotateX" 0;
setAttr "Gun_CTR.rotateY" 90;
setAttr "Gun_CTR.rotateZ" 0;

setAttr "LE_PoleV.translateX" 0;
setAttr "LE_PoleV.translateY" 0;
setAttr "LE_PoleV.translateZ" 0;
setAttr "LE_PoleV.rotateX" 0;
setAttr "LE_PoleV.rotateY" 0;
setAttr "LE_PoleV.rotateZ" 0;

setAttr "RI_PoleV.translateX" 0;
setAttr "RI_PoleV.translateY" 0;
setAttr "RI_PoleV.translateZ" 0;
setAttr "RI_PoleV.rotateX" 0;
setAttr "RI_PoleV.rotateY" 0;
setAttr "RI_PoleV.rotateZ" 0;

select -cl;
select -r LE_Shoulder_CTR;
select -add RI_Shoulder_CTR;
select -add Gun_CTR;
select -add LE_PoleV;
select -add RI_PoleV;
parent -world;
parent LE_Wrist_CTR Gun_CTR;
parent RI_Wrist_CTR Gun_CTR;
setKeyframe -breakdown 0 -hierarchy none -controlPoints 0 -shape 0 {"LE_Shoulder_CTR", "LE_Wrist_CTR", "RI_Shoulder_CTR", "RI_Wrist_CTR", "Gun_CTR", "LE_PoleV", "RI_PoleV"};


//Delete keyframes on joints
cutKey -clear -time ":" -hierarchy none -controlPoints 0 -shape 1 {"j_shoulder_le", "j_elbow_le", "j_wrist_le", "j_shoulder_ri", "j_elbow_ri", "j_wrist_ri", "tag_weapon"};

//Set up controller constraints to bones
select -r LE_Shoulder_CTR ;
select -add j_shoulder_le ;
doCreatePointConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
pointConstraint -mo -weight 1;

select -r RI_Shoulder_CTR ;
select -add j_shoulder_ri ;
doCreatePointConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
pointConstraint -mo -weight 1;

select -r LE_Wrist_CTR ;
select -add j_wrist_le;
doCreateOrientConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
orientConstraint -mo -weight 1;

select -r RI_Wrist_CTR ;
select -add j_wrist_ri;
doCreateOrientConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
orientConstraint -mo -weight 1;

select -r Gun_CTR ;
select -add tag_weapon;
doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
parentConstraint -mo -weight 1;

//Set preferred angles
joint -e -spa -ch j_elbow_le j_shoulder_le;
joint -e -spa -ch j_shoulder_ri j_elbow_ri;

ikHandle -n "LE" -sj j_shoulder_le -ee j_wrist_le -solver "ikRPsolver" -fs true;
ikHandle -n "RI" -sj j_shoulder_ri -ee j_wrist_ri -solver "ikRPsolver" -fs true;

//Connect controllers to IK handles
select -r LE_Wrist_CTR ;
select -add LE ;
doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
parentConstraint -mo -weight 1;

select -r RI_Wrist_CTR ;
select -add RI ;
doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" };
parentConstraint -mo -weight 1;

//Place wrist controllers under Gun_CTR so they move with the gun
//select -r LE_Wrist_CTR ;
//select -add RI_Wrist_CTR ;
//select -add Gun_CTR ;
//parent ;

//Set up Pole Vectors
select -cl  ;
select -r LE_PoleV ;
select -add LE ;
poleVectorConstraint -weight 1;

select -cl  ;
select -r RI_PoleV ;
select -add RI ;
poleVectorConstraint -weight 1;



My script knowledege is 0, so if anyone can take a look and find out what's wrong

I will promise him a big box full of cookies

Thanks

Tito


ModmeBot:

Reply By: Collie

I'm a little late, but I'm very familiar with this stuff, and have created custom animations for most of my ported weapons. I do not use Aszry's rig to animate, I just use my own conversion rig. However, I can take a few logical guesses as to what the issue may be, but I'm going to need a few more details. First off, just to help me understand for sure, link me to the exact rig you're using for animating the WaW guns. The script you posted looks like it's almost certainly used to create an animation rig out of an existing animation, but I want to be sure before I attempt to diagnose the issue.