ML デフォーマのコントロール コレクタのアトリビュート

コントロール コレクタ(Control Collector)タブは、ML デフォーマの作成に使用されるアトリビュート エディタ(Attribute Editor)タブの 1 つです。

コントロール コレクタでは、ML デフォーマが近似する複雑なデフォメーションに影響する、または駆動するアトリビュート(コントロール)を設定および整理することができます。また、別のコントロール コレクタを設定して、ML デフォーマのトレーニングに使用できるポーズのサンプル セットを作成するために、ポーズ生成中に操作する必要のあるアトリビュートを指定することもできます。別のコントロール コレクタを設定すると、コントロールに行列コンバータを使用するが、ポーズも生成する場合に便利です。

ML デフォーマの作成方法の詳細については、「ML デフォーマを作成する」および「個別のターゲット ジオメトリを使用して ML デフォーマを作成する」を参照してください。

オブジェクトに ML デフォーマを追加したときにアトリビュート エディタ(Attribute Editor)コントロール コレクタ(Control Collector)タブに切り替えるには:

また、制御値(Control Values)メニューのML デフォーマタブで、異なるコントロール コレクタ(Control Collectors)を作成して割り当てることもできます。

アトリビュート エディタ(Attribute Editor )のコントロール コレクタ(Control Collectors)タブ

ヒント: コントロール コレクタを操作するときは、アトリビュート エディタ(Attribute Editor)タブを固定することをお勧めします。詳細については、「アトリビュート エディタ(Attribute Editor)でタブをピンで固定する」を参照してください。

コントロールの追加(Add Controls)リスト

コントロールの追加(Add Controls)リストには、選択したノード上の、デフォメーションを制御する可能性のあるアトリビュートがすべて表示されます。

コントロール アトリビュートには、スカラー(Scalar)行列(Matrix)の 2 つのタブがあります。スカラー(Scalar)アトリビュートは通常、近似化される複雑なデフォメーションに影響するアニメートされた浮動小数点値です(たとえば、ツイスト(Twist)デフォーマの開始/終了角度)。

行列(Matrix)アトリビュートは通常、トランスフォーム/ジョイントに使用され、移動、回転、スケールの値を抽出することができます。このメカニズムを使用して、回転をクォータニオンや二重軸、三重軸などの機械学習に適した表現に変換することができます。回転に対してこれらの代替表現を使用すると、スカラー(Scalar)アトリビュートとして割り当てられている個々の回転コンポーネントを使用するよりも良い結果が得られます。

スカラー(Scalars)タブ

使用可能なコントロール(Available Controls)フィールド
使用可能なコントロール(Available Controls)フィールドを使用して、アトリビュートを名前で検索します。ワイルドカードを使用して検索結果をフィルタできます。
使用可能なコントロール(Available Controls)フィルタ
使用可能なコントロール(Available Controls)フィルタを使用して、使用可能なアトリビュートをタイプ別に絞り込みます。
コントロールの追加
選択したコントロールを、「接続されたコントロール(Connected Controls)」のリストに追加します。右クリックしてコンテキスト メニューから選択項目の追加(Add Selected)またはすべて追加(Add All)を選択して、コントロールを追加することもできます。
名前
接続されたコントロールに追加するアトリビュートをクリックして選択します。[Ctrl]キーまたは[Shift]キーを押しながら複数のアトリビュートをクリックして選択し、コントロールの追加(Add Controls) をクリックするか、右クリックしてコンテキスト メニューで選択項目の追加(Add Selected)またはすべて追加(Add All)を選択します。

行列(Matrices)タブ

ディープ ジョイント階層がある場合やデフォメーションを駆動するトランスフォームがある場合は、行列(Matrices)タブの設定を使用することをお勧めします。行列データを使用すると、回転を抽出し、機械学習により適した形式に変換することができます。

行列コンバータ接続(Matrix Converter Connection)ドロップダウン
このボタンをクリックすると、カスタムの行列コンバータ ノードを作成(Create)選択(Select)編集(Edit)、または削除(Delete)できるオプションが表示されます。これらのオプションは、行列リストで選択したアトリビュートに使用できます。作成(Create)をクリックして行列コンバータのオプション(Matrix Converter Options)ダイアログ ボックスを開き、コンバータを作成して、抽出するトランスフォームと、回転を表す形式を選択することができます。
使用可能な行列(Available Matrices)フィールド
使用可能な行列(Available Matrices)フィールドを使用して、アトリビュート名を一覧表示します。ワイルドカードを使用して検索結果をフィルタできます。
使用可能な行列(Available Matrices)フィルタ
使用可能なコントロール(Available Controls)フィルタを使用して、使用可能なアトリビュートをタイプ別に絞り込みます。
コントロールの追加
選択したコントロールを、「接続されたコントロール(Connected Controls)」のリストに追加します。
名前(Name)
接続されたコントロールに追加するアトリビュートをクリックして選択します。[Ctrl]または[Shift]キーを押しながらクリックして複数のアトリビュートを選択し、コントロールの追加(Add Controls) をクリックします。
行列変換
既存の行列コンバータ ノードを選択するか、作成するには、このメニューを使用します。行列コンバータ ノードを使用すると、行列から回転、スケール、移動の各コンポーネントを抽出できます。回転は、機械学習により適した代替形式に変換することができます。

接続されたコントロール(Connected Controls)リスト

コントロールの追加(Add Controls)セクションから選択したアトリビュートがこのリストに表示されます。接続されたコントロール(Connected Controls)リストを右クリックして、接続されたコントロール(Connected Controls)コンテキスト メニューを開きます(以下を参照)。

接続されたコントロール(Connected Controls)リストのスカラー(左)およびマトリクス(右)

検索フィールド
アトリビュート名の最初の数文字を入力して、アトリビュートを検索します。「left_*」などのワイルドカードを使用すると便利です。
フィルタ(Filter)
クリックしてリストを展開して、表示するアトリビュートを選択します。
選択項目の除去(Remove Selected)
クリックすると、接続されたコントロール(Connected Controls)リストから選択したコントローラが削除されます。
ポーズを生成(Generate Poses)
クリックすると、このトピックで説明するポーズ生成の設定(Pose Generation Settings)にある設定を使用して、タイム スライダでランダム ポーズが生成されます。
インデックス(Index)
配列内のアトリビュートの位置。
名前
接続されたコントロール(Connected Control)アトリビュートの名前。
既定値(Default)/最小値(Min)/最大値(Max)
これらの値は、ポーズの生成時に使用されます。ポーズ生成(Pose Generation)でコントロールをランダム化すると、最小(Min)最大(Max)の値の間で値が選択されます。外側モード(Outsider Mode)の設定によっては、ポーズ生成でコントロールがランダム化されない場合は、代わりに既定値が指定されます。
このセクションでは、3 つの値すべてを調整できます。

接続されたコントロール(Connected Controls)コンテキスト メニュー

次のオプションは、接続されたコントロール(Connected Controls)リストのセルを右クリックすると表示されます。

編集(Edit)
既定(Default)最小(Min)最大(Max)の値を編集できます。
ノードを選択(Select Node)
ビューポート(Viewport)アウトライナ(Outliner)、およびノード エディタ(Node Editor)で、対応するノードを選択してハイライトします。
コンバータ ノードを選択(Select Converter Node)
1 つまたは複数の対応する選択した行列アトリビュートに使用する必要がある行列コンバータ ノードを選択します。
行列コンバータを追加(Add Matrix Converter)
このメニューを使用して、既存の行列コンバータ ノードから選択するか、選択した行列アトリビュートに関連付ける新しいノードを作成します。行列コンバータ ノードを使用すると、行列から回転、スケール、移動の各コンポーネントを抽出できます。回転は、機械学習により適した代替形式に変換することができます。
選択項目の除去(Remove Selected)/すべて除去(Remove All)
選択した属性をリストから削除します。接続されたコントロール(Connected Controls)リストにリストされたすべてのアトリビュートを除去するには、すべて除去(Remove All)を使用します。
コンバータを展開(Expand Converters)

コンバータを展開(Expand Converters)オプション

行列コンバータに接続されたコントロールを表示できます。コントロール コレクタ/ML デフォーマによって使用されるすべてのコントロールのリストを表示する場合に使用します。すべての列を表示するには、アトリビュート エディタ(Attribute Editor)のサイズ変更が必要になる場合があります。
制限から現在値を設定(Set Current Value from Limit)
対応するアトリビュートの値を既定(Default)最小(Min)、または最大(Max)の値に設定します。
現在値から制限を設定(Set Limit from Current Value)
対応するアトリビュートの現在の値から既定(Default)最小(Min)最大(Max)の値を設定します。
フレーム レンジ内の値から制限を設定...(Set Limits from Values in Frame Range...)
タイム レンジに基づいて制限を設定できるダイアログ ボックスを開きます。
タイム レンジ(Time Range)
次の中から選択します。
  • すべて(All): アニメーション全体の制限に基づいて設定します。
  • 選択範囲(Selection):
  • 開始/終了(Start/End): カスタムのフレーム レンジを設定するために開始(Start)終了(End)をアクティブにします。
  • タイム スライダ(Time Slider): タイム レンジ(Time Range)タイム スライダ(Time Slider)の現在の表示に基づいて設定します。
制限を拡張(Extend Limits)
制限を拡張(Extend Limits)スライダで設定した量だけ、指定した制限を延長することができます。
ポーズを生成(Generate Poses)
ポーズ生成の設定(Pose Generation Settings)の設定を使用して、タイム スライダでランダム ポーズを生成します。これらのポーズは、生成されるデフォメーションに対するコントロールのエフェクトの例を示します。この例は、機械学習モデルのトレーニングに使用されます。
以下の「ポーズ生成の設定」を参照してください。
コントロール設定(Control Setup)
コントロール設定を読み込むまたは書き出すことができます。以下は、書き出された JSON ファイル形式の例です。
{
    "converters": [{
            "inputs": [{
                    "src_plug": "|joint1|joint2.matrix"
                }, {
                    "src_plug": "|joint1|joint2|joint3.matrix"
                }
            ],
            "name": "matrixConverter1",
            "settings": {
                "extractRotation": true,
                "extractScale": false,
                "extractTranslation": false,
                "rotationConversion": 2,
                "rotationX": true,
                "rotationY": true,
                "rotationZ": true,
                "scaleX": true,
                "scaleY": true,
                "scaleZ": true,
                "translationX": true,
                "translationY": true,
                "translationZ": true
            },
            "type": "matrixConverter"
        }, {
            "inputs": [{
                    "src_plug": "|cluster1Handle.matrix"
                }
            ],
            "name": "matrixConverter2",
            "settings": {
                "extractRotation": false,
                "extractScale": true,
                "extractTranslation": false,
                "rotationConversion": 0,
                "rotationX": true,
                "rotationY": true,
                "rotationZ": true,
                "scaleX": true,
                "scaleY": true,
                "scaleZ": true,
                "translationX": true,
                "translationY": true,
                "translationZ": true
            },
            "type": "matrixConverter"
        }
    ],
    "inputs": [{
            "src_plug": "matrixConverter1.flatOutput"
        }, {
            "src_plug": "matrixConverter2.flatOutput"
        }, {
            "default_value": 1.0,
            "max_value": 1.0,
            "min_value": 0.0,
            "src_plug": "cluster1.envelope"
        }
    ],
    "name": "controlCollector1",
    "type": "controlCollector"
}
リフレッシュ(Refresh)
最新の変更でリストを更新します。

ポーズ生成の設定

この領域は、接続されたコントロール(Connected Controls)から作成されたポーズをカスタマイズするためのものです。アクティブ化(Activation)は、特定のポーズやフレームに対して新しい値やランダムな値をコントロールに指定するプロセスです。
コントロールに適用(Apply to Controls)
ポーズのアクティブ化に使用するコントロールを決定する方法を選択します。
  • すべて(All)
  • フィルタ済み(Filtered)
  • 選択項目(Selected)
生成モード(Generation Mode)
ポーズ生成のモードを選択します。次の図では、選択した 3 つのコントロールのポーズを生成しています。
  • 各ボックスはスカラー コントロールを表しています
  • カラーは、各コントロールが属するノードを表しています。青は特定のノード、紫は別のノード、のようになります。
  • グレー表示のコントロールは、選択されていないためポーズに対してアクティブになっていないコントロールを表しています
  • 黒いドットは、タイム スライダ(Time Slider)上の位置を示すオフセットを持つ、キー設定されたランダム値を表しています。(ポーズの数(Number of Poses)設定のオプションを参照してください)。

ポーズ生成のモード: A.すべてをランダム化 B.ノードを連続してランダム化 C.プラグを連続してランダム化

すべてをランダム化(Randomize All Together)
従来の方法です。選択したすべてのコントロールは、アクティベーション モード/アクティベーション率に基づいて使用されます。
ノードを連続してランダム化(Randomize Nodes Consecutively)
コントロールを親ノード別にグループ化します。グループごとに生成される一連のフレームがあります。ノードを連続してランダム化(Randomize Nodes Consecutively)は、1 つのノードのコントロールを選択し、ポーズを生成してから、次のノードに対して同じ操作を行うのと同じです。
プラグを連続してランダム化(Randomize Plugs Consecutively)
プラグ(コントロール)ごとに 1 つのフレーム セットがキー設定されます。グループ内のすべてのフレームで各コントロールがアクティブになるため、アクティブ化の設定はグレー表示されます。プラグを連続してランダム化(Randomize Plugs Consecutively)は、各コントロールを一度に選択してポーズを生成する操作と同じです。
ポーズの数(Number of Poses)

生成するポーズの数を設定します。生成されるポーズの合計数は、外側モード(Outsider Mode)で設定されている生成モードによって決まります。これは、このモードが生成グループごとに設定されるためです。

上記のポーズ生成モードの図で、ポーズの数(Number of Poses)を 10 に設定すると、結果は次のようになります。
  • A: 10 個のポーズからなる 1 つのグループ。

  • B: 10 個のポーズからなる 2 つのグループ(合計 20 個)。

  • C: 10 個のポーズからなる 3 つのグループ(合計 30 個)。

キーを開始する場所(Start Keys at)
ポーズ生成を開始するフレームを設定します。
最後のキーの後(After Last Key)
ポーズは、すべてのコントロール パラメータ カーブにキーを追加して生成されるため、既存のポーズが上書きされないように、最後のキーの後(After Last Key)を使用して最後のキーの後に新しいポーズを追加します。
カスタム開始フレーム(Custom Start Frame)
カスタム開始フレーム(Custom Start Frame)フィールドを有効にして、ポーズ生成を開始するフレームを設定します。
現在のフレーム(Current Frame)
ポーズ生成を開始するフレームを設定します。
カスタム開始フレーム(Custom Start Frame)
ポーズ生成を開始するフレーム番号を入力します。
外部モード(Outsider Mode)
生成されたポーズに対してアクティブになっていないコントロールの動作の設定方法を、選択、生成モード、アクティベーション率などの中から選択します。
  • 無視(Ignore): 非アクティブ化されたコントロールにはキーが作成されません。
  • 既定に設定(Set to Default): コントロールは既定として設定された値にキー設定されます。
  • 現在に設定(Set to Current): ポーズを生成(Generate Poses)がアクティブになった時点で、コントロールには値としてキー設定されます。
アクティベーション モード(Activation Mode)
コントロール値のサブセットを指定できます。
アクティブ化(Activation)は、特定のポーズやフレームに対して新しい値やランダムな値をコントロールに指定するプロセスです。たとえば、100 個のコントロールがある場合、すべてのポーズで 100 個のコントロールすべてを変更する必要はありません。代わりに、コントロールのサブセットのみに値を指定する(アクティブ化する)ポーズを使用できます。たとえば、左腕のすべてのコントロールを指定できます
これにより、コントロールの変更とジオメトリへの影響との相関関係を簡単に把握することができます。
すべて(All)
アクティブ化にすべてのポーズ/フレームを使用します。
パーセント(Percentage)
アクティベーション率(Activation Rate)スライダを使用して、最小(Min)最大(Max)の値のパーセンテージを設定し、ランダム化(ポーズ単位)用に選択することができます。