リリース 3.6 の新機能

このページでは、リリース 3.6 で導入された新しい機能とバグ修正について説明します。

低 LoD ソルバ

HumanIK は現在、より低い Level of Detail (LOD)を使用するソルバも実装されています。これにより、より速いソルバが提供され、CPU 消費が低下します。

より低い Level of Detail で計算する」を参照してください。

Degrees of Freedom (DOF, 自由度)

HIKCharacter の各軸での各ノードの回転の制限を設定することができるようになりました。これにより、キャラクタのジョイントの動作範囲を制限できます。

詳細は、「Degrees of Freedom 」を参照してください。

方向付きフロア コンタクト

HumanIK フロア コンタクト エンジンで、キャラクタの脚と手を、フラットなフロアではなく方向付きプレーンのサーフェス(傾斜板や壁など)に対して調整できるようになりました。

フロア コンタクトの詳細については、「足および手のコンタクト」を参照してください。

この機能で必要なコード変更の詳細については、「HumanIK 3.5 から HumanIK 3.6 への移行」を参照してください。

インバース ジョイントのサポート

HumanIK では、鳥のように肘や膝が後方に曲がるキャラクタをサポートするようになりました。

詳細は、「膝と肘を反転する」を参照してください。

Squash ’n’ Stretch

Squash ’n’ Stretch により、キャラクタの腕や脚の角度構成を保持することでインバース キネマティクスおよびリターゲット ソルバで生成されるポーズのリアリティが増します。

詳細は、「Squash 'n' Stretch を使用する」を参照してください。

新しい鎖骨ノード

HumanIK は、左右の肩の鎖骨ノードと肩ノードの間に追加の鎖骨ノードをサポートするようになりました。これにより、キャラクタの肩の動きのリアリティが向上します。

詳細は、「HumanIK ノードおよびエフェクタにジョイントをマッピングする」を参照してください。

鎖骨ノードの硬さのコントロール

キャラクタの各軸の周りの鎖骨ボーンの硬さを、HIKCollarStiffnessXHIKCollarStiffnessYHIKCollarStiffnessZ プロパティを設定することでコントロールできます。

詳細は、「全般プロパティ」を参照してください。

胸のエフェクタにオフセットを追加

各軸に沿った胸のエフェクタのトランスレーションオフセットを設定できるようになりました。これにより、ソースおよびターゲット キャラクタの肩が一致しない場合に、リターゲット ソルバが生成するポーズのリアリティが向上します。これらのオフセットは、HIKChestTOffsetXHIKChestTOffsetYHIKChestTOffsetZ プロパティの値で設定します。

詳細は、「リターゲットに固有のプロパティ」を参照してください。

膝と肘の最大伸長角度

キャラクタの膝と肘の最大伸長角度を、180 度まで(完全に伸ばしたとき)の任意の値に設定できるようになりました。各四肢の最大値は HIKLeftLegMaxExtensionAngleHIKLeftArmMaxExtensionAngleHIKRightLegMaxExtensionAngleHIKRightArmMaxExtensionAngle プロパティを使用して個別に設定できます。

詳細は、「全般プロパティ」を参照してください。

Character State と Effector Set State のデータ同期を改善

このバージョンの HumanIK には、一連の新しい関数が含まれています。これらの関数では、データの読み書きをノードまたはエフェクタの関連データすべてを含んだメモリ バッファ(データ セットと呼ばれる)に対して行うため、キャラクタ ステートのノードおよび Effector Set State のエフェクタのトランスレーション、回転、スケールの設定および取得を最適なプロセスで実行します。

アニメーション データを設定および取得する」の、特に「HIKCharacterState データのデータ セット関数」と「HIKEffectorSetState データのデータ セット関数」を参照してください。

ローカル スペース トランスフォームのサポート

キャラクタ ステートのノードのトランスレーション、回転、スケールを、各ノードのローカル スペースを使用して設定したり取得することができるようになりました(親ノードに対して)。ローカル スペースを使用するには、「HIKCharacterState データのデータ セット関数」で説明するデータ同期方法のいずれかを使用する必要があります。

新しいサンプル

このバージョンの HumanIK では、次のような新しいサンプル実装を提供しています。

これらのサンプルは、すべてのソース コードと付属ドキュメントとともに、HumanIK インストール フォルダの samples¥humanik フォルダに保存されています。

デバッグ ライブラリ

新しいライブラリの verbose¥humanik.lib が Windows プラットフォームで使用できるようになりました。特定の状況で、HumanIK をゲームへ組み込む際に役立つデバッグ メッセージを生成します。

このライブラリの使用の詳細については、「デバッグ メッセージをログに記録する」を参照してください。

モジュラー ソルビング

インバース キネマティクス ソルバとリターゲット ソルバが、特定のタスク専用のより小さなソルバに落とし込まれました。通常はこれらの特殊な関数を直接呼び出す必要はありません。以前のように HIKSolveForEffectorSet()HIKSolveForCharacter() 関数を呼び出すと、順番に特殊な関数が呼び出されます。

詳細については、「インバース キネマティックス ソルバ」と「リターゲットのソルビング」を参照してください。