HumanIK インバース キネマティクスおよびリターゲット ソルバにより、アニメーションをよりリアルにすることができる構成可能な設定を使用して、キャラクタの動作を正確に細かく制御することができます。ただし、特定のパフォーマンス コストがかかり、、それは必ずしも必要ではありません。
たとえば、ゲームの特定のエリアまたはセグメントに、非常に多くのキャラクタが含まれている場合、各計算で消費されるリソースを削減するために、各キャラクタの移動のリアルさにおける小さい間違いを容認することが望ましい場合があります。同様に、キャラクタがプレイヤーまたはビューア内で遠い場合、小さい間違いは表示されない可能性があります。このようなシナリオでは、HumanIK からの完全な LOD は必要でない場合があります。
HumanIK により、インバース キネマティクスとリターゲット ソルバの両方の低 LoD 実装が提供され、パフォーマンスがより速くなり、CPU への負荷が低減されます。
低 LoD インバース キネマティクス ソルバを使用するには、インバース キネマティックス ソルバで導入された HIKSolveForEffectorSet() 関数の代わりに HIKSolveForEffectorSetLowLOD() 関数を呼び出します。この HIKSolveForEffectorSetLowLOD() 関数には、HIKSolveForEffectorSet() 関数と同じ引数が必要です。
低 LoD リターゲット ソルバを使用するには、リターゲットのソルビングで紹介されている HIKSolveForCharacter() 関数の代わりに HIKSolveForCharacterLowLOD() 関数を呼び出します。この HIKSolveForCharacterLowLOD() 関数には、HIKSolveForCharacter() 関数と同じ引数が必要です。
低 LoD によって実行される実際のリターゲット操作は、通常のリターゲット ソルバによって実行される操作と同じです。ただし、低 LoD リターゲット ソルバは、低 LoD インバース キネマティクス ソルバを呼び出してターゲット キャラクタの最終的な位置を生成し、IK パスの速度を向上させます。
同等の設定であれば、低 LoD IK およびリターゲット ソルバは正規の対照製品と比べて最大で 10 倍の速度で実行されます。また、以下に詳しく説明するソルブのパラメータに対する単純な変更によって、CPU のパフォーマンスをさらに向上させることができます。
以下にリストしたアプローチを使用する場合、計算に要する CPU 時間と最終的な結果の正確さのどちらかについて妥協しなければならないことがあります。
低 LoD ソルバによって使用される CPU 時間の約 30% は四肢のソルビングに費やされます。キャラクタの四肢のいくつかまたはすべてのソルビングを非アクティブ化することにより、これを縮小することができます。各四肢のソルビングを部分的または全面的に非アクティブ化することができます。
低 LoD ソルバによって使用される CPU 時間の約 13% は脊椎のソルビングに費やされます。多くの場合、これは最終ポーズにはあまり影響を及ぼしません。最終結果を著しく劣化させることなく、安全に脊椎ソルビングを非アクティブ化することができます。
脊椎のソルビングを非アクティブ化するには、HIKEffectorSetState に対して設定されたソルビング ステップから該当のソルビング ステップ部分を除外してください。詳細は、「選択されたボディ パーツをソルビングする」を参照してください。
低 LoD ソルバによって使用される CPU 時間の約 20% は単純化された Pull アルゴリズムに費やされます。HIKPullIterationCount キャラクタ プロパティの値を低下させることにより、この時間を大幅に短縮することができます。このプロパティの値を低くするほど、実行される反復の回数が少なくなります。これによって、CPU の使用量は低下しますが、最終結果の正確さが失われます。
詳細は、「リターゲットに固有のプロパティ」を参照してください。