From 47dfabf73ccd1c04189c8041f2abb290802d69ca Mon Sep 17 00:00:00 2001 From: devZoGok Date: Sun, 6 Sep 2020 19:43:07 +0300 Subject: [PATCH] changed IK axis calculation --- skeleton.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/skeleton.cpp b/skeleton.cpp index f55731c..027038a 100644 --- a/skeleton.cpp +++ b/skeleton.cpp @@ -21,9 +21,6 @@ namespace vb01{ } void Skeleton::solveIk(Bone *ikBone){ - Bone *rootBone = getRootBone(); - Node *model = rootBone->getParent(); - const int chainLength = ikBone->getIkChainLength(); Bone *ikTarget = ikBone->getIkTarget(); Bone *boneChain[chainLength]; @@ -97,7 +94,7 @@ namespace vb01{ for(int i = chainLength - 1; i >= 0; i--){ Vector3 dir = ((i == 0 ? targetPos : boneIkPos[i - 1]) - boneIkPos[i]).norm(); Vector3 boneAxis = boneChain[i]->getInitAxis(1); - Vector3 rotAxis = dir.cross(boneAxis).norm(); + Vector3 rotAxis = boneAxis.cross(dir).norm(); float angle = boneAxis.getAngleBetween(dir); if(rotAxis == Vector3::VEC_ZERO){