このページでは、リリース 3.6 で導入された新しい機能とバグ修正について説明します。
HumanIK は現在、より低い Level of Detail (LOD)を使用するソルバも実装されています。これにより、より速いソルバが提供され、CPU 消費が低下します。
「より低い Level of Detail で計算する」を参照してください。
HIKCharacter の各軸での各ノードの回転の制限を設定することができるようになりました。これにより、キャラクタのジョイントの動作範囲を制限できます。
詳細は、「Degrees of Freedom 」を参照してください。
HumanIK フロア コンタクト エンジンで、キャラクタの脚と手を、フラットなフロアではなく方向付きプレーンのサーフェス(傾斜板や壁など)に対して調整できるようになりました。
フロア コンタクトの詳細については、「足および手のコンタクト」を参照してください。
この機能で必要なコード変更の詳細については、「HumanIK 3.5 から HumanIK 3.6 への移行」を参照してください。
Squash ’n’ Stretch により、キャラクタの腕や脚の角度構成を保持することでインバース キネマティクスおよびリターゲット ソルバで生成されるポーズのリアリティが増します。
詳細は、「Squash 'n' Stretch を使用する」を参照してください。
HumanIK は、左右の肩の鎖骨ノードと肩ノードの間に追加の鎖骨ノードをサポートするようになりました。これにより、キャラクタの肩の動きのリアリティが向上します。
詳細は、「HumanIK ノードおよびエフェクタにジョイントをマッピングする」を参照してください。
キャラクタの各軸の周りの鎖骨ボーンの硬さを、HIKCollarStiffnessX、HIKCollarStiffnessY、HIKCollarStiffnessZ プロパティを設定することでコントロールできます。
詳細は、「全般プロパティ」を参照してください。
各軸に沿った胸のエフェクタのトランスレーションオフセットを設定できるようになりました。これにより、ソースおよびターゲット キャラクタの肩が一致しない場合に、リターゲット ソルバが生成するポーズのリアリティが向上します。これらのオフセットは、HIKChestTOffsetX、HIKChestTOffsetY、HIKChestTOffsetZ プロパティの値で設定します。
詳細は、「リターゲットに固有のプロパティ」を参照してください。
キャラクタの膝と肘の最大伸長角度を、180 度まで(完全に伸ばしたとき)の任意の値に設定できるようになりました。各四肢の最大値は HIKLeftLegMaxExtensionAngle、HIKLeftArmMaxExtensionAngle、HIKRightLegMaxExtensionAngle、HIKRightArmMaxExtensionAngle プロパティを使用して個別に設定できます。
詳細は、「全般プロパティ」を参照してください。
このバージョンの HumanIK には、一連の新しい関数が含まれています。これらの関数では、データの読み書きをノードまたはエフェクタの関連データすべてを含んだメモリ バッファ(データ セットと呼ばれる)に対して行うため、キャラクタ ステートのノードおよび Effector Set State のエフェクタのトランスレーション、回転、スケールの設定および取得を最適なプロセスで実行します。
「アニメーション データを設定および取得する」の、特に「HIKCharacterState データのデータ セット関数」と「HIKEffectorSetState データのデータ セット関数」を参照してください。
キャラクタ ステートのノードのトランスレーション、回転、スケールを、各ノードのローカル スペースを使用して設定したり取得することができるようになりました(親ノードに対して)。ローカル スペースを使用するには、「HIKCharacterState データのデータ セット関数」で説明するデータ同期方法のいずれかを使用する必要があります。
このバージョンの HumanIK では、次のような新しいサンプル実装を提供しています。
これらのサンプルは、すべてのソース コードと付属ドキュメントとともに、HumanIK インストール フォルダの samples¥humanik フォルダに保存されています。
新しいライブラリの verbose¥humanik.lib が Windows プラットフォームで使用できるようになりました。特定の状況で、HumanIK をゲームへ組み込む際に役立つデバッグ メッセージを生成します。
このライブラリの使用の詳細については、「デバッグ メッセージをログに記録する」を参照してください。
インバース キネマティクス ソルバとリターゲット ソルバが、特定のタスク専用のより小さなソルバに落とし込まれました。通常はこれらの特殊な関数を直接呼び出す必要はありません。以前のように HIKSolveForEffectorSet() と HIKSolveForCharacter() 関数を呼び出すと、順番に特殊な関数が呼び出されます。
詳細については、「インバース キネマティックス ソルバ」と「リターゲットのソルビング」を参照してください。