パーティクル スキナー モディファイヤ

パーティクル スキナー モディファイヤを使用すると、1 つまたは複数の PFlow パーティクル システムで修正オブジェクトのジオメトリを変形することができます。

このモディファイヤの主な目的は、パーティクルのモーションとアニメーション(パーティクル システム全体)を標準のジオメトリ オブジェクトに変換することです。つまり、パーティクルを、修正されたジオメトリにスキンを適用するためのボーンとして機能するようにします。通常のボーンと同様に、大幅なパーティクル間の変換は、スキンをコントロールするうえで大きな妨げになることがあります。そのため、コントロールされる一連のモーションについては、あらかじめパーティクル アニメーションを用意しておくことが重要です。その意味で、パーティクル スキナーでは、mParticles グルー テストと緊密に連携し、パーティクルをまとめてバインドすることができます。

パーティクル スキナーは[スキン ラップ](Skin Wrap)モディファイヤといくぶん似ており、用語も大体同じです。パーティクル フロー パーティクル システムで、スキニングでのボーンの役割を持つパーティクルを、コントロール パーティクルと呼びます。パーティクル スキナーで修正されるオブジェクトは基本オブジェクトと呼びます。基本オブジェクトは、変形可能であればどの種類のジオメトリでもかまいません。また、ポイントとは、基本オブジェクトの頂点のことを指します。

パーティクル スキナーでは、これも[スキン ラップ](Skin Wrap)と同様ですが、スキンとボーンの関係を定義した後(つまり、[スキニングのアクティブ化](Activate Skinning)ボタンをクリックした後)に、基本オブジェクトの構造やトポロジを修正することができます。

パーティクル スキナーは、スキン ポーズを定義するタイミングも柔軟です。このポーズは、[スキニングのアクティブ化](Activate Skinning)をクリックしたときに、その時点のフレームで定義されます。スキン ポーズをフレーム 0 で定義する必要はありません。代わりに、スキン ポーズを定義するのに最適なフレームを選択できます。ほとんどの場合、最適なフレームは、コントロール パーティクルがスキンのジオメトリに近く、基本オブジェクトのサーフェス全体に影響が及ぶフレームになります。

パーティクル スキナーの使用例については、『mParticles クイック スタート チュートリアル』を参照してください。

関連項目

パーティクル スキナー モディファイヤ: [データ ワイヤリング パラメータ](Data Wiring Parameters)ロールアウト

パーティクル スキナー モディファイヤ: [表示パラメータ](Display Parameters)ロールアウト

インタフェース

[パーティクル スキナー(Particle Skinner)]モディファイヤ スタック

[コントロール パーティクル](Control Particles)サブオブジェクト レベル
[スキニングのアクティブ化](Activate Skinning)がオンの場合は、このレベルでコントロール パーティクルの表示や選択が可能です。これは主にデバッグで利用されます。パーティクルの影響の範囲のほか、コントロールされていないポイントも確認できるからです。

[表示パラメータ](Display Parameters)ロールアウトに、このレベルに関連するコントロールがいくつかあります。

[パラメータ]ロールアウト

注: [パラメータ](Parameters)ロールアウトは長いため、ユーザ インタフェースの図を前半と後半の 2 つに分けて示しています。[コントローラ制限](Controllers Limit)の設定以降の後半部分にジャンプするには、ここをクリックしてください。
[スキニングのアクティブ化](Activate Skinning)
クリックするとスキン ポーズが定義されます。スキン ポーズとは、基本オブジェクトのサーフェス ジオメトリとコントトール パーティクルの関係のことです。

スキニングをアクティブ化するフレームは重要です。関係には、現在のフレームにおけるコントロール パーティクルの位置/方向/スケールが反映されるからです。モディファイヤで、スキニングのボーンの定義として使用するコントロール パーティクルのスナップショットが作成されます。

?
スキニングに関連する主な統計情報を表示します。
  • [現在の時間](Current Time)現在のフレーム。
  • [アクティベーション時間](Activation Time)スキン ポーズが定義されたフレーム。
  • [コントロール パーティクル数](Control Particles Count)コントロール パーティクルの元の数。
  • [アクティブなコントロール パーティクル](Active Control Particles)現在のフレームのシーンに表示されたコントロール パーティクルの数と割合。
  • [割り当てられていないポイント](Unassigned Points)パーティクルで現在コントロールされていないメッシュのポイントの数。割り当てられていないポイントを表示するには(赤色の小さい四角形のアウトラインで示されます)、モディファイヤの[コントロール パーティクル](Control Particles)サブオブジェクト レベルに切り替え、[表示パラメータ](Display Parameters)ロールアウトで[割り当てられていないポイントを表示](Display Unassigned Points)をオンにします。

[タイミング]領域

この領域の設定では、パーティクルがオブジェクトのシェイプに影響するフレームの範囲を設定できます。

開始前に非表示(Hide Before Time On)
オンにすると、[ディフレクタ開始](Time On)によって指定されたフレームの前に、オブジェクトは完全に非表示されます。
ディフレクタ開始(Time On)
パーティクルがオブジェクトのシェイプに影響する最初のフレーム番号を設定します。
ディフレクタ終了(Time Off)
オンにすると、パーティクルがオブジェクトのシェイプに影響する最後のフレーム番号を設定できます。
終了後に非表示(Hide After Time Off)
オンにすると、[ディフレクタ終了](Time Off)数値設定によって指定されたフレームの後で、オブジェクトは完全に非表示されます。[ディフレクタ終了](Time Off)がオンのときにだけ使用できます。
パーティクル フロー システム(Particle Flow Systems)
オブジェクトのシェイプに影響するパーティクルが含まれるパーティクル フロー システムが表示されます。[追加](Add)ボタンを使用して、ビューポートで PF ソース アイコンを選択することでシステムを追加するか、または[リスト別](By List)ボタンを使用してリストから PF ソース オブジェクトを追加します。システムを削除するには、リストでハイライト表示して[除去](Remove)をクリックします。
[すべてのパーティクル フロー イベント]
オンのときは、リストされているパーティクル フロー システム(前記参照)のすべてのイベントが、モディファイヤに追加されます。オフのときは、[パーティクル フロー イベント](Particle Flow Events)コントロール(後述参照)を使用して、パーティクルがオブジェクトの外観に影響を与えるイベントを指定します。
パーティクル フロー イベント(Particle Flow Events)
[すべてのパーティクル フロー イベント](All Particle Flow Events)がオフのときは、パーティクルがオブジェクトの外観に影響を与えるイベントのリストが表示されます。リストにイベントを追加するには[リスト別に追加](Add By List)ボタンをクリックし、イベントを削除するにはイベントをハイライト表示して[除去](Remove)をクリックします。
注: [スキニングのアクティブ化](Activate Skinning)ボタンをクリックした後でも(つまり、スキニングがアクティブな状態でも)、パーティクル フロー イベントのサブセットを修正することができます。その際、コントロール パーティクルのコントロールは、コントロール パーティクルがパーティクル フロー イベントにある場合だけに限定されます。

たとえば、[すべてのパーティクル フロー イベント](All Particle Flow Events)オプションをオンにした状態で[スキニングのアクティブ化](Activate Skinning)をクリックしたときに、その時点のフレームが 100 で、50 個のパーティクルがアクティブであったとします。この場合、それらの 50 個のパーティクルをコントロール パーティクルとして使用することになります。スキニングをアクティブ化した後に[すべてのパーティクル フロー イベント](All Particle Flow Events)をオフにし、イベント 02 を追加したとすると、モディファイヤでのスキニングには、イベント 02 にあるコントロール パーティクルだけが使用されます。

[フォールオフ]
コントロール パーティクルの影響の変化率を指定します。既定値は 1.0、指定できる範囲は 0.001 ~ 10.0 です。

最適な結果を得るには(つまり、パーティクル間のコントロールのトランジションを滑らかにするには)、[フォールオフ](Falloff)の値を 1.0 ~ 2.0 にします。値が 1.0 未満だと、パーティクル間のトランジションがリジッドになり、一部のパーティクルの影響がそれ以外のパーティクルの影響よりも強くなる傾向があります。また、この値が高いほど、すべてのパーティクルの平均に近くなり、トランジションの範囲が一定になる傾向があります。

[距離の影響](Distance Influence)
コントロール パーティクルの影響の距離および設定を指定します。次の中から、距離の計算方法を選択します。
  • [絶対値](Absolute)影響の距離を示す数値をワールド単位で指定します。
  • [サイズ](Size)コントロール パーティクルの影響の距離が、パーティクルのシェイプの最も長い寸法に[サイズ %](Size %)の係数を掛けた値になります。
  • [バインド](Binding)コントロール パーティクルの影響の距離が、パーティクルのすべてのバインドの長さの平均に[バインド %](Binding %)の係数を掛けた値になります。
注: コントロール パーティクルのローカル軸の範囲がすべて同じでない場合、影響は球状ではなく、パーティクルのシェイプに近い形で広がります。

[絶対値](Absolute)値の効果を示したビデオについては、「距離の影響(Distance Influence)」を参照してください。

[パラメータ](Parameters)ロールアウト(続き)

[コントローラ制限](Controllers Limit)
ポイントをコントロールできるコントロール パーティクルの最大数です。

[コントローラ制限](Controllers Limit)値の効果を示したビデオについては、「コントローラ制限(Controllers Limit)」を参照してください。

[内部インクルージョンによるコントロール](Control By Inside Inclusion)
オンにすると、コントロール パーティクルがポイントの外側にある場合に(コントロール パーティクルでは、コントロールされるサーフェスの外側からもポイントを参照できます)、パーティクルでポイントがコントロールされません。オフの場合は、距離だけが考慮され、ポイントに近いかどうかによって、パーティクルでポイントをコントロールできるかどうかが決まります。

このオプションを使用すると、影響の範囲をジオメトリの内部にあるパーティクルだけに制限できます。これにより、隣接しない複数の要素でジオメトリが構成されている場合に、要素のボリュームの内部にコントロール ポイントを配置することで、1 つの要素の内部のコントロール パーティクルが近くにある他の要素に影響しなくなります。

[サーフェスを引き裂く](Rip Surface Apart)領域

パーティクルのモーションに応じてジオメトリのシェイプを修正できることに加え、パーティクル スキナーでは、サーフェスを引き裂くこともできます。これにより、コントロール パーティクルが相互に離れている場合のトポロジを修正できます。この領域のパラメータで、分断をトリガするタイミングと方法、およびモディファイヤによる分断トポロジの処理方法を定義します。

[非コントロールの除去](Remove Uncontrolled)
オンにすると、コントロール パーティクルに関連付けられていないポイントが、その面も含めてサーフェスから除去されます。
Type
パーティクル スキナーで修正オブジェクトを引き裂く方法を選択します。[なし](None)オプションがアクティブになっている場合、他のコントロールは使用できません。
  • [ブレークのバインド](Binding Break) このオプションは、コントロール パーティクルのバインドが mParticles グルー テストで定義されている場合に使用します。このオプションでは、コントロール パーティクルのバインドが失われると、サーフェスが各パーティクルに引き裂かれます。

    サーフェスの分断に使用するバインドのセットを、特定の mParticles グルー テストで定義されたものだけに制限することができます。これを行うには、[MassFX グルーバインド](MassFX Glue Bindings)のリストに mParticles グルー テストを追加します(以下を参照)。

    注: ベイク処理シミュレーションはバインド情報を保持しません。そのため、[ブレークのバインド](Binding Break)オプションを使用してサーフェスを引き裂く場合は、[ベイク処理シミュレーション実行](Run Baked Simulation)オプションは使用できません。代わりに、標準の[キャッシュ](Cache)オペレータまたは[キャッシュ ディスク](Cache Disk)オペレータを使用します。
  • [距離変更](Distance Change)コントロール パーティクル間の距離が大幅に変化した場合にジオメトリのサーフェスが引き裂かれます。

    分断効果に必要な距離の変化量を定義するには、[距離変更](Distance Change)領域の設定を使用します。相対的な変化を指定([相対 %](Relative%)パラメータで定義)することも、絶対的な変化を指定([絶対値](Absolute)パラメータでワールド単位で定義)することもできます。

  • [なし](None)分断を行いません。
  • [オフセット](Offset)コントロール パーティクルの相対的な位置が変化した場合にジオメトリのサーフェスが引き裂かれます。つまり、別のコントロール パーティクルの相対座標における位置が変化した場合です。コントロール パーティクル間の距離が変わらない場合でも、オフセット状態になることがあります。たとえば、コントロール パーティクルがその場で回転した場合、相対的な位置が変化し、分断効果がトリガされることがあります。

    分断効果に必要なオフセットの量は、[オフセット距離](Offset Distance)領域の設定で定義します(アクティブにしているオプションによっては、[距離変更](Distance Change)領域と同じになります)。パーティクル間の距離を基準とする相対的なオフセットの量として相対的な変化を指定([相対 %](Relative%)パラメータで定義)することも、絶対的な変化を指定([絶対値](Absolute)パラメータでワールド単位で定義)することもできます。

[距離変更](Distance Change)値の効果を示したビデオについては、「[距離変更](Distance Change)」を参照してください。

エッジ分割の精度(Edge Split Precision)
サーフェスの分断は、基本オブジェクトのジオメトリの特定のエッジを分割することで行われます。この領域のパラメータで、分断によって生じる断片の分割および刈り込みの精度をコントロールします。
断片が作成されないようにするには、次のいずれかのオプションを選択して、分割ポイントを最も近い元の頂点にスナップするように指定します。
  • [相対 %](Relative %)相対的なエッジの長さに基づいてスナップを行うように定義します。100% を指定すると完全な精度が得られますが、結果として断片が生成される可能性があります。0% は、すべての分割点を最も近い元の頂点にスナップします。
  • [絶対値](Absolute)分割面での最も小さいエッジの長さに基づいてスナップを行うように定義します。エッジが[絶対値](Absolute)の値より短い場合、分割頂点は最も近い元の頂点にスナップされます。
[距離変更](Distance Change)/[オフセット距離](Offset Distance)
このオプションの名前は、[サーフェスを引き裂く](Rip Surface Apart) [タイプ](Type)で[距離変更](Distance Change)と[オフセット](Offset)のどちらを設定したかによって異なります。このオプションでは、分断を開始する条件となるパーティクルの移動距離を指定できます。詳細は、[タイプ](Type)の項で示した[距離変更](Distance Change)と[オフセット](Offset)の説明を参照してください。
[MassFX グルーバインド](MassFX Glue Bindings)
これらの設定は、[サーフェスを引き裂く](Rip Surface Apart) [タイプ](Type)で[ブレークのバインド](Binding Break)を設定した場合に使用できます。
  • [すべて](All) パーティクルのバインドが失われたときにサーフェスを引き裂く基準として、使用可能なすべての mParticles グルー テストを使用します。
  • [選択](Selected) リストに表示された mParticles グルー テストだけを使用します。リストにテストを追加するには、[リスト別に追加](Add By List)をクリックし、ダイアログ ボックスのリストに追加するテストをハイライト表示して、[選択](Select)をクリックします。リストからテストを削除するには、テストをハイライト表示し、[削除](Remove)をクリックします。
[トポロジのサステイン](Sustain Topology)
オンにすると、修正オブジェクトのトポロジを変更する時間を制限できます。この設定は、イメージ モーション ブラーでレンダリングを行う場合に重要です。それ以外の場合は無視してかまいません。
[間隔ティック](Interval Ticks)
トポロジの一貫性を保つ間隔(ティック)を指定します。既定値は 10 です。ほとんどのレンダラーでは、この既定値のままで問題ありません。たとえば、モーション ブラーを計算するために、既定のスキャンライン レンダラーでは、オブジェクトのジオメトリのスナップショットを 4 ティックの間隔で 2 つ作成し、ジオメトリ全体の変化を定義します。