此页面提供了一些关于如何角色化犬科动物骨架以便与 HumanIK 搭配使用的建议。请注意,用来角色化犬科动物骨架的方法可能有很多种;下面的建议或许并不适用于您自己的角色。
要查看该页面上关于建议的有效演示,请运行 HumanIK SDK 中包含的 Quadrupeds 示例。<HumanIK_installation_folder>/solutions/<platform_and_toolset> 中的 HIKSamples.sln 解决方案集成了示例的项目和源代码。有关详细信息,请参见 HumanIK 示例。
另请参见 <HumanIK_installation_folder>/data/molecule/scenes 中的 Quadrupeds.fbx 文件。
映射狼或其他犬科动物后肢的上关节非常简单。由于狼用脚趾尖行走,映射下关节比较棘手:
要改进 IK 解算器所生成的后腿姿势总体感觉,通常最好在 IK 解算时避免后腿完全伸展。要做到这一点,您可以在角色的 HIKPropertySetState 中将腿部最大伸展减少为较低的值。对于狼,该值通常设置为 170 度比较好。
HIKSetPropertyValue(props, HIKLeftLegMaxExtensionAngle, 170.0f); HIKSetPropertyValue(props, HIKRightLegMaxExtensionAngle, 170.0f);
按照下面的模板,您会发现映射狼或其他犬科动物的前肢相当简单。
由于狼的肘部关节所处的位置相对地面也有一定的距离,最好将其最大伸展的值限制在 120 度到 150 度之间。这样可以防止前肢在试图达到目标时过于伸直。
HIKSetPropertyValue(props, HIKLeftArmMaxExtensionAngle, 140.0f); HIKSetPropertyValue(props, HIKRightArmMaxExtensionAngle, 140.0f);