コード例 #1
0
        internal void AddIkJointToEndEffector(string ikJointName, string endEffectorName)
        {
            IKEndEffector endEffector = GetEndEffector(endEffectorName);
            IKJoint       ikJoint     = GetIkJoint(ikJointName);

            endEffector.AppendIkJointIndex(ikJoint.Index);
        }
コード例 #2
0
        internal IKEndEffector MakeEndEffector(string jointName)
        {
            if (EndEffectorExists(jointName))
            {
                throw new ValueException("IKArmature::max_ik_joint(): the joint with the given name is already an end effector");
            }

            Joint         joint    = restArmature.GetJoint(jointName);
            IKEndEffector effector = new IKEndEffector(joint.Name, joint.Index);

            endEffectorsByIndex[joint.Index] = effector;
            endEffectorsByName[joint.Name]   = effector;
            return(effector);
        }