资源 · 2022年3月28日 0

【maya脚本】Metahuman的Human IK 自动绑定脚本

来自油管AYAM Expert的原创脚本,可以一键实现Human IK的自动绑定功能,同时修改为标准的T-pose。

虽然Metahuman可以直接导入UE引擎,可以方便的实时调整,也可以录制动态捕捉,但是在maya中调动画的话,有更多的动作库资源和插件支持,对于数字创作更为方便。

万一 HIK 选错对象,您可以在视窗选择骨骼后,右键选择 select hierarchy 然后选择 match only selected bones。

setAttr "root_drv.rotateX" -90;
setAttr "Lights.rotateX" -90;
setAttr "headRig_grp.rotateX" -90;

setUpAxis "y";
GoToDefaultView; 

setAttr "upperarm_l_drv.rotateX" 5;
setAttr "upperarm_l_drv.rotateY" -53.8;
setAttr "upperarm_l_drv .rotateZ" -3.3;
setAttr "lowerarm_l_drv.rotateZ" 36.3;
setAttr "hand_l_drv.rotateY" 10;
setAttr "hand_l_drv.rotateX" -10;
setAttr "hand_l_drv.rotateZ" -15; 
setAttr "thigh_l_drv.rotateY" 2;
setAttr "foot_l_drv.rotateX" -5;
setAttr "foot_l_drv.rotateY" -2; 
setAttr "thumb_01_l_drv.rotateX" 12;
setAttr "thumb_01_l_drv.rotateY" -15; 
setAttr "pinky_01_l_drv.rotateX" 8;
setAttr "pinky_03_l_drv.rotateX" 8;
setAttr "pinky_02_l_drv.rotateX" 8; 
setAttr "ring_03_l_drv.rotateX" 2;
setAttr "ring_01_l_drv.rotateX" 2;
setAttr "ring_02_l_drv.rotateX" 2;
setAttr "middle_01_l_drv.rotateY" -3; 
setAttr "index_01_l_drv.rotateX" -4;
setAttr "index_02_l_drv.rotateX" -4; 
setAttr "index_03_l_drv.rotateX" -4;
setAttr "index_01_l_drv.rotateY" -5;

select -r pinky_03_l_drv;
joint -name "pinky_04_l_drv#";

select -r ring_03_l_drv;
joint -name "ring_04_l_drv#";

select -r middle_03_l_drv ;
joint -name "middle_04_l_drv#";


select -r index_03_l_drv ;
joint -name "index_04_l_drv#";


select -r thumb_03_l_drv ;
joint -name "thumb_04_l_drv#";

setAttr "pinky_04_l_drv1.translateX" 2.173;
setAttr "ring_04_l_drv1.translateX" 2.476;
setAttr "middle_04_l_drv1.translateX" 2.529;
setAttr "index_04_l_drv1.translateX" 2.597;
setAttr "thumb_04_l_drv1.translateX" 3.275;

setAttr "root_drv.rotateX" -90;
setAttr "Lights.rotateX" -90;
setAttr "headRig_grp.rotateX" -90;

setAttr "upperarm_r_drv.rotateX" 5;
setAttr "upperarm_r_drv.rotateY" -53.8;
setAttr "upperarm_r_drv .rotateZ" -3.3;
setAttr "lowerarm_r_drv.rotateZ" 36.3;
setAttr "hand_r_drv.rotateY" 10;
setAttr "hand_r_drv.rotateX" -10;
setAttr "hand_r_drv.rotateZ" -15; 
setAttr "thigh_r_drv.rotateY" 2;
setAttr "foot_r_drv.rotateX" -5;
setAttr "foot_r_drv.rotateY" -2; 
setAttr "thumb_01_r_drv.rotateX" 12;
setAttr "thumb_01_r_drv.rotateY" -15; 
setAttr "pinky_01_r_drv.rotateX" 8;
setAttr "pinky_03_r_drv.rotateX" 8;
setAttr "pinky_02_r_drv.rotateX" 8; 
setAttr "ring_03_r_drv.rotateX" 2;
setAttr "ring_01_r_drv.rotateX" 2;
setAttr "ring_02_r_drv.rotateX" 2;
setAttr "middle_01_r_drv.rotateY" -3; 
setAttr "index_01_r_drv.rotateX" -4;
setAttr "index_02_r_drv.rotateX" -4; 
setAttr "index_03_r_drv.rotateX" -4;
setAttr "index_01_r_drv.rotateY" -5;

select -r pinky_03_r_drv;
joint -name "pinky_04_r_drv#";

select -r ring_03_r_drv;
joint -name "ring_04_r_drv#";

select -r middle_03_r_drv ;
joint -name "middle_04_r_drv#";


select -r index_03_r_drv ;
joint -name "index_04_r_drv#";


select -r thumb_03_r_drv ;
joint -name "thumb_04_r_drv#";

setAttr "pinky_04_r_drv1.translateX" -2.173;
setAttr "ring_04_r_drv1.translateX" -2.476;
setAttr "middle_04_r_drv1.translateX" -2.529;
setAttr "index_04_r_drv1.translateX" -2.597;
setAttr "thumb_04_r_drv1.translateX" -3.275;


HIKCharacterControlsTool ;
hikCreateDefinition();

setCharacterObject("pelvis_drv","Character1",1,0);
setCharacterObject("spine_01_drv","Character1",8,0);
setCharacterObject("spine_02_drv","Character1",23,0);
setCharacterObject("spine_03_drv","Character1",24,0);
setCharacterObject("spine_04_drv","Character1",25,0);
setCharacterObject("spine_05_drv","Character1",26,0);
setCharacterObject("neck_01_drv","Character1",20,0);
setCharacterObject("neck_02_drv","Character1",32,0);
setCharacterObject("head_drv","Character1",15,0);
setCharacterObject("clavicle_l_drv","Character1",18,0);
setCharacterObject("upperarm_l_drv","Character1",9,0);
setCharacterObject("lowerarm_l_drv","Character1",10,0);
setCharacterObject("hand_l_drv","Character1",11,0);
setCharacterObject("thumb_01_l_drv","Character1",50,0);
setCharacterObject("thumb_02_l_drv","Character1",51,0);
setCharacterObject("thumb_03_l_drv","Character1",52,0);
setCharacterObject("thumb_04_l_drv1","Character1",53,0);
setCharacterObject("index_metacarpal_l_drv","Character1",147,0);
setCharacterObject("index_01_l_drv","Character1",54,0);
setCharacterObject("index_02_l_drv","Character1",55,0);
setCharacterObject("index_03_l_drv","Character1",56,0);
setCharacterObject("index_04_l_drv1","Character1",57,0);
setCharacterObject("middle_metacarpal_l_drv","Character1",148,0);
setCharacterObject("middle_01_l_drv","Character1",58,0);
setCharacterObject("middle_02_l_drv","Character1",59,0);
setCharacterObject("middle_03_l_drv","Character1",60,0);
setCharacterObject("middle_04_l_drv1","Character1",61,0);
setCharacterObject("ring_metacarpal_l_drv","Character1",149,0);
setCharacterObject("ring_01_l_drv","Character1",62,0);
setCharacterObject("ring_02_l_drv","Character1",63,0);
setCharacterObject("ring_03_l_drv","Character1",64,0);
setCharacterObject("ring_04_l_drv1","Character1",65,0);
setCharacterObject("pinky_metacarpal_l_drv","Character1",150,0);
setCharacterObject("pinky_01_l_drv","Character1",66,0);
setCharacterObject("pinky_02_l_drv","Character1",67,0);
setCharacterObject("pinky_03_l_drv","Character1",68,0);
setCharacterObject("pinky_04_l_drv1","Character1",69,0);
setCharacterObject("clavicle_r_drv","Character1",19,0);
setCharacterObject("upperarm_r_drv","Character1",12,0);
setCharacterObject("lowerarm_r_drv","Character1",13,0);
setCharacterObject("hand_r_drv","Character1",14,0);
setCharacterObject("thumb_01_r_drv","Character1",74,0);
setCharacterObject("thumb_02_r_drv","Character1",75,0);
setCharacterObject("thumb_03_r_drv","Character1",76,0);
setCharacterObject("thumb_04_r_drv1","Character1",77,0);
setCharacterObject("index_metacarpal_r_drv","Character1",153,0);
setCharacterObject("index_01_r_drv","Character1",78,0);
setCharacterObject("index_02_r_drv","Character1",79,0);
setCharacterObject("index_03_r_drv","Character1",80,0);
setCharacterObject("index_04_r_drv1","Character1",81,0);
setCharacterObject("middle_metacarpal_r_drv","Character1",154,0);
setCharacterObject("middle_01_r_drv","Character1",82,0);
setCharacterObject("middle_02_r_drv","Character1",83,0);
setCharacterObject("middle_03_r_drv","Character1",84,0);
setCharacterObject("middle_04_r_drv1","Character1",85,0);
setCharacterObject("ring_metacarpal_r_drv","Character1",155,0);
setCharacterObject("ring_01_r_drv","Character1",86,0);
setCharacterObject("ring_02_r_drv","Character1",87,0);
setCharacterObject("ring_03_r_drv","Character1",88,0);
setCharacterObject("ring_04_r_drv1","Character1",89,0);
setCharacterObject("pinky_metacarpal_r_drv","Character1",156,0);
setCharacterObject("pinky_01_r_drv","Character1",90,0);
setCharacterObject("pinky_02_r_drv","Character1",91,0);
setCharacterObject("pinky_03_r_drv","Character1",92,0);
setCharacterObject("pinky_04_r_drv1","Character1",93,0);
setCharacterObject("thigh_l_drv","Character1",2,0);
setCharacterObject("thigh_r_drv","Character1",5,0);
setCharacterObject("calf_l_drv","Character1",3,0);
setCharacterObject("calf_r_drv","Character1",6,0);
setCharacterObject("foot_l_drv","Character1",4,0);
setCharacterObject("foot_r_drv","Character1",7,0);
setCharacterObject("ball_l_drv","Character1",16,0);
setCharacterObject("bigtoe_01_l_drv","Character1",118,0);
setCharacterObject("bigtoe_02_l_drv","Character1",119,0);
setCharacterObject("indextoe_01_l_drv","Character1",102,0);
setCharacterObject("indextoe_02_l_drv","Character1",103,0);
setCharacterObject("middletoe_01_l_drv","Character1",106,0);
setCharacterObject("middletoe_02_l_drv","Character1",107,0);
setCharacterObject("ringtoe_01_l_drv","Character1",110,0);
setCharacterObject("ringtoe_02_l_drv","Character1",111,0);
setCharacterObject("littletoe_01_l_drv","Character1",114,0);
setCharacterObject("littletoe_02_l_drv","Character1",115,0);
setCharacterObject("ball_r_drv","Character1",17,0);
setCharacterObject("littletoe_01_r_drv","Character1",138,0);
setCharacterObject("littletoe_02_r_drv","Character1",139,0);
setCharacterObject("ringtoe_01_r_drv","Character1",134,0);
setCharacterObject("ringtoe_02_r_drv","Character1",135,0);
setCharacterObject("middletoe_01_r_drv","Character1",130,0);
setCharacterObject("middletoe_02_r_drv","Character1",131,0);
setCharacterObject("indextoe_01_r_drv","Character1",126,0);
setCharacterObject("indextoe_02_r_drv","Character1",127,0);
setCharacterObject("bigtoe_01_r_drv","Character1",142,0);
setCharacterObject("bigtoe_02_r_drv","Character1",143,0);
hikCreateControlRig;
modelEditor -e -joints true modelPanel4;
hide root_drv;
hide DHIhead:spine_04 ;