パーティクルのサブセットを使用して、煙ではなく、ジープの残り火(燃えている残骸)をシミュレートします。
シーンを設定する:
- 前のレッスンの結果を続けて使用するか、
pflow_04.max を開きます。
残り火として動作するパーティクルを準備しておく:
- パーティクル ビューを表示します(6)。
- Split Amount テストをコンテナからドラッグし、Event 01 の Spawn テストのすぐ上(Material Dynamic オペレータの下)にドロップします。
- Split Amount テストをクリックしてハイライト表示します。
- Split Amount のロールアウトで、[次イベントへの条件]
[パーティクルの割合]が選択されていることを確認し、[次イベントへの条件]
[パーティクルの割合]
[比率 %]を 15.0 に変更します。
これによって、オリジナルの 250 個のパーティクルの 15 パーセントを「取り出し」ます(Split Amount テストは Spawn テストの前にあるため)。その取り出されたパーティクルが残り火になります。
- Material Dynamic オペレータをドラッグし、Spawn テストの下にドロップします。
Material Dynamic オペレータを移動すると、残り火のパーティクルに、煙のパーティクルとは異なるマテリアルを割り当てることができます。
新規の Particle Paint ヘルパーを追加する:
- Event 01 で、Display オペレータのアイコンをクリックして、Display オペレータをオフにします。
これにより、ビューポートでパーティクルの表示が無効になります(ただしレンダリングでは無効になりません)。これは、新しいパーティクル シードをペイントしやすくするための一時的な手段です。
- パーティクル ビューを非表示にします(6)。
- トップ ビューポートをアクティブにして、ジープを
拡大します。
-
フレーム 0 に移動します。
-
[作成]パネルで
([ヘルパー])をオンにします。ドロップダウン リストから[パーティクル フロー]を選択し、[オブジェクト タイプ]ロールアウトで[Particle Paint]をオンにします。
- トップ ビューポートで、ジープの近くをドラッグして 2 つ目の Particle Paint ヘルパーを作成します。
- [セットアップ]ロールアウトで[ブラシ半径]の値を 0.4 に変更します。
これで、残り火のパーティクル シードをペイントする準備ができました。
残り火を表示する場所とタイミングをペイントする:
煙では、すべてのシード パーティクルをフレーム 0 でペイントしました。残り火では、特定のフレームで追加し、時間とスペースを分散させます。
- Particle Paint 002 を選択したまま、
[修正]パネルに切り替えます。
- トップ ビューポートで、ジープのジオメトリが見えるように、
さらに拡大します。
-
[修正]パネル
[セットアップ]ロールアウトで、[フリーハンド ペイント]をオンにします。
- フレーム 0 で、ジープの車体に短いストロークを 2 つペイントします。
- タイム スライダを 80 にドラッグし、さらにストロークを 2 つペイントします。
- さらに次のフレームで、短いストロークを 2 つ追加します。
- フレーム 160
- フレーム 240
- フレーム 280
追加が完了すると、ジープはパーティクル シードにかなり覆われた状態になります。
- [フリーハンド ペイント]を右クリックしてオフにします。
パーティクル システムに残り火を追加する:
- パーティクル ビューを表示します(6)。
- Placement Paint オペレータをコンテナからイベント表示のグレーの領域にドラッグします。
イベント表示の何もない部分にイベント(オペレータ、テストなど)をドロップすると、パーティクル フローは新しいイベントを作成します。最初は、新しいイベントにはドロップしたオペレータと Display オペレータが含まれています。
ヒント:イベント表示内のイベントおよびルートの PF Source エントリを再配置するには、エントリのタイトル バーをドラッグします。
- Event 02 で、Placement Paint オペレータをクリックしてハイライト表示します。
- Particle Paint 002 ヘルパー アイコンが表示されているビューポートが見えるように、パーティクル ビューを移動します。
- Placement Paint のロールアウトで、[パーティクル ペイント ヘルパー]ボタンをクリックします(最初は「None」と表示されています)。
- ビューポートで Particle Paint 002 ヘルパー アイコンをクリックします。
Event 002 は、残り火のパーティクルを生成するソースとして Particle Paint 002 を使用します。
- Placement Paint のロールアウト
[ペイント データを取得]領域で、[ペイント位置を変換]
[位置]を選択します。
- [インデックス順序]領域で[カウント超過時に終了]をオンにします。
- イベント表示のテストのアクションから飛び出している青い丸のソケットは、テスト出力です。テスト出力の上にカーソルを移動すると、カーソルが変化してテストがワイヤリングできることを示します。
Split Amount テスト出力のワイヤを Event 002 の入力ソケットにドラッグして、Split Amount テストを Event 02 に接続します。
パーティクル フローは、新しいイベントにテストをワイヤリングします。
これで Event 002 は、Split Amount から送られるパーティクルを使用できるようになりました。
- パーティクル ビューを非表示にします(6)。
- タイム スライダをドラッグします。
残り火の一部は上と外に飛び、残りはジープの近くに浮かんでいます。
ヒント:ビューポートで残り火のパーティクルが見えにくい場合は、Display ロールアウトのカラー見本か、
Event 02 の Display オペレータ エントリのカラーのドットをクリックします。
カラー見本とドットのどちらをクリックしても、表示カラーを変更できる[カラー セレクタ]が表示されます。
残り火のパーティクルの動作を調整する:
- Speed オペレータをコンテナからドラッグし、Event 02 にドロップします。
- 新しい Speed オペレータをクリックしてハイライト表示します。
- Speed のロールアウトで、[速度]の値を 20.0 に、[変動]の値を 10.0 に変更します。
パーティクルは、よりゆっくりと移動するようになり、煙のパーティクルが最初そうだったように、すべてのパーティクルが垂直に上へ移動します。
パーティクルが地面に戻るように、スペース ワープを追加します。しかしその前に、ビューポートとレンダリングでパーティクルがどのように表示されるかを調整します。
- Shape オペレータをコンテナからドラッグし、Event 002 にドロップします。
- 新しい Shape オペレータをクリックしてハイライト表示します。
- Shape のロールアウトで、[3D]が選択された状態のままにして、[3D]ドロップダウン リストから[球 (20 面)]を選択します。
- [サイズ]の値を 1.5 に変更します。
- [スケール %] をクリックしてオンにします。値は既定値の 100.0 のままにします。
- Event 002 で Display オペレータをクリックしてハイライト表示します。
- Display のロールアウトで、[タイプ]ドロップダウン リストから[ジオメトリ]を選択します。
残り火のパーティクルのジオメトリがビューポートで見えるようになりました。
[風]スペース ワープを追加して残り火を動かす:
- パーティクル ビューを非表示にします(6)。
-
[作成]パネルで
([スペース ワープ])をクリックしてオンにします。
- [オブジェクト タイプ]ロールアウトで、[風]をオンにします。
- トップ ビューポートで、ドラッグしてジープを中心とする[風]スペース ワープを作成します。
この新しいスペース ワープが多少見やすいのは、パースペクティブ ビューポートです。
- この新しい[風]スペース ワープに Explosion と名前を付けます。
- [パラメータ]ロールアウト
[フォース]領域で、風の方向を[球状]に変更します。
- また、[フォース]領域で[強度]の値を 0.02 に変更します。
- [パラメータ]ロールアウト
[表示]領域で、[アイコン サイズ]の値を 0.6 に変更します。
Explosionスペース ワープは、円の軌道で残り火を動かします。
残り火が地面に戻るように[重力]スペース ワープを追加する:
- [作成]パネル
[オブジェクト タイプ]ロールアウトで、[重力]をオンにします。
- パースペクティブ ビューポートで、ジープの近くをドラッグして[重力]スペース ワープを作成します。
- [パラメータ]ロールアウト
[表示]領域で、[アイコン サイズ]の値を 1.2 に変更します。
- [パラメータ]ロールアウト
[フォース]領域で、[強度]の値を 0.04 に変更します。
重力の力の方が風の力よりもわずかに大きくなります。
これで、スペース ワープを使用して残り火のパーティクルを制御できるようになりました。
パーティクル システムにスペース ワープを組み込む:
- パーティクル ビューを表示します(6)。
- Force オペレータをコンテナからドラッグして Event 02 に追加します。
- 新しい Force オペレータをクリックしてハイライト表示します。
- Force のロールアウトで[リスト別]をクリックします。
- [フォース スペース ワープを選択]ダイアログ ボックスで、Explosion スペースワープと Gravity001 スペースワープを Ctrl+クリックして選択し、[選択]をクリックします。
これで球状の風と重力が残り火のパーティクルを制御するようになります。
- パーティクル ビューを非表示にします(6)。
- タイム スライダをドラッグするか、アニメーションを
再生します。
残り火がジープから飛び、地面に落ちます。この様子が一番見やすいのは、パースペクティブ ビューポートです。少し大きいように見えますが、煙のパーティクルなので、適用するマテリアルが外見の修正に役立ちます。マテリアルの作成は、次の手順の課題です。
注:固形のパーティクル(ジープの破片など)をモデリングする場合は、パーティクルが地面(Plane01)に落ちるときを検出する Collision テストを追加します。このチュートリアルでは、必要ありません。
光を放つ残り火のマテリアルを作成する:
- メイン ツールバーで、
([マテリアル エディタ])をクリックして、スレート マテリアル エディタを表示します。
- アクティブ ビューの上の何もない部分をクリックし、ポップアップ メニューから[新規ビューを作成]を選択します。
- [新規ビューを作成]ダイアログ ボックスで、新しいビューに Embers と名前を付けます。
- [マテリアル]
[標準]グループから[標準]マテリアル エントリを Embers ビューにドラッグし、新しい標準ノードをダブルクリックしてパラメータを表示します。
- このマテリアルに Embers と名前を付けます。
- [拡散反射光]のカラー見本をクリックして、[カラー セレクタ]でカラーを RGB = 255、156、0 に変更します。[OK]をクリックして[カラー セレクタ]を閉じます。
- [周囲光]コンポーネントを[拡散反射光]カラーにロックしている
ボタンをクリックしてオフにします。
- [周囲光]のカラー見本をクリックして、[カラー セレクタ]でカラーを RGB = 186、0、0 に変更します。[OK]をクリックして[カラー セレクタ]を閉じます。
- [自己照明]領域で自己照明の値を 50 (パーセント)に変更します。
自己照明の値を増やすと、マテリアルが輝いて見えます。
- [鏡面反射ハイライト]領域で、[鏡面反射光レベル]の値を 171 に、[光沢]の値を 34 に変更します。
ハイライトはマテリアルを明るく見せます。
- [フォールオフ]マップをブラウザから Embers ビューにドラッグし、Embers マテリアルの[不透明度]コンポーネントにワイヤリングします。
既定値では、フォールオフ マップはエッジを不透明に、中心を透明にします。これは求めている効果とは逆です。
- フォールオフ ノードをダブルクリックしてパラメータを表示します。
- [フォールオフ パラメータ]ロールアウトで
([カラー/マップをスワップ])をクリックします。
これで中心が不透明に、エッジが透明になりました。
ヒント:フォールオフ マップは、パーティクルが 3 次元の場合に、パーティクルのエッジを透明にする良い代替案です。
- 標準マテリアル ノードの出力ソケットを[マテリアル/マップ ブラウザ]
[サンプル スロット]グループの未使用のサンプル スロットにドラッグします。[インスタンス]を選択し、[OK]をクリックします。
-
スレート マテリアル エディタを閉じます。
パーティクル システムに残り火のマテリアルを追加する:
- パーティクル ビューを表示します(6)。
- Material Static オペレータをコンテナからドラッグして Event 02 に追加します。
マテリアルは時間の経過とともに変化しないので、残り火のイベントに Material Static オペレータを使用できます。
- 新しい Material Static オペレータをクリックしてハイライト表示します。
- Material Static のロールアウトで、[マテリアルの割り当て]ボタンをクリックします(最初は「None」と表示されています)。
- [マテリアル/マップ ブラウザ]
[サンプル スロット]グループで、Embers マテリアルをダブルクリックします。
パースペクティブ ビューポートをレンダリングすると、残り火の効果を一番はっきり見ることができます(この図では、煙のパーティクルのレンダリングをオフにしています)。
クローズ アップすると、残り火はあまりリアルに見えません。しかし、Camera01 ビューポートをレンダリングすると申し分なく見えます。さらに残り火にモーションブラーを追加すると、効果をさらに見栄えよくできます。これは、次の手順の課題です。
残り火にモーション ブラーを追加する:
- パーティクル ビューで、Event 02 のタイトル バーをクリックしてイベント全体を選択します。
- 右クリックし、ポップアップ メニューから[プロパティ]を選択します。
Event 02 の[オブジェクト プロパティ]ダイアログ ボックスが開きます。
- [一般]パネル
[モーション ブラー]領域で、[有効]がオンになっていることを確認し、イメージをクリックして選択します。
- [モーション ブラー]領域で[強度]の値を 10.0 に変更します。
- [OK]をクリックし、[オブジェクト プロパティ]ダイアログ ボックスを閉じます。
- パースペクティブ ビューポートをアクティブにし、残り火が表示されるフレームまでタイム スライダをドラッグして、
シーンをレンダリングします。
フレームがレンダリングされ、2 番目のパスで残り火のパーティクルにモーション ブラーが追加されます(この図でも、煙のパーティクルのレンダリングをオフにしています)。
Camera01 ビューポートでは、離れているので残り火の効果はよく確認できません。モーション ブラー効果は、アニメーションを再生すると一番よくわかります。
(オプション)アニメーションをレンダリングする:
- メイン ツールバーで、
([レンダリング設定])をクリックします。
[レンダリング設定]ダイアログ ボックスが開きます。
- [時間出力]領域の[アクティブ タイム セグメント]を選択します。
ヒント:フル解像度の 1024 x 554 でレンダリングすると長い時間がかかります。レンダリングする前に、ムービーのフレーム サイズを 500 x 271 などに下げた方がよいでしょう。小さなフレームの方が速くレンダリングされます。
- 下にスクロールして、[レンダリング出力]領域の[ファイル]をクリックします。
ファイル ダイアログ ボックスが開きます。ファイルの名前を入力し、ムービーのファイル タイプ(AVI または MOV)を選択し、[保存]をクリックします。選択したムービー形式用の圧縮設定のダイアログ ボックスが開きます。設定を調整するか、既定値のままにして、[OK]をクリックします。
- [レンダリング出力]領域で、[ファイルを保存]がオンになっていることを確認します(既定値では、出力ファイルを指定するとオンになります)。
- [レンダリング設定]ダイアログ ボックスの下部の[ビュー]ドロップダウン リストで Camera01 が選択されていることを確認し、[レンダリング]をクリックします。
作業を保存する:
まとめ
このチュートリアルでは、以下のようなパーティクル システムのいくつかの側面を説明しました。
- パーティクル フローは、煙、爆発、その他の動的な現象(雨、雪、流れる水など)をモデリングするために使用できる、強力で用途の広いパーティクル システムです。
- パーティクル フローを[風]や[重力]などのスペース ワープと組み合わせて使用して、リアルな動作をモデリングできます。
- パーティクル フローの Shape Facing オペレータは、外観をマテリアルで制御するパーティクルの作成に適しています。マテリアルをデザインすることで(たとえばノイズ マップなどを使用)、より複雑なジオメトリをシミュレートできます。
- 時間の経過とともに変化するパーティクルもあります。パーティクル エージ マップを使用すると、そのような変化するマテリアルを作成できます。
- フラットなパーティクルでは、不透明度に放射状のグラデーション マップを使用することで、パーティクルのエッジを隠せます。3 次元のパーティクルでは、フォールオフ マップを使用すると同じことができます。
- Particle Paint ヘルパーを Placement Paint オペレータと組み合わせると、フリーハンドのストロークでパーティクルの位置を設定できます。また、同じパーティクル フローシステムをシーン内の複数の場所に適用できます。
- Particle Paint を使用すると、アニメーションの別のフレームでパーティクルの生成を設定することもできます。
- Split Amount テストは、パーティクルのセットを、オリジナルのセットとは異った方法で扱いたいときに使用する手段の 1 つです。
- 速く移動するパーティクルにイメージ モーション ブラーを適用すると、アニメーションの見栄えをよくすることができます。