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

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

            Joint   joint   = restArmature.GetJoint(jointName);
            IKJoint ikJoint = new IKJoint(joint.Name, joint.Index);

            ikJointsByIndex[joint.Index] = ikJoint;
            ikJointsByName[joint.Name]   = ikJoint;
            return(ikJoint);
        }
コード例 #3
0
        internal IKJoint MakeIkJoint(int jointIndex)
        {
            if (IkJointExists(jointIndex))
            {
                throw new ValueException("IKArmature::max_ik_joint() : the joint with the given index is already an IK joint");
            }

            Joint   joint = restArmature.GetJoint(jointIndex);
            IKJoint r     = new IKJoint(joint.Name, jointIndex);

            ikJointsByIndex[jointIndex] = r;
            ikJointsByName[joint.Name]  = r;

            return(r);
        }