MotionBuilder HumanIK ソルバ プラグイン

このプラグインでは、MotionBuilder Open Reality SDK を使用して、HumanIK をカスタム MotionBuilder キャラクタ ソルバに組み込みます。このカスタム ソルバを MotionBuilder 内で使用すると、リアルな膝のソルビング、鎖骨の固さ、アニメーション軌道のリターゲットなど、このバージョンの HumanIK 内では利用できるが、使用しているバージョンの MotionBuilder ではネイティブに利用できない機能を使用して、キャラクタをコントロールできます。

このサンプルでビルドしたソルバは、MotionBuilder リリースに含まれている HumanIK ソルバに似ていますが、このリリースの HumanIK ライブラリを使用するように更新されています。

このサンプルをコンパイルして実行するには、新しいバージョンの MotionBuilder と Open Reality SDK をインストールしている必要があります。

サンプルをコンパイルする

  1. MOTION_BUILDER_LOCATION という名前の環境変数を作成し、その値をユーザのマシン上の MotionBuilder のインストール フォルダに設定します。
  2. このサンプルは solutions/<platform_and_toolset>/HIKSamples.sln ソリューションに含まれています。このソリューションを Visual Studio で開きます。 使用する必要があるプロジェクトは、インストールした MotionBuilder のバージョンによって異なります。

    • MotionBuilder 2011 の場合は、MoBuHIK2011 プロジェクトを使用します。
    • MotionBuilder 2012 の場合は、MoBuHIK2012 プロジェクトを使用します。
    • MotionBuilder 2013 の場合は、MoBuHIK2013 プロジェクトを使用します。
    • MotionBuilder 2014 はまだサポートされていません。

  3. コンパイルが終了すると、生成されたファイルが MotionBuilder のインストール フォルダ内の次のサブフォルダに自動的にコピーされます。

    • 32 ビットの Windows システムでは、bin/win32/plugins
    • 64 ビットの Windows システムでは、bin/x64/plugins

    これらのファイルがコピーされていない場合は、手動でコピーします。

サンプルを使用する

サンプルでビルドした MotionBuilder ソルバを使用するには:

  1. MotionBuilder を起動し、HumanIK を使用してコントロールするキャラクタを開くか作成します。
  2. Navigator ウィンドウで、Characters フォルダを展開し、新しいソルバを追加したキャラクタをダブルクリックします。
  3. Character Settings タブで、「CharacterSolver」ドロップダウン リストを見つけて新しいソルバのエントリを選択します。
  4. ソルバのプロパティを表示して変更するには、Navigator ウィンドウでキャラクタのフォルダまたは Solvers フォルダの下にあるソルバ エントリをクリックし、Properties ウィンドウを開きます。

    ソルバのほとんどのコントロールは、HumanIK HIKPropertySetState オブジェクトからキャラクタ プロパティを直接公開します。これらのプロパティとその値の詳細については、「キャラクタ プロパティ」のトピックを参照してください。

    ソルバにはいくつかの追加コントロールがあります。

    プロパティ

    説明

    Weight

    ネイティブの MotionBuilder ソルバとの相対で HumanIK ソルバに与えられるウェイト(2 つのソルバによるポーズ間のブレンド)を決定します。 ウェイト設定が 100 の場合は HumanIK ソルバのみを使用し、ウェイト設定が 0 の場合はネイティブ MotionBuilder ソルバのみを使用します。

    Save HIK Character

    現在のキャラクタを表す HIKCharacter をファイルに書き出します。

    HIKLoadCharacter 関数を呼び出して、このファイルをメモリにロードしてランタイムに HumanIK で使用することができます。

    Save HIK State

    キャラクタのスケルトンの現在のポーズを表す HIKCharacterState をファイルに書き出します。

    HIKLoadCharacterState 関数を呼び出して、このファイルをメモリにロードしてランタイムに HumanIK で使用することができます。

    Save HIK Effectors

    キャラクタのコントロール リグの現在の位置、回転、IK コンストレインを表す HIKEffectorSetState をファイルに書き出します。

    HIKLoadEffectorState 関数を呼び出して、このファイルをメモリにロードしてランタイムに HumanIK で使用することができます。

    Save HIK Properties

    キャラクタの現在の設定を表す HIKPropertySetState をファイルに書き出します。

    HIKLoadPropertySetState 関数を呼び出して、このファイルをメモリにロードしてランタイムに HumanIK で使用することができます。