Hi, I’ve been working on a shooter game and made the “pose” of player hands attached to multiple constraints that copy transforms within the Weapon scriptable object that the player is holding. In theory this lets me edit how the hands properly grip whatever weapon the player is holding, however, the problem is that only the first line to use New Weighted Transform links the constraint to the transform while all the others aren’t linked. Do you guys know how to fix this?
void Update()
{
hasWeapon = cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetComponent<GunScript>().hasWeapon;
if (hasWeapon && !isTargetSet)
{
//Left Hand
leftHandIK.data.target = cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip");
WTleftThumb = new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LThumb"), 1);
leftThumb.data.sourceObjects.Add(WTleftThumb);
WTleftThumbMid = new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LThumb/Mid"), 1);
leftThumbMid.data.sourceObjects.Add(WTleftThumbMid);
WTleftThumbTip = new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LThumb/Tip"), 1);
leftThumbTip.data.sourceObjects.Add(WTleftThumbTip);
Debug.Log("Checkpoint");
leftIndex.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LIndex"), 1));
leftIndexMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LIndex/LIMid"), 1));
leftIndexTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LIndex/LITip"), 1));
leftMiddle.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LMiddle"), 1));
leftMiddleMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LMiddle/Mid"), 1));
leftMiddleTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LMiddle/Tip"), 1));
leftRing.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LRing"), 1));
leftRingMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LRing/Mid"), 1));
leftRingTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LRing/Tip"), 1));
leftPinky.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LPinky"), 1));
leftPinkyMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LPinky/Mid"), 1));
leftPinkyTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/LeftHandGrip/LPinky/Tip"), 1));
//Right Hand
rightHandIK.data.target = cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip");
rightThumb.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RThumb"), 1));
rightThumbMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RThumb/Mid"), 1));
rightThumbTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RThumb/Tip"), 1));
rightIndex.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RIndex"), 1));
rightIndexMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RIndex/Mid"), 1));
rightIndexTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RIndex/Tip"), 1));
rightMiddle.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RMiddle"), 1));
rightMiddleMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RMiddle/Mid"), 1));
rightMiddleTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RMiddle/Tip"), 1));
rightRing.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RRing"), 1));
rightRingMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RRing/Mid"), 1));
rightRingTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RRing/Tip"), 1));
rightPinky.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RPinky"), 1));
rightPinkyMid.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RPinky/Mid"), 1));
rightPinkyTip.data.sourceObjects.Add(new WeightedTransform(cameraHolder.transform.Find("Recoil/MainCamera/Weapon").GetChild(0).transform.Find("Anchors/Design/GripReference/RightHandGrip/RPinky/Tip"), 1));
isTargetSet = true;
rigBuilder.Build();
}
}