Impalas and gazelles are even-toed ungulates, as are the oryx and the blackbuck, that fall under the general term antelope in common parlance. They are characterized by their agility, flexibility and grace.
This page gives some suggestions for how to characterize an antelope skeleton for use with HumanIK. Note that there are many possible ways to characterize an antelope; the suggestions below may or may not be appropriate for use with your own characters.
To see a working demonstration of the suggestions on this page, run the Quadrupeds example included with the HumanIK SDK. The HIKSamples.sln solution in <HumanIK_installation_folder>/solutions/<platform_and_toolset> integrates the projects and source code for the samples. For details, see HumanIK Samples.
See also the Quadrupeds.fbx file in <HumanIK_installation_folder>/data/molecule/scenes.
The neutral stance for your character must meet all the requirements for the quadruped neutral stance that are outlined on the Using HumanIK for Quadrupeds page.
In real life, the impala's knees should not be confused with its talus (ankle bone). However, for the purposes of your HumanIK characterization, you will likely find that the IK solver will produce better poses for your character if you intentionally map the skeleton's knees to the ankle Nodes.
HIKInverseJoint(character, HIKLeftKnee, 1); HIKInverseJoint(character, HIKRightKnee, 1);
This approach to characterization allows more flexibility in the leg:
To improve the general feel of the poses generated by the IK solver for the hind legs, it is typically best to prevent the hind legs from opening to their full extension during an IK solve. To do this, you can reduce the maximum extension of the leg in the character's HIKPropertySetState to a lower value. A good value for an impala is typically about 160 degrees.
HIKSetPropertyValue(props, HIKLeftLegMaxExtensionAngle, 160.0f); HIKSetPropertyValue(props, HIKRightLegMaxExtensionAngle, 160.0f);
Impala are graceful animals with long and thin front legs. For their forelegs, it is recommended that you characterize the complete joint chain understood by HumanIK:
HIKInverseJoint(character, HIKLeftElbow, 1); HIKInverseJoint(character, HIKRightElbow, 1);
This characterization will ensure a maximum of flexibility for the forelimbs, especially on the upper parts of the limbs.