HumanIK オブジェクトをセーブおよびロードする

HumanIK では、オブジェクトをディスク上のファイルに保存するための関数と、それらのオブジェクトを保存されたファイルからメモリに復元するための関数のセットが提供されます。ゲームの過程でこれらの関数の呼び出しが必要になることはありませんが、HumanIK を使用しているときに問題が発生するイベントの情報を Autodesk サポートに提供するには、これらのファイルは効果的で効率的な方法となる場合があります。

HumanIK とともに提供されるサンプルのいくつかでは、これらの関数が内部で使用されます。たとえば、MayaHIK サンプルにより、保存されたファイルから HumanIK オブジェクトをロードすることができ、このオブジェクトは、HIKCharacter によって保持されるキャラクタライゼーションのポーズや、HIKCharacterState に含まれるポーズの視覚化に役立てることができます。

オブジェクトをセーブおよびロードするためのすべての関数は、hikdump.hファイルにインラインで実装されます。自身の開発環境に合うように、ファイルおよびメモリ管理へのアプローチを自由に再設計することができます。

サポートされるオブジェクト

下の表に表示されている関数を使用して、次のオブジェクト タイプを保存し、ロードすることができます。

メモリの割り当て

関数をロードするこれらのファイルすべてのデフォルトの実装により、新しいオブジェクトのメモリを割り当てるためのmalloc関数が直接呼び出されます。メソッドをロードするこれらのファイルによって作成されるオブジェクトの使用が終了したら、クリーンアップで説明されている関数を使用して破壊する必要があります。

クロスプラットフォームのサポート

上で説明されているファイル管理関数により、必要に応じて、データ ファイルのエンディアンが透過的に交換されます。ビッグエンディアンのプラットフォームでオブジェクトをファイルに保存しても、そのファイルを Windows マシンなどのリトルエンディアンのプラットフォームにロードすることができ、またその逆も可能です。