Thinkbox Software 製品
ブログ

スペースワープから流体運動

概要

このチュートリアルは、3ds Maxのフォーススペースワープから流体運動の作成する方法を説明します。

Stoke MXは、パーティクルベースでないソースからの流体運動を直接サポートしていません。言い換えれば、スペースワープやFumeFXシミュレーションは、そのまま適用されます。特に、スペース ワープは数学的関数をベースとしているため空間内のどの地点でも定期的に評価することができ、そして、FumeFXは、既に流体運動を表示しているからです。

1つのStokeオブジェクトをシミュレーションすることによって、どのようなベロシティフィールドでも再度サンプリングすることができますが、それから、最初の一つパーティクルからダイバージェンスフリーのベロシティフィールドを生成するために2番目のStokeオブジェクトを使用して、再度サンプリングすることができます。

 

基本的なシーン

まず、テストシーンを何もない状態から作成します。

  • 新しい3ds Maxシーンを開始します。
  • 20.0×20.0サイズ原点平面を作成します。
  • 原点風のスペースワープを作成して、球状モードにして、強度0.1に、タービュランス1.0に、周期0.01に、スケール0.05に設定します。
  • 平面両方選択して、ツールバーでStokeアイコンをクリックして、それからビューポートでクリックして、Stokeオブジェクトを作成します。あるいは、作成パネルを経由してStokeオブジェクトを作成し、Distributionソースとして平面を、Velocityソースとして風を選択します。
  • Distributionロールアウトの利用可能なチャンネルリスト上でTextureCoordチャンネルをチェックします。パーティクルの出生位置に従ってパーティクルに色付けするために、平面のマッピング座標を使用します。
  • Rate/Frame5,000に設定し、100フレームを処理するためにSIMULATEをクリックします。
  • DisplayVelocityに切り替え、ColorTextureCoordに切り替えます。

結果:これはパーティクルを500,000まで動かす風のスペースワープのみを使用したシミュレーションです。

Tut06_001_stokemx_fluidsw_basesim

 

Stokeシミュレーションをリサンプリングする

新しい2つ目のStokeオブジェクトを作成し、Distributionソースとして同じ平面オブジェクトを使用しますが、Velocityソースとして1つ目のStokeを使用します。

  • 平面Stokeオブジェクトを選択し、Stokeアイコンをクリックして、2つ目のStokeオブジェクトを作成するためにビューポートをクリックします。
  • Distributionソースリストから1番目のStokeを外します。
  • TextureCoordチャンネルをチェックします。
  • Rate/Frameを5,000にします。
  • デフォルトの設定で100フレーム以上のシミュレーションを行うため、SIMULATEを押します。Grid Spacingは10、Create Fluid Motionにはチェックせず、1.0のスケールです。
  • Viewport DisplayVelocityに、ColorTextureCoordに変更します。
  • 1度シミュレーションが終わったら、1番目のStokeの表示をオフにするか、2番目だけを表示するように1番目のStokeを隠します。

結果:主に、ひとつのボクセルで検出した多くのパーティクルの速度を平均化する大きなGrid Spacingによって、最初の動きの大量なリサンプリングをしてブラーがかかったバージョンになりました。

Tut06_002_stokemx_fluidsw_nofluid_grid10

 

流体運動とリサンプリング

解像度を上げて、Fluid Motionオプションを有効にしましょう。

  • 最初のStokeオブジェクトの表示を有効にするか、もし隠れている場合は表示します。
  • Grid Spacing10.0から5.0に変更します。
  • Create Fluid Motionオプションにチェックします。
  • SIMULATEを再度押します。
  • 終わりましたら、1番目のStokeの表示を無効化するか、隠します。

結果:かなり良い動きが得られますが、まだ十分とはいえません。

Tut06_003_stokemx_fluidsw_scale1_grid5

 

影響力を拡大する

さらに良い動きを生成するために、Velocity FieldのScaleを増やすことをお勧めします。

  • 1番目のStokeオブジェクトのViewport Display有効にするか、もし隠れている場合は表示します。
  • 2番目Stokeオブジェクトを選択します。
  • Velocity Sourcesリストで、1番目Stokeオブジェクトを選択します。
  • Scale値を1.0から1.5に変更します。
  • 再度SIMULATEを押します。
  • リサンプリングの結果を見るために、1番目StokeオブジェクトのViewport Display無効にするか、隠します。

結果:新しいパーティクルはさらに遠くまで移動し、より面白い動作パターンを生成します。

Tut06_004_stokemx_fluidsw_scale15_grid5

 

低解像度ソースパーティクルを使用する

これまでは、ソーススペースワープベースのシミュレーションとリサンプリングした流体運動シミュレーションの両方で同じパーティクル量を使用しました。

しかしこれは実際必要ものではなく、低解像度ベースのシミュレーションを使用することで、パーティクルのまばらな性質により異なる効果を生成することができます。

  • 1番目StokeオブジェクトのViewport Display有効にするか、隠されている場合は表示します。
  • Saving And Cachingロールアウトで、version number フィールドの隣にある[>>]ボタンをクリックし、メニューからNew Versionを選択します。これでv002バージョンを作成します。
  • Rate/Frame50に変更して、100フレーム目に5,000パーティクルのみを作成するためSIMULATEを押します。
  • 1番目の新しい低解像度のパーティクルシステムをリサンプリングするため2番目Stokeを選択してSIMULATEを押します。
  • 準備ができたら、1番目Viewport Display無効にするか、2番目のStokeだけ表示するため、隠します

結果:シミュレーションは、前のものと非常に似ていますが、より粗く、いくつか追加の渦が含まれて、もちろん、Stokeオブジェクトのソースをシミュレートするためにかなりの時間短縮と少ないディスクスペースの使用となります。目的のルックに応じて、既存のStokeシミュレーションから流体運動を生成するためのいずれかのアプローチを使用することができます。

Tut06_005_stokemx_fluidsw_lowres_scale15_grid5