STOKE MXとレガシーパーティクル
概要
このチュートリアルでは、Stoke MX用のベロシティフィールドを生成するための3ds Max レガシーパーティクルシステムの使用について説明します。
基本的なシーン
まず、テストシーンを何もない状態から作成します。
- スプレー パーティクルシステムを作成し、エミッタのサイズを20.0×20.0に変更します。
- 上向きに放出させるため、スプレーエミッタのXを約180度回転します。
- エミッタサイズに合わせて幅と長さが20.0の平面を作成します。
基本的なStokeシミュレーションを作成する
単純にスプレーパーティクルの動きに従って、フレームごとに100パーティクルを平面から放出するStokeのシミュレーションを作成しましょう。
- 平面とスプレーオブジェクトを選択してStokeアイコンをクリックし、Stokeオブジェクトを作成するためにビューポートをクリックします。スプレーオブジェクトはDistributionとVelocity sourceの両方のリストに現れ、平面はDistribution sourcesにのみ現れます。
- Distribution sourcesリストのスプレーを選択し、Removeボタンを押します。
- もしあなたがStoke MacroScriptsでツールバーをカスタマイズしていない場合、コマンドパネルの作成タブ経由でStokeオブジェクトを作成し、Distributionに平面を、Velocity Sourcesにスプレーを選びます。
- スプレーの寿命とあわせるために、Particle Lifespanを30.0に、Lifespan Variationを0.0に設定します。
- デフォルトの設定でシミュレーションするためにSIMULATEボタンを押します。
結果:フレームごとに100個のパーティクルが放出され、スプレーパーティクルの一般的な動きに従って10,000パーティクルを生成します。
寿命によってパーティクルを消去する
寿命を30.0に設定しましたが、任意のパーティクルの削除リクエストをしていませんでした。
- もしKrakatoaをインストールしたシステムをお持ちであれば、Delete’Dead’Particlesチェックボックスの隣のアイコンをクリックします。Stokeオブジェクトのモディファイアスタックに二つの新しいモディファイアが追加されます。寿命やLifeSpanを選択するためのMagmaモディファイアと、選択したパーティクルを消すためのKrakatoa Deleteモディファイアです。これは再度シミュレーションすることなくプロシージャルにパーティクルを削除します。
- もしあなたが、Krakatoaをお持ちでなければ、Delete’Dead’Particlesチェックボックスをチェックして、シミュレーション中に削除するために再度SIMULATEを押します。
結果:パーティクルは30.0フレーム後にすぐに削除され、シミュレーションの上部に集まることはありません。
グリッドの設定を微調整する
私たちは、デフォルトのグリッド設定を使用してStokeパーティクルを動かしています。
ベロシティフィールドとしてパーティクルを使用するとき、指定された間隔(デフォルトは10です)のグリッドがそのパーティクルの周りに作成され、フィールドを生成するために速度はグリッド上で分割されます。グリッドの間隔(Spacing)は動きの伝達の精度に影響を与えます。高い値は複数のパーティクルの速度をまとめて平均化し、低い値は通常、より多くのディテールをキャプチャすると同時に滑らかな結果を生成しますが、もしソースパーティクルの速度の大きさよりもはるかに間隔が小さい場合、パーティクルを失うことがあります。
- Velocity Fieldロールアウトの、Velocity From Particlesグループのコントロールで、Grid Spacingの値を10.0から5.0に変更します。
- 動きを再計算するためにSIMULATEを押します。
結果:Stokeパーティクルは、ボクセルあたりより少ないパーティクルに影響するように凝集を始め、速度を提供するためのソースパーティクルが付近に存在しないため、いくつかのフレームといくつかのパーティクルが遅くなります。
流体運動を作成する
Stoke MXは、非圧縮性流体の運動に類似したベロシティフィールドを生成することができ、学術的には、ダイバージェンスフリーベロシティフィールドとして知られています。フィールド(Filed)に発散(Divergence)がない場合、空間内の各ポイントから流出する流体量は、流入する流体と等しくなります。
この機能を有効にするためには、Create Fluid Motionチェックボックスをチェックする必要があります。
- Velocity Fieldロールアウトの、Velocity From Particlesグループのコントロールで、Create Fluid Motionチェックボックスにチェックします。
- ラインを表示するためには、Viewport DisplayをLarge DotsからVelocityに変更します。
- 運動の再計算をするために、SIMULATEを押します。
結果:Stokeパーティクルの動きは炎のようになります。
グリッドの間隔を減らすと、さらに、より多くのディテールをキャプチャしますが、運動の後半に多くのパーティクルを失います。
- Grid Spacingを3.0にします。
- SIMULATEを押します。
結果:まだ炎のような動きになりますが、アニメーションが進むにつれて、たくさんのパーティクルが取り残されます。
同じソースに違うグリッドの間隔を混ぜる
場合によっては、その前のテストのより普通の動きで、上記の最終テストのいくつかのディテールを得たいと思うことがあります。ありがたいことに、Stoke MXは複数回同じベロシティソースを選択し、両方の特性を組み合わせることで、インスタンスごとに異なるグリッドの設定を使用することができます。
- Velocity Fieldロールアウトで、Use Global Grid Settingsチェックボックスのチェックを外します。これで二つのことが行なえます:Pick…ボタンとBy Name…ボタンを同じソースオブジェクトに複数回選択できるようにし、また各ソースは独自のローカルグリッドの設定が提供されるようになります。
- By Name…ボタンをクリックしてスプレーシステムを再度選択します。
- リスト上で最初のスプレーを選択し、設定します:Scaleを0.6、Grid Spacingを3.0、Grid Paddingを5にして、Create Fluid Motionをチェックします。
- リスト上で二番目のスプレーを選択し、設定します:Scaleを0.6、Grid Spacingを5.0、Grid Paddingを5にして、Create Fluid Motionをチェックします。
- SIMULATEボタンをクリックします。
結果:大きな間隔から60%、小さな間隔から60%の影響を受ける新しいパーティクルシミュレーションを得ます。50%を使用することももちろんできますが、小さな間隔のグリッドから十分な速度を取得しないいくつかのパーティクルが発生するので、高いスケール値は良い方法となります。
パス追跡 スペースワープを使用する
パス追跡スペースワープは、フォースフィールドを生成しないため、パーティクルフローでサポートしていません。しかし、このスペースワープはスプレーのようなレガシーパーティクルを変形させるために設計されているので、Stokeパーティクルの運動に影響を与えるために間接的に使用できます。
- フロントビューポートにて、スプレーエミッタのピボットで始まるラインを作成し、スプレーの運動をより面白いものにするために少し曲がったカーブを作成します。
- パス追跡スペースワープオブジェクトを作成し、追随するためのカーブとラインを選択します。
- パス追跡で、一定速度のオプションにチェックします。他の設定はデフォルトのままにしておきます。パーティクルモーションモードは「平行スプラインに沿って」に設定しておかなければなりません。
- パス追跡を使用するために「スペースワープにバインド」ツールを使用してスプレーをバインドします。
- Stokeオブジェクトを選択してSIMULATEをクリックします。
結果:前のステップで達成した炎の特性をほとんど保持したまま、Stokeパーティクルはカーブに沿ったスプレーパーティクルに追随します。





