デバッグ メッセージをログに記録する
HumanIK では、デバッグに役立つように、次の項目の情報をログに記録することができます。
- キャラクタの初期設定に関する問題。
- HumanIK コール スタック
- HumanIK コール スタックのサイズ
- キャラクタのノードに対して設定された Degrees of Freedom または制限。
デバッグ メッセージを取得する
HumanIK は、そのログ メッセージを次の場所に送ります。
- Microsoft Visual Studio など、デバッグ アプリケーションの出力ウィンドウ。
- アプリケーション フォルダの HumanIK によって生成されたプレーンテキスト ファイル、humaniklog.txt。
ログの記録をセットアップする
ログ メッセージを生成するように HumanIK をセットアップするには:
- libs¥<プラットフォーム名>¥verbose¥humanik.lib にある HumanIK の Verbose ライブラリがログ メッセージを生成できるように、このライブラリに対してアプリケーションをリンクします。Release ライブラリはログ メッセージを生成しません。
現在、このライブラリは Windows プラットフォームのみで使用できることに注意してください。
- アプリケーションに hikutils.h ファイルを含めます。
- HIKSetLoggingLevel() 関数を呼び出して、HumanIK でログを記録するメッセージのレベルを設定します。HIKLoggingLevel 列挙値からの 1 つまたは複数の要素が含まれたビット マスクを指定する必要があります。複数のタイプのログ メッセージを有効にするには、| 演算子(ビット単位の OR)を使用して連結します。
たとえば、次の呼び出しではすべてのエラー、情報メッセージ、コール スタックのログを記録するように HumanIK を設定します。
HIKSetLoggingLevel (HIKError | HIKMessage | HIKCallstack);
デフォルトでは、ログの記録レベルはすべてのログ メッセージを無効にする HIKLoggingLevel::HIKNone に設定されます。したがって、メッセージを受け取るためには、HIKSetLoggingLevel() を呼び出すことが必須です。
指定されたログ記録レベルのメッセージのみがログに出力され、その他の情報は記録されないことに注意してください。たとえば、ログの記録レベルを HIKError に設定し、キャラクタライゼーション中にエラーが検出されなかった場合、ログにメッセージは出力されません。したがって、ログの記録を正しく有効にしたことをテストするだけの場合は、HIKCallstack を含めるようにログの記録レベルを設定します。