Characterizing Dogs and Wolves

Dogs and wolves are species of canidae, as are foxes, jackals, and coyotes.

This page gives some suggestions for how to characterize a canine skeleton for use with HumanIK. Note that there are many possible ways to characterize a canine skeleton; the suggestions below may or may not be appropriate for use with your own characters.

Quadrupeds example

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.

Neutral stance

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.

Hind legs

Bone mappings

Mapping the upper joints in the hind limbs of a wolf or other canine is straightforward. Mapping the lower joints is slightly trickier, since a wolf walks on the tips of its toes:

  • The hocks of the dog should be mapped to the LeftAnkleNodeId and RightAnkleNodeId.
  • The last joint in the chain, which controls the orientation of the sole of the paws, should be mapped to the LeftFootNodeId and RightFootNodeId.
  • Any joints in the skeleton that lie between the joints described above should not be mapped to Nodes.

Other recommendations

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 a wolf is typically about 170 degrees.

For example:

Forelegs

Bone mappings

Mapping the fore limbs of a wolf or other canine is fairly straightforward if you follow the template below.

  • Note that the elbow joints are usually quite high above the ground.
  • Mapping joints to the LeftCollarNodeId and RightCollarNodeId is optional; the wolf character in the Quadrupeds example has collar Nodes, but your characters may not.

Other recommendations

Because the elbow joint of the wolf is located quite high above the ground, it can be a good idea to limit its maximal extension to a value between 120° to 150°. This prevents the forelimbs from straightening too much when trying to reach a target.

For example: