[QUESTION] IK rig, upper arm split in two, how can I make them act as one?
1 replies, posted
I'm creating an IK rig for Titanfall titans, and their upper arm is split in two (I dragged shouldermid away so you could see the problem):
[img]http://i.imgur.com/g38BolO.jpg[/img]
Now, the IK rig is as follows:
boneCollarR = Clav
boneUpperArmR = shoulderMid
This is the result:
[img]http://i.imgur.com/ppen1Iw.jpg[/img]
Now, the Shoulder and ShoulderMid should act as one, but since SFM is handling arms as just two bones, I'm stuck with this.
If I change shoulderMid to shoulder, I break the IK rig and the arms will no longer work at all.
So, is there a way I can connect the two bones? I've been trying myself, but I couldn't find an answer.
here is the full rig: [code] boneRoot = sfmUtils.FindFirstDag( [ "jx_c_delta" ], True )
bonePelvis = sfmUtils.FindFirstDag( [ "def_c_spineA", "Bip01_Pelvis", "bip_pelvis" ], True )
boneSpine0 = sfmUtils.FindFirstDag( [ "def_c_spineB", "Bip01_Spine", "bip_spine_0" ], True )
boneSpine1 = sfmUtils.FindFirstDag( [ "def_c_spineC", "Bip01_Spine1", "bip_spine_1" ], True )
boneSpine2 = sfmUtils.FindFirstDag( [ "def_c_spineC", "Bip01_Spine2", "bip_spine_2" ], True )
boneSpine3 = sfmUtils.FindFirstDag( [ "def_c_neckA", "Bip01_Spine3", "bip_spine_3", "ValveBiped.Bip01_Spine4" ], True )
boneNeck = sfmUtils.FindFirstDag( [ "def_c_neckA", "Bip01_Neck", "bip_neck_0", "bip_neck", "ValveBiped.Bip01_Neck1" ], True )
boneHead = sfmUtils.FindFirstDag( [ "def_c_head", "Bip01_Head", "bip_head", "ValveBiped.Bip01_Head1" ], True )
boneUpperLegR = sfmUtils.FindFirstDag( [ "def_r_thigh", "Bip01_R_Thigh", "bip_hip_R" ], True )
boneLowerLegR = sfmUtils.FindFirstDag( [ "def_r_knee", "Bip01_R_Calf", "bip_knee_R" ], True )
boneFootR = sfmUtils.FindFirstDag( [ "def_r_ankle", "Bip01_R_Foot", "bip_foot_R" ], True )
boneToeR = sfmUtils.FindFirstDag( [ "def_r_ball", "Bip01_R_Toe0", "bip_toe_R" ], True )
boneCollarR = sfmUtils.FindFirstDag( [ "def_r_clav", "Bip01_R_Clavicle", "bip_collar_R" ], True )
boneUpperArmR = sfmUtils.FindFirstDag( [ "def_r_shoulderMid", "def_r_shoulder", "Bip01_R_UpperArm", "bip_upperArm_R" ], True )
boneLowerArmR = sfmUtils.FindFirstDag( [ "def_r_elbow", "Bip01_R_Forearm", "bip_lowerArm_R" ], True )
boneHandR = sfmUtils.FindFirstDag( [ "def_r_wrist", "Bip01_R_Hand", "bip_hand_R" ], True )
boneUpperLegL = sfmUtils.FindFirstDag( [ "def_l_thigh", "Bip01_L_Thigh", "bip_hip_L" ], True )
boneLowerLegL = sfmUtils.FindFirstDag( [ "def_l_knee", "Bip01_L_Calf", "bip_knee_L" ], True )
boneFootL = sfmUtils.FindFirstDag( [ "def_l_ankle", "Bip01_L_Foot", "bip_foot_L" ], True )
boneToeL = sfmUtils.FindFirstDag( [ "def_l_ball", "Bip01_L_Toe0", "bip_toe_L" ], True )
boneCollarL = sfmUtils.FindFirstDag( [ "def_l_clav", "Bip01_L_Clavicle", "bip_collar_L" ], True )
boneUpperArmL = sfmUtils.FindFirstDag( [ "def_l_shoulderMid", "def_l_shoulder", "Bip01_L_UpperArm", "bip_upperArm_L" ], True )
boneLowerArmL = sfmUtils.FindFirstDag( [ "def_l_elbow", "Bip01_L_Forearm", "bip_lowerArm_L" ], True )
boneHandL = sfmUtils.FindFirstDag( [ "def_l_wrist", "Bip01_L_Hand", "bip_hand_L" ], True )
[/code]
you'd have to disconnect the shouldermid mesh from the bone and reconnect it to shoulder.
that leaves the shouldermid bone in but unused so the IK should still work.
maybe there's an easier way of doing it but that's all i know how to do.
Sorry, you need to Log In to post a reply to this thread.