このセクションは、既存のコードで HumanIK バージョン 3.6 にアップグレードするために行わなければならない変更について説明します。
前のバージョンの HumanIK では、HIKCharacter を定義したプロパティとソルバがキャラクタを動かす方法をコントロールするプロパティは、それぞれの HIKCharacter オブジェクトの一部として保持されていました。同じ HIKCharacter オブジェクトを異なるスレッドで使用している際に競合するため、これらのキャラクタのプロパティが HIKCharacter から削除されており、現在は専用のオブジェクトの HIKPropertySetState で保持されています。
この変更をゲームで反映するためには、次の手順を行う必要があります。
HumanIK を使用するための更新プロセスの詳細については、「HumanIK を使用する」を参照してください。
前のバージョンの HumanIK では、Character Definition にその定義から作成された HIK キャラクタが使用するノードのリストが含まれていました。ノードでペアレント オフセットと Degrees of Freedom をサポートするため、Character Definition オブジェクトが変更されました。HIKNodes 列挙値と同じ長さの float 配列を含むようになりました。この配列の各要素で、次の値を指定して対応するノードの状態を指示する必要があります。
詳細は、「初期化」を参照してください。
前のバージョンの HumanIK では、フロア コンタクト エンジンはフラットなサーフェスにのみ使用され、HIKSetEffectorFloorStatefv() 関数は Y 軸のフロアの高さのみを必要としていました。
しかし、HumanIK 3.6 で導入された方向付きフロア コンタクトでは、HIKSetEffectorFloorStatefv() 関数で、フロアのトランスレーションと方向を提供する変換配列を必要とするようになりました。
ゲームで HIKSetEffectorFloorStatefv() 関数を使用する場合、これに合わせてコードを更新する必要があります。
詳細は、「足および手のコンタクトを設定する」を参照してください。