此页面提供了一些关于如何角色化马或其他相似骨架以便与 HumanIK 搭配使用的建议。请注意,用来角色化马的方法可能有很多种;下面的建议或许并不适用于您自己的角色。
要查看该页面上关于建议的有效演示,请运行 HumanIK SDK 中包含的 Quadrupeds 示例。<HumanIK_installation_folder>/solutions/<platform_and_toolset> 中的 HIKSamples.sln 解决方案集成了示例的项目和源代码。有关详细信息,请参见 HumanIK 示例。
另请参见 <HumanIK_installation_folder>/data/molecule/scenes 中的 Quadrupeds.fbx 文件。
当将马的后腿映射到 HumanIK 节点时,务必不要混淆膝部与踝部(踝骨)。
要改进 IK 解算器所生成的后腿姿势总体感觉,通常最好在 IK 解算时避免后腿完全伸展。要做到这一点,您可以在角色的 HIKPropertySetState 中将腿部最大伸展减少为较低的值。对于马,该值通常设置为 150 度比较好。
HIKSetPropertyValue(props, HIKLeftLegMaxExtensionAngle, 150.0f); HIKSetPropertyValue(props, HIKRightLegMaxExtensionAngle, 150.0f);
现实生活中,马的肘部不应与其腕骨(腕)混淆。但是,为了进行 HumanIK 角色化,您可能会发现,IK 解算器将生成更好的角色姿势(如果您故意将腕骨映射到腕节点)。
HIKInverseJoint(character, HIKLeftElbow, 1); HIKInverseJoint(character, HIKRightElbow, 1);