Exemplo n.º 1
0
Skeleton3D* Skeleton3D::create(const std::vector<NodeData*>& skeletondata)
{
    auto skeleton = new (std::nothrow) Skeleton3D();
    for (const auto& it : skeletondata) {
        auto bone = skeleton->createBone3D(*it);
        bone->resetPose();
        skeleton->_rootBones.pushBack(bone);
    }
    skeleton->autorelease();
    return skeleton;
}
Exemplo n.º 2
0
void IkSolver::resetAll()
{
	rootBone = &skeleton[0];
	rootPos = rootBone->worldPos;
	effectorBone = 0;
	for (int i = 0; i < (int)skeleton.numBones(); ++i)
	{
		const Bone &b = skeleton[i];
		if (b.isEffector())
		{
			effectorBone = &b;
			targetPos = b.worldPos;
			break;
		}
	}
	
	resetPose();
}