Monday, July 1, 2013

Destrozar Portfolio Rig

Portfolio 2 Destrozar Rig

This is the rig I created for the main enemy Destrozar in our game Grapple

Model by Karen McCarthy





The Rig was designed so that the animators would have to end the animations on a multiple of frame 60 so that the cogs and pistons would start and end in the same place.

Expressions used in the rig

Cogs that rotate in the opposite direction of the legs
R_F_Cog1BCTL.rotateY = -R_F_Leg.rotateY * 10;
R_B_Cog1BCTL.rotateY = -R_B_Leg.rotateY * 10;
L_F_Cog1BCTL.rotateY = -L_F_Leg.rotateY * 10;
L_B_Cog1BCTL.rotateY = -R_B_Leg.rotateY * 10;
R_F_Cog2BCTL.rotateY = -R_F_Leg1.rotateY * 10;
R_B_Cog2BCTL.rotateY = -R_B_Leg1.rotateY * 10;
L_F_Cog2BCTL.rotateY = -L_F_Leg1.rotateY * 10;
L_B_Cog2BCTL.rotateY = -L_B_Leg1.rotateY * 10;
R_F_Cog3BCTL.rotateY = -R_F_Leg2.rotateY * 10;
L_F_Cog3BCTL.rotateY = -L_F_Leg2.rotateY * 10;
R_F_Cog4BCTL.rotateY = -R_F_Leg3.rotateY * 10;
L_F_Cog4BCTL.rotateY = -L_F_Leg3.rotateY * 10;
R_F_Cog3CTL.rotateY = R_F_Leg2.rotateY * 10;
R_B_Cog3BCTL.rotateY = -R_B_Leg2.rotateY * 10;
L_B_Cog3BCTL.rotateY = -L_B_Leg2.rotateY * 10;
L_F_Cog3CTL.rotateY = L_F_Leg2.rotateY * 10;
R_F_Cog4CTL.rotateY = R_F_Leg3.rotateY * 10;
L_F_Cog4CTL.rotateY = L_F_Leg3.rotateY * 10;

Cogs that rotate depending on time
R_F_Cog1CTL.rotateY = time * 180;
R_B_Cog1CTL.rotateY = time * 180;
L_F_Cog1CTL.rotateY = time * 180;
L_B_Cog1CTL.rotateY = time * 180;
R_F_Cog2CTL.rotateY = -time * 180;
R_B_Cog2CTL.rotateY = -time * 180;
L_F_Cog2CTL.rotateY = -time * 180;
L_B_Cog2CTL.rotateY = -time * 180;
BodyCog1.rotateZ = -time * 180;
BodyCog2.rotateZ = time * 180;
BodyCog3.rotateZ = time * 180;
BackCog1.rotateZ = -time * 180;
BackCog2.rotateZ = time * 180;
BackCog3.rotateZ = -time * 180;
BackCog5.rotateZ = -time * 180;

Pistons movements
R_F_PistonCTL.Move = (sin((3.14 * time)-1.)/2)+.5;
R_B_PistonCTL.Move = (sin((3.14 * time)-1.571)/2)+.5;
L_F_PistonCTL.Move = (sin((3.14 * time)-.571)/2)+.5;
L_B_PistonCTL.Move = (sin((3.14 * time)-1.571)/2)+.5;
BodyPiston1CTL.Move = (sin((3.14 * time)-.571)/2)+.5;
BodyPiston2CTL.Move = (sin((3.14 * time)-1.)/2)+.5;
BodyPiston3CTL.Move = (sin((3.14 * time)-1.571)/2)+.5;

BackPiston1CTL.Move = (sin((3.14 * time)-.571)/2)+.5;
BackPiston2CTL.Move = (sin((3.14 * time)-1.)/2)+.5;
BackPiston3CTL.Move = (sin((3.14 * time)-1.571)/2)+.5;