STOKE MXとKrakatoa PRT Maker
概要
このチュートリアルは、別の方法で静的なパーティクルオブジェクトを動的なシステムに変えるためのStoke MXの使用方法を説明します。
このチュートリアルは、Krakatoa MX 2.1.8以上(評価版または商用版いずれか)をシステムにインストールしている必要があります。
基本的なシーン
まず、テストシーンを何もない状態から作成します。
- Krakatoaメニューから、Open PRT Maker Designer UIを選択します。
- Create PRT Makerボタンを押します。
- PRT Makerを選択し、スケールを10倍(1,000%)に上げます。
- PRT Makerベースオブジェクトで、Countを10,000に設定し、View Countチェックボックスのチェックをはずします。結果として、ビューポートとレンダラーに10,000パーティクルを使用します。
- (PRT Makerのデフォルト座標でもある)ワールド座標に風のスペースワープを作成します。
- 風を球状に設定します。
- フォースの強度を0.1に、風のタービュランスを1.0に、周期を0.01に、スケールを0.05に設定します。
基本的なStokeシミュレーションを作成する
PRT Makerから発生し、風のスペースワープによって動くStoke MXオブジェクトを作成してみましょう。
- PRT Makerと風のスペースワープを選択して、Stokeアイコンをクリックし、そしてStokeオブジェクトを作成するためにビューポート上をクリックします。PRT Makerは、DistributionオブジェクトとVelocity Sourceに追加され、風はVelocity Sourceにのみ追加されます。
- Velocity SourceリストのPRT Makerを選択してRemoveを押します。PRT Makerは、速度を全く持っておらず、Velocity Sourceは不要です。
- Large Dotsの代わりにラインで見せるためにDisplayをVelocityに切り替えます。
- SIMULATEボタンをクリックします。
結果:100個のパーティクルが、PRT Makerで利用できる10,000個からランダムシードパーティクルを使用して各フレームで発生します。
IDチャンネルで複製する
これは私たちが、求めているものではありません。私たちは、PRT Makerの10,000個のパーティクルごとにひとつのパーティクルを作成したいのです。
- Distribution sourcesリストでPRT Makerを選択します。
- Use Seed Count As Rateオプションをチェックします。これはソースシステムを数えてソースパーティクルそれぞれにひとつのStokeパーティクルを作成します。
- SIMULATEボタンを押します。シミュレーション時間は、かなり長く掛かります。
結果:ここで得る結果もまた、私たちが望むものではありません。ここでは最後のフレームを合計百万個のパーティクルにするために1フレームにつき10,000個のパーティクルを生成していますが、実際は最初のフレームだけで作成されることを望んでいます。この結果は、PRT Makerにはパーティクルの発生を追跡する有効なIDチャンネルがないためです。
Krakatoa Magmaを使用してIDチャンネルを生成する
私たちは、IDチャンネルを持たないあるオブジェクトのためにIDチャンネルを作成しなければいけません。IDチャンネルを持たないオブジェクトには、PRT Maker、PRT Volume、PRT Surface、PRT FumeFXなどが含まれます。PRT Loaderは、もしIDチャンネルがPRTファイルに保存するときに含まれていて、セーブしたソースにもIDチャンネルがあった場合、IDチャンネルを保持することができます。パーティクルフロー、Thinking Particles、Naiad、RealFlowはすべて有効なIDチャンネルを使用してPRTを生成できますが、例えばMaxレガシーパーティクルはこれを持っていません。
- PRT Makerを選択してスタックの一番上に新しいMagma modifierを追加します。(PRT MakerのColorチャンネルを設定している既存のものを使用することもできますが、ここでは2つを分けておいたほうが良いでしょう。)
- Magma Editorを開きます。
- ActiveTypeツールを開くためにCtrl+スペースバーを押し、outidをタイプします。
- (この方法で作成したOUT: IDの出力形式がint32でない場合は、OutputロールアウトのData Typeでint32に変更しておきます。)
- Output: IDチャンネルの作成を確認するためにEnterを押します。
- 再度Ctrl+スペースバーを押してindexを入力します。
- >AUTOオプションをチェックしてエディタを閉じます。
- Stoke MXオブジェクトを選択して、再度SIMULATEを押します。
結果:今度は、1フレーム目に10,000個パーティクルのみ生成し、時間とともに風によってアニメーションします。なぜならすべてのシードパーティクルのIDが使用済みとみなされ、それ以上のパーティクルを生成しないからです。
すべてのチャンネルを取得する
完全にもとのPRT Makerを複製するために、Distributionソースで検出したすべてのチャンネルを取得することができます。
- Stoke MXオブジェクトを選択し、ColorScalar、RandomValue、Color、Emissionチャンネルにチェックします。
- PRT Makerの見た目とあわせるために、再度DisplayをLarge Dotsに切り替えます。
- PRT Makerソースを隠します。
- 再度SIMULATEを押します。
結果:StokeパーティクルのColorチャンネルは作成時にDistributionパーティクルから取得した色を表示します。
取得したチャンネルにアクセスする
放出前にPRT Makerの正確なルックをあわせるためにColorチャンネルをコピーしただけではなく、Magma modifierを使用しているパーティクルに影響を与えるために必要な他のすべてのチャンネルも取得しました。
たとえば、PRT Makerによって作成したColorScalarチャンネルに基づいた新たな色分布を生成することができ、Stokeパーティクルが再度シミュレーションを必要とすることなく正確に同じ色を適用するでしょう。
- PRT Makerを表示して、選択します。
- PRT MakerからColorの生成を担う上から二番目のMagma modifierをコピーして、Stoke オブジェクトのスタックに「インスタンスとして貼り付け」します。
- Magma Editorを開き、赤と青の色を、シアンと黄色に(たとえばそれらの補色とそれらを入れ換えることで)変更します。
結果:シミュレーションを行うことなく、PRT MakerとStokeパーティクルの両方が同じ色を生成します。
新しい色は完全に動的です。どちらか一方のオブジェクトでインスタンス化したMagma modifierを無効にするとPRT Makerの色の生成がオフになり、Stokeパーティクルで実行したシミュレーションからベイクした赤と青の色が現れます。
結論
Stoke MXは、有効なIDチャンネルと一緒にパーティクルシステムを複製して、パーティクル発生時にすべてのチャンネルを取得することができます。これは、アニメーション非対応のパーティクルクラウドでなく動的なシステムに変えることができます。





