记录调试消息
HumanIK 可以记录以下信息项,以帮助您进行调试:
- 初始角色设置问题。
- HumanIK 调用堆栈。
- HumanIK 调用堆栈的大小。
- 为角色的节点设置的自由度或限制。
检索调试消息
HumanIK 将其日志消息发送到以下位置:
- 调试应用程序(例如 Microsoft Visual Studio)的输出窗口。
- HumanIK 在应用程序目录中生成的纯文本文件 humaniklog.txt。
设置日志记录
要设置 HumanIK 以生成日志消息,请执行以下操作:
- 针对 HumanIK 的 Verbose 库(位于 libs\<platform>\verbose\humanik.lib,可以生成日志消息)链接您的应用程序。Release 库不会生成任何日志消息。
请注意,此库当前仅可用于 Windows 平台。
- 在应用程序中包含 hikutils.h 文件。
- 调用 HIKSetLoggingLevel() 函数以设置希望 HumanIK 记录的消息级别。必须指定位掩码,以包含 HIKLoggingLevel 枚举中的任何一个或多个元素。要启用多个类型的日志消息,请使用 | 运算符(按位或)连接这些日志消息。
例如,以下调用配置 HumanIK 以记录所有错误、说明性消息和调用堆栈:
HIKSetLoggingLevel (HIKError | HIKMessage | HIKCallstack);
默认情况下,日志记录级别设置为 HIKLoggingLevel::HIKNone,这会禁用所有日志消息。因此,必须调用 HIKSetLoggingLevel() 才能收到任何消息。
请注意,只有指定日志记录级别的消息会输出到日志中;不会记录其他任何信息。例如,如果将日志记录级别设置为 HIKError,且在角色化过程中未检测到任何错误,则不会将任何消息输出到日志中。因此,如果只是想测试是否已正确启用日志记录,请将日志记录级别设置为包含 HIKCallstack。