Thinkbox Software 製品
ブログ

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ベースオブジェクトで、Count10,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個からランダムシードパーティクルを使用して各フレームで発生します。

Tut05_001_stokemx_prtm_basesim

 

IDチャンネルで複製する

これは私たちが、求めているものではありません。私たちは、PRT Makerの10,000個のパーティクルごとにひとつのパーティクルを作成したいのです。

  • Distribution sourcesリストでPRT Makerを選択します。
  • Use Seed Count As Rateオプションをチェックします。これはソースシステムを数えてソースパーティクルそれぞれにひとつのStokeパーティクルを作成します。
  • SIMULATEボタンを押します。シミュレーション時間は、かなり長く掛かります。

結果:ここで得る結果もまた、私たちが望むものではありません。ここでは最後のフレームを合計百万個のパーティクルにするために1フレームにつき10,000個のパーティクルを生成していますが、実際は最初のフレームだけで作成されることを望んでいます。この結果は、PRT Makerにはパーティクルの発生を追跡する有効なIDチャンネルがないためです。

Tut05_002_stokemx_prtm_matchseed_noid

 

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を入力します。

Tut05_003_stokemx_prtm_index_id_magmaflow

  • >AUTOオプションをチェックしてエディタを閉じます。
  • Stoke MXオブジェクトを選択して、再度SIMULATEを押します。

結果:今度は、1フレーム目に10,000個パーティクルのみ生成し、時間とともに風によってアニメーションします。なぜならすべてのシードパーティクルのIDが使用済みとみなされ、それ以上のパーティクルを生成しないからです。

 

 

Tut05_004_stokemx_prtm_matchseed_id

 

すべてのチャンネルを取得する

完全にもとのPRT Makerを複製するために、Distributionソースで検出したすべてのチャンネルを取得することができます。

  • Stoke MXオブジェクトを選択し、ColorScalarRandomValueColorEmissionチャンネルにチェックします。
  • PRT Makerの見た目とあわせるために、再度DisplayをLarge Dotsに切り替えます。
  • PRT Makerソースを隠します。
  • 再度SIMULATEを押します。

結果:StokeパーティクルのColorチャンネルは作成時にDistributionパーティクルから取得した色を表示します。

Tut05_005_stokemx_prtm_matchseed_allchannels

 

取得したチャンネルにアクセスする

放出前にPRT Makerの正確なルックをあわせるためにColorチャンネルをコピーしただけではなく、Magma modifierを使用しているパーティクルに影響を与えるために必要な他のすべてのチャンネルも取得しました。

たとえば、PRT Makerによって作成したColorScalarチャンネルに基づいた新たな色分布を生成することができ、Stokeパーティクルが再度シミュレーションを必要とすることなく正確に同じ色を適用するでしょう。

  • PRT Makerを表示して、選択します。
  • PRT MakerからColorの生成を担う上から二番目のMagma modifierをコピーして、Stoke オブジェクトのスタックに「インスタンスとして貼り付け」します。
  • Magma Editorを開き、赤と青の色を、シアンと黄色に(たとえばそれらの補色とそれらを入れ換えることで)変更します。

結果:シミュレーションを行うことなく、PRT MakerとStokeパーティクルの両方が同じ色を生成します。

Tut05_006stokemx_prtm_matchseed_dynamiccolors

新しい色は完全に動的です。どちらか一方のオブジェクトでインスタンス化したMagma modifierを無効にするとPRT Makerの色の生成がオフになり、Stokeパーティクルで実行したシミュレーションからベイクした赤と青の色が現れます。

 

結論

Stoke MXは、有効なIDチャンネルと一緒にパーティクルシステムを複製して、パーティクル発生時にすべてのチャンネルを取得することができます。これは、アニメーション非対応のパーティクルクラウドでなく動的なシステムに変えることができます。