クラカトアPFオペレータを使用してパーティクルファイルシーケンスをブレンドする
Blending Particle File Sequences Using Krakatoa Particle Flow Operators
イントロダクション
Krakatoa File BirthとFile Update Operatorsは、単一のPRT、BIN、 CSVなどのファイルシーケンスをPFにリロードするだけでなく、1つまたは複数のパーティクルシーケンスの複数のチャンネルをブレンドすることにより、完全に新しいパーティクルシステムを作ることができます。
このチュートリアルではこれらのブレンドの基本的な特徴を紹介します。
パーティクルシーケンスのソースを作成する
テストのための簡単なシーンを作りましょう。
●ティーポットを作成します。
●PFSourceを作成します。
●パーティクルビューを開きます。
●ビューポートのマルチプライヤ量を100%にします。
●システムマネージメントのビューポートインテグレーションステップを1/2フレームにします。
●Birthオペレータで0~50フレームで20000パーティクルに設定してください。
●PositionオペレータをPosition Objectで置き換え、ティーポットをピックしてください。
●SpeedをSpeed By Surfaceで置き換え、速度と変動を30にしてください。
●RotationとShapeオペレータを削除してください。
●Forceオペレータを追加してください。
●重力スペースワープをシーンに追加し、強度を0.26にしてForceオペレータでピックしてください。
●CacheオペレータをPF Sourceのグローバルイベントに追加してください。
この時点では重力の影響下で、ティーポットからパーティクルが流れ落ちることになります。
パーティクルシーケンスを保存する
それではパーティクルをPRTファイルシーケンスに保存しましょう。
●クラカトアを現在のレンダラに設定し、GUIを開いてください。
もしアイコンを使用して最後にの設定をロードするか促されたら、Noにしてデフォルト設定をロードしてください。
●パーティクルレンダーモードをSave Particles To File Sequenceに切り替えてください。
●Save Particlesロールアウトを開き、シーケンスの出力パスを指定してください。たとえば、“c:tempKrakatoaPFoperators_BlendingGravitygravity_.prt“となります。
●Channelsロールアウトをすべてデフォルト設定のままにしておいてください。
最も重要なチャンネルはPosition、Velocityと IDです。
●SAVE PARTICLESボタンを右クリックし、Active Segment [0-100]を選択してください。
●SAVE PARTICLESを押してパーティクルシーケンスをディスクに保存してください。
2つ目のパーティクルシーケンスを作成する
もう1つのファイルシーケンスを保存しましょう。ただ、今回は重力の代わりにタービュランスが有効の風を使用します。
●風ワープスペースを作成し、タービュランス0.1、周期とスケールを0.01にしてください。
●Forceオペレータから重力をリムーブしてください。
●Forceオペレータに風を追加してください。
この時点では、エミッタからほうしゅつされたパーティクルはタービュランスの影響を受けてすべての方向に飛びます。
●”Saving the Particle Sequence“のステップを繰り返してください。シーケンス名とパーティクルファイル名は”Gravity“の代わりに”Turbulence“と付けてください。
重力シーケンスをロードする
では重力ファイルシーケンスを新しいPFにロードしましょう。
●1つめのPFをシーケンスを生成するために無効にしてください。
●新しいスタンダードフローを作成してください。
●BirthオペレータをKrakatoa File Birthオペレータで置き換えてください。
●前にBirthオペレータで保存した“gravity_.prt“ファイルシーケンスをロードしてください。
●Position IconオペレータをKrakatoa File Updateオペレータで置き換えてください。
この時点では、シーケンスはシーケンスはオリジナルの重力が働いたフローにほとんど同じ見栄えであるべきです。主な違いとしてはパーティクルがレンダーモードで保存されたことです。ゆえに、数は100%でインテグレーションは1/2フレームステップのパフォーマンスになります。
●Krakatoa File Updateオペレータを選択し、Channel Setupボタンを押してください。
●デフォルトでは、PositionとIDチャンネルのみがチェックされています。これはパーティクルの位置情報は絶対値としてロードされるが速度を持っていないことを意味します。これはシステムをリジッド、つまり他のフォースやスピードに関係するオペレータを追加しても各フレームの位置がパーティクルファイルシーケンスによって決定されるため、まったく効果がない状態にします。
速度を動きにブレンドするには、Positionチャンネルのチェックを外し、Velocityチャンネルを有効にします。パーティクルシステムの見栄えが変化しないことに気づくでしょう。絶対位置をロードする代わりにそれらの位置に導いてくれる相対的な速こをロードしたのです。Krakatoa File Birthオペレータによって、パーティクル生成フレームのみに位置情報がロードされます。
●速度チャンネルのブレンドモードがBlend、 Amountが100.0に設定されていることに気づくでしょう。これはで100%のチャンネル値をロードしVelocityチャンネルの既存のデータと0%ミックスさせる、つまりVelocityチャンネルデータを置き換えるということを意味しています。
●Amountスピナーに10.0と入力してみましょう。これは10%のVelocityチャンネルが90%の既存のチャンネル値とミックスされるということです。1つ前のフレームの速度が似通っているため、最終結果にそんなにおおきく違いが現れません。しかしそのちょっとした違いは見ることができます。
●Blend Modeを“Add“に切り替え、Amountを 1.0にしてください。これで1%の速度チャンネルがPFの速度チャンネルが減らされることなく追加され、速度は時間を超えて積み重なります。
●Amountを100.0にしてください。これで100%の速度チャンネルがPFの速度チャンネルが減らされることなく追加されます。結果として速度は時間を超えて多く積み重なります。
2つのパーティクルシーケンスから速度をブレンドする
これで単一のシーケンスがそれ自身と速度をブレンドできることがわかりました。それでは、いくらかのタービュランスと重力をミックスしてみましょう。
●VelocityチャンネルのブレンドモードをBlendに切り替え、Amountスピナーを100.0にセットしてください。
●新しいKrakatoa File Updateオペレータを1つめの後ろに追加し、ファイルシーケンス”turbulence_.prt“をピックしてください。
●Channel Setupボタンを押し、Positionチャンネルを無効にしVelocityチャンネルを有効にしてください。
この時点では、2つのオペレータが100%のブレンドモードに設定されているため、2つ目のオペレータのVelocityチャンネル内のデータが優先され、重力の効果は完全に無くなります。
●Amountを50.0に変更しましょう。これで重力がはじめにロードされ、それから50%のロードされた重力が2つめのオペレータの50%のタービュランスとミックスされます。
●それではBlend ModeをAddに変更し、Amountを100.0にセットしてください。これによりはじめに重力シーケンスの速度が100%ロードされそれ以前のフレームの速度を上書きします。、それからタービュランスファイルシーケンスの速度がそれぞれのフレームに追加されます。結果として両方の速度が同時に使用されます。
●オペレータの順番を変えることは、ブレンドモードによって効果があるかないかが決まります。例えば、タービュランスを100% Blendでロードし、そのあと100% 重力を上に追加すると、結果は前の例と同じ結果となります。なぜならA+B = B+Aだからです。
●しかし、もし少ない量のフォースをミックスすれば、オペレータの順序は異なる結果をもたらします。たとえば、タービュランスを100% Blendで最初にロードし、50%の重力を追加すれば、タービュランスの動きをしつつわずかに下向きの動きが加わります。
フォースオペレータを伴うパーティクルシーケンスから速度をブレンドする
2つかそれ以上のファイルシーケンスをブレンドするのと同様に、パーティクルに通常のForceオペレータを追加することができます。それはブレンドモードがBlend 100%に設定されていないと仮定して各フレームでForce値を上書きします。
●重力シーケンスをロードしているKrakatoa File Updateオペレータを無効にします。
●タービュランスシーケンスをロードしているKrakatoa File UpdateオペレータのAmountを50.0のBlendモードに設定します。
●Forceオペレータをその下に追加し、影響を10000に増やします。(50%の速度結果がKrakatoa File Updateオペレータによって各フレームでリムーブされ、重力フォースはシーケンスの間十分な速度を蓄えるため、大きく高めることを要求するからです。)
●始めにForce、次にタービュランスシーケンスが来るように順序を入れ替えます。すると異なる結果になります。
●Bounceモードの場合、パーティクルの速度を構成するCollision Testオペレータにも、同じことを適用します。
●次の例ではタービュランスがブレンドモードで50.0の量でロードされ、重力は50.0の量で追加されます。
● Collisionオペレータは2つのKrakatoa File Updateオペレータの後に位置し、球状ディフレクタに貫通するのを防ぎます。