パーティクル フロー ソース

パーティクル フロー ソースは、各フローのビューポート アイコンであり、既定値のエミッタとしての働きもします。既定値では、中央にロゴの入った長方形(図を参照)で表示されますが、下記に示すコントロールを使用して形状や外観を変更することもできます。

ビューポート内でソース アイコンを選択すると、[修正](Modify)パネルにパーティクル フローのエミッタ レベルのロールアウトが表示されます。または、パーティクル ビュー内でグローバル イベントのタイトル バーをクリックしてハイライト表示し、[パーティクル ビュー](Particle View)ダイアログ ボックスの右側にあるパラメータ パネルから、エミッタ レベルのロールアウトにアクセスします。これらのコントロールは、アイコンのプロパティやフロー内のパーティクルの最大数など、グローバル アトリビュートの設定に使用します。

パーティクル ソース アイコンは、大まかにはパーティクル ビュー内で対応するグローバル イベントと同じものです。名前は同じですが、どちらかを選択しても、もう一方は選択されません。シーンからパーティクル ソース アイコンを削除した場合、グローバル イベントがパーティクル ビュー内の分離したローカル イベントに変換されます。このとき、オペレータの設定はまったく変更されません。システム内のその他のイベントはパーティクル ビュー内に残ったままで、ワイヤリングもそのままです。ただし、グローバル イベントを削除すると、そのシステムだけで使用されているローカル イベントも削除され、対応するパーティクル ソース アイコンも削除されます。ローカル イベントを保持するには、最初にグローバル イベントからワイヤを削除し、次にグローバル イベントを削除します。

Shift+変換または[編集](Edit)メニュー [クローン](Clone)を使用してビューポート内でパーティクル ソースのクローンを作成すると、パーティクル ビューには同じ数のグローバル イベントのコピーが表示され、それら各々が元の発生イベントにワイヤを張られた状態になります。[クローン オプション](Clone Options)ダイアログ ボックスでは[コピー](Copy)オプションのみが提供されます。ただし、パーティクル ビュー内でグローバル イベントのクローンを作成する場合は、[クローン オプション](Clone Options)ダイアログ ボックスでもクローン作成されたオペレータとテストのインスタンスを作成できます。グローバル イベントとローカル イベントのインスタンスは作成できないため、これらのオプションは、[クローン オプション](Clone Options)ダイアログ ボックスでは使用できません。また、パーティクル ビューでクローン作成されたグローバル イベントは、元の発生イベントに自動的にワイヤが張られることはありません。

インタフェース

モディファイヤ スタック

モディファイヤ スタックでパーティクル フローのソース オブジェクトの階層を展開すると、パーティクルとイベントという 2 つのサブオブジェクト レベルにアクセスできます。詳細は、[選択](Selection)ロールアウトを参照してください。

[設定](Setup)ロールアウト

これらのコントロールを使用して、パーティクル システムをオン/オフに切り替えたり、パーティクル ビューを開いたりします。

注: このロールアウトは[作成](Create)パネルと[修正](Modify)パネルにのみ表示され、[パーティクル ビュー](Particle View)ダイアログ ボックス パラメータ パネルでは表示されません。
パーティクル エミッションを有効
パーティクル システムをオン/オフに切り替えます。既定値ではチェックマークが付いています。

[編集](Edit)メニュー [すべてをオフに切り替え](Turn Off All)を使用して、パーティクル ビュー内のすべてのパーティクル フローをオフにできます。また、グローバル イベントのタイトル バーを右クリックして[オフに切り替え](Turn Off)を選択することにより、特定のパーティクル フローをオフにできます。

パーティクル ビュー
クリックして[パーティクル ビュー](Particle View)ダイアログ ボックスを開きます。

[エミッション](Emission)ロールアウト

エミッタ(パーティクル ソース)アイコンの物理的な特性と、ビューポートで作成されるパーティクルとレンダリング時に作成されるパーティクルのパーセンテージを設定します。

[エミッタ アイコン](Emitter Icon)領域
ロゴ サイズ
ソース アイコンの中央に表示されるパーティクル フロー ロゴと、パーティクル モーションの既定値の方向を示す矢印のサイズを設定します。

既定値では、ロゴ サイズはソース アイコンのサイズに比例しています。このコントロールを使用して、大きくしたり小さくしたりできます。

この設定は、ロゴのビューポート表示に対してのみ影響します。変更してもパーティクル システムに対しては有効ではありません。

アイコン タイプ
ソース アイコンの基本ジオメトリを、[長方形](Rectangle)、[ボックス](Box)、[円](Circle)、[球](Sphere)から選択します。既定値は[長方形](Rectangle)です。

この選択は、ソース アイコンをパーティクル エミッタとして使用する場合のみ重要です。使用可能なサイズの設定は、選択するアイコン タイプによって異なります。繰り返しますが、この設定が重要なのはソース アイコンをエミッタとして使用する場合のみです。

既定値のアイコン タイプは[長方形](Rectangle)です。パーティクル システムを追加して、アイコン タイプを[ボックス](Box)に変更した場合、アイコンは長方形のような形のままです。これをボックスらしく見えるようにするには、[高さ](Height)の設定値を大きくします。

[長さ](Length)/[直径](Diameter)
[長方形](Rectangle)と[ボックス](Box)のアイコン タイプには長さを、[円](Circle)と[球](Sphere)のアイコン タイプには直径を設定します。
[長方形](Rectangle)と[ボックス](Box)のアイコン タイプの幅を設定します。[円](Circle)と[球](Sphere)のアイコン タイプでは使用できません。
高さ
[ボックス](Box)アイコン タイプの高さを設定します。使用できるのは[ボックス](Box)アイコン タイプのみです。
[表示](Show): [ロゴ](Logo)/[アイコン](Icon)
ロゴ(矢印付き)とアイコンの表示を、それぞれオン/オフに切り替えます。

これらの設定は、項目のビューポート表示に対してのみ影響します。パーティクル システムに対しては有効ではありません。

[マルチプライヤ量](Quantity Multiplier)領域

ここでの設定により、各フロー内で、実際にビューポート内で作成されるパーティクルとレンダリング時に作成されるパーティクルの総数のパーセンテージが決定します。これらは表示されているパーティクルのパーセンテージには影響しません。表示されているパーティクルのパーセンテージは、[表示](Display)オペレータRender オペレータによって決まります。これらの設定を使用して、パーティクル システムのイベント全体にわたりパーティクルの数を簡単に増減できます。最大値である 10,000% を設定すると、フローによって生成されたパーティクルの数に 100 を掛けた数になります。

パーティクルの総数は、[発生](Birth)[発生スクリプト](Birth Script)[削除](Delete)[衝突スポーン](Collision Spawn)、および[スポーン](Spawn)といったオペレータやテストの効果の組み合わせによって決まります。スクリプトされたオペレータとテストも、この数に影響を及ぼします。

ビューポート
ビューポートで作成されるシステム内のパーティクルの総数のパーセンテージを設定します。既定値は 50.0、範囲は 0.0 ~ 10000.0 です。
レンダリング
レンダリング時に作成されるシステム内のパーティクルの総数のパーセンテージを設定します。既定値は 100.0、範囲は 0.0 ~ 10000.0 です。

[選択](Selection)ロールアウト

これらのコントロールを使用して、パーティクルごとまたはイベント ベースでパーティクルを選択します。[イベント](Event)レベルでパーティクルを選択するのは、デバッグとトラックを目的とする場合です。パーティクル レベルで選択したパーティクルは、[削除](Delete)オペレータ[選択をグループ](Group Selection)オペレータ、および[分割選択](Split Selected)テストでコントロールできます。選択したパーティクルを、[移動](Move)や[回転](Rotate)など標準の 3ds Max ツールによって操作することはできません。

注: このロールアウトは[修正](Modify)パネルにのみ表示され、[作成](Create)パネルや[パーティクル ビュー](Particle View)ダイアログ ボックス パラメータ パネルでは表示されません。
パーティクル
パーティクルを、クリックやドラッグして範囲を指定することで選択します。
イベント
イベント別にパーティクルを選択します。このレベルでは、標準の選択方法によって[イベント別に選択](Select By Event)リストまたはビューポートのイベントをハイライト表示することで、1 つ以上のイベント内のパーティクルをすべて選択できます。[削除](Delete)オペレータや[分割選択](Split Selected)テストで使用するために、[イベント](Event)レベルの選択を[パーティクル](Particle)レベルに変換するには、[イベント レベルから取得](Get From Event Level)を使用します。

選択されているパーティクルは、[表示](Display)オペレータ [選択](Selected)設定で指定された形態で、ビューポート内に赤で(ジオメトリがない場合)表示されます。

[パーティクル ID 別に選択](Select by Particle ID)領域

各パーティクルには一意の ID 番号があり、この番号は 1 から始まり数字が大きくなっていきます。これらのコントロールを使用して、パーティクルを ID 番号で選択したり選択解除します。パーティクル選択レベルでのみ使用可能です。

ヒント: [表示](Display)オペレータ [パーティクル ID を表示](Show Particle IDs)チェック ボックスにチェックマークを付けると、パーティクル ID をビューポートに表示できます。
ID
選択するパーティクルの ID 番号を設定します。一度に選択できる番号は 1 つだけです。
追加
選択するパーティクルの ID 番号を設定したら、[追加](Add)をクリックして選択に追加します。既定値では、パーティクルを選択しても他のパーティクルの選択は解除されません。
削除
選択解除するパーティクルの ID 番号を設定したら、[削除](Remove)をクリックして選択から削除します。
選択をクリア
このチェック ボックスにチェックマークが付いている場合、パーティクルを選択するために[追加](Add)をクリックすると他のすべてのパーティクルの選択が解除されます。
イベント レベルから取得

クリックして、イベント レベルの選択をパーティクル レベルに変換します。パーティクル レベルでのみ使用可能です。

[イベント別に選択](Select By Event)リスト

このリストでは、パーティクル フローのすべてのイベントが表示され、選択したイベントはハイライト表示されます。 イベントのパーティクルをすべて選択するには、そのリスト エントリをクリックするか、標準のビューポート選択方法を使用します。

# 個の選択されたパーティクル

選択したパーティクル数が表示されます。

[システム マネージメント](System Management)領域

これらの設定を使用して、システム内のパーティクル数を制限したり、システムの更新頻度を指定します。

[パーティクル量](Particle Amount)領域
上限
システムが持つことのできるパーティクルの最大数です。既定値は 100000 です。指定できる範囲は 1 ~ 10000000 です。
ヒント: 複数のパーティクル ソースを使用して、それらを同じ発生イベントにワイヤリングすることで、10,000,000 を超えるパーティクルを持つことができます。ただし、パーティクル フローでは、イベントあたり最大 5,000,000 のパーティクルしかレンダラーに送信できないことに注意してください。
[インテグレーション ステップ](Integration Step)領域

各インテグレーション ステップでパーティクル システムが更新され、アクティブな各アクションがそのイベント内のパーティクルに適用されます。インテグレーション ステップを小さくすると、計算時間は長くなりますが、計算の精度は向上します。これらの設定によって、ビューポート内のパーティクル アニメーションとレンダリング時のパーティクル アニメーションに、異なるインテグレーション ステップを適用できます。

ほとんどの場合、既定値のインテグレーション ステップ設定で問題なく動作します。インテグレーション ステップの頻度を上げる一例としては、ディフレクタと衝突する高速移動のパーティクルが通る場合です。

ビューポート
ビューポート内でアニメーションを再生するためのインテグレーション ステップを設定します。既定値では、[フレーム](frame)(アニメーション フレームごとに 1 回)です。範囲は、[1/8 フレーム](1/8 Frame) ~ [フレーム](Frame)です。
レンダリング
レンダリング時のインテグレーション ステップを設定します。既定値では、[1/2 フレーム](Half Frame)(アニメーション フレームごとに 2 回)です。範囲は[1 ティック](1 Tick) ~ [フレーム](Frame)です。

1 秒間には 4,800 ティックが存在するので、1 秒ごとに 30 フレームの NTSC ビデオ レートでは、フレームごとに 160 ティックが存在することになります。

[スクリプト](Script)ロールアウト

このロールアウトでは、インテグレーション ステップごとにパーティクル システムにスクリプトを適用することも、表示される各フレームの最終インテグレーション ステップの後でスクリプトを適用することもできます。[更新したステップ毎](Every Step Update)スクリプトを使用して履歴に依存したプロパティを設定し、[最終ステップ更新](Final Step Update)スクリプトを使用して履歴に依存しないプロパティを設定します。

[更新したステップ毎](Every Step Update)領域

[更新したステップ毎](Every Step Update)スクリプトは、各インテグレーション ステップの最後(パーティクル システム内のすべてのアクションが評価された後、すべてのパーティクルが最終的にそれぞれのイベント内に存在するとき)で評価されます。たとえば、パーティクルのインデックスに従って[マテリアル ID](Material ID)を設定している場合、パーティクルが他のイベントにジャンプしないようにすることが重要です。

履歴に依存するプロパティ(速度など)を設定する場合、その設定は各インテグレーション ステップで行うことが重要です。このようにしないと、最終的な位置が全然違うものになります。

スクリプトを有効
このチェック ボックスにチェックマークが付いている場合、メモリ内のスクリプトが各インテグレーション ステップで実行されます。[編集](Edit)ボタンをクリックしてこのスクリプトを修正するか、この領域内の他のコントロールとともにスクリプト ファイルをロードして使用することができます。

既定のスクリプトでは、パーティクルの速度と方向が修正され、パーティクルは波状のパスを描くようになります。

編集
このボタンをクリックすると、テキスト エディタ ウィンドウが開き現在のスクリプトが表示されます。

[スクリプト ファイルを使用](Use Script File)にチェックマークが付いていない場合、ここには既定の[更新したステップ毎](Every Step Update)スクリプト(3dsmax¥scripts¥particleflow¥example-everystepupdate.ms)が表示されます。[スクリプト ファイルを使用](Use Script File)がオンの場合、スクリプトをロードしていれば、ここにはロードしたスクリプトが表示されます。スクリプトをロードしていない場合、[編集](Edit)をクリックすると[開く](Open)ダイアログ ボックスが表示されます。

スクリプト ファイルを使用
このチェック ボックスにチェックマークが付いている場合、下のボタンをクリックするとスクリプトをロードできます。
(ボタン名)
このボタンをクリックすると、[開く](Open)ダイアログ ボックスが表示され、ハード ディスクからロードするスクリプト ファイルを指定できます。スクリプトのロードが終了すると、そのスクリプト ファイルの名前がボタン上に表示されます。
[最終ステップ更新](Final Step Update)領域

表示(またはレンダリング)する各フレームの最終インテグレーション ステップの終了後に、[最終ステップ更新](Final Step Update)スクリプトが実行されます。たとえば、[リアルタイム](Real Time)をオフにしてビューポート内でアニメーションを再生した場合、このスクリプトは、パーティクル システムがビューポートにレンダリングされる直前に、各フレームで実行されます。ただし、他のフレームにジャンプするだけの場合は、スクリプトは 1 回しか実行されません。したがって、スクリプトが特定の履歴を持つことを前提としている場合は、予期しない結果が生じます。

このため、[最終ステップ更新](Final Step Update)スクリプトは履歴に依存しないプロパティの修正に適しています。たとえば、システム内のオペレータがどれもマテリアル インデックスに依存していない場合は、このスクリプトを使用してマテリアル インデックスを修正できます。この場合、これらのインデックスを中間の各インテグレーション ステップで設定する必要はありません。また、位置に対する分析的な表現が分っている場合は、[最終ステップ更新](Final Step Update)スクリプト内で位置チャネルを設定することもできます。

スクリプトを有効
このチェック ボックスにチェックマークが付いている場合、メモリ内のスクリプトが最終インテグレーション ステップの後で実行されます。[編集](Edit)ボタンをクリックしてこのスクリプトを修正するか、この領域内の他のコントロールとともにスクリプト ファイルをロードして使用することができます。

既定のスクリプトでは、パーティクルの速度と方向が修正され、パーティクルは球状のパスを描くようになります。

編集
このボタンをクリックすると、テキスト エディタ ウィンドウが開き現在のスクリプトが表示されます。

[スクリプト ファイルを使用](Use Script File)がオフの場合、ここには既定の[最終ステップ更新](Final Step Update)スクリプト(3dsmax¥scripts¥particleflow¥example-finalstepupdate.ms)が表示されます。[スクリプト ファイルを使用](Use Script File)がオンの場合、スクリプトをロードしていれば、ここにはロードしたスクリプトが表示されます。スクリプトをロードしていない場合、[編集](Edit)をクリックすると[開く](Open)ダイアログ ボックスが表示されます。

スクリプト ファイルを使用
このチェック ボックスにチェックマークが付いている場合、下のボタンをクリックするとスクリプトをロードできます。
(ボタン名)
このボタンをクリックすると、[開く](Open)ダイアログ ボックスが表示され、ハード ディスクからロードするスクリプト ファイルを指定できます。スクリプトのロードが終了すると、そのスクリプト ファイルの名前がボタン上に表示されます。