スペースワープから流体運動
概要
このチュートリアルは、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/Frameを5,000に設定し、100フレームを処理するためにSIMULATEをクリックします。
- DisplayをVelocityに切り替え、ColorをTextureCoordに切り替えます。
結果:これはパーティクルを500,000個まで動かす風のスペースワープのみを使用したシミュレーションです。
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 DisplayをVelocityに、ColorをTextureCoordに変更します。
- 1度シミュレーションが終わったら、1番目のStokeの表示をオフにするか、2番目だけを表示するように1番目のStokeを隠します。
結果:主に、ひとつのボクセルで検出した多くのパーティクルの速度を平均化する大きなGrid Spacingによって、最初の動きの大量なリサンプリングをしてブラーがかかったバージョンになりました。
流体運動とリサンプリング
解像度を上げて、Fluid Motionオプションを有効にしましょう。
- 最初のStokeオブジェクトの表示を有効にするか、もし隠れている場合は表示します。
- Grid Spacingを10.0から5.0に変更します。
- Create Fluid Motionオプションにチェックします。
- SIMULATEを再度押します。
- 終わりましたら、1番目のStokeの表示を無効化するか、隠します。
結果:かなり良い動きが得られますが、まだ十分とはいえません。
影響力を拡大する
さらに良い動きを生成するために、Velocity FieldのScaleを増やすことをお勧めします。
- 1番目のStokeオブジェクトのViewport Displayを有効にするか、もし隠れている場合は表示します。
- 2番目のStokeオブジェクトを選択します。
- Velocity Sourcesリストで、1番目のStokeオブジェクトを選択します。
- Scale値を1.0から1.5に変更します。
- 再度SIMULATEを押します。
- リサンプリングの結果を見るために、1番目のStokeオブジェクトのViewport Displayを無効にするか、隠します。
結果:新しいパーティクルはさらに遠くまで移動し、より面白い動作パターンを生成します。
低解像度ソースパーティクルを使用する
これまでは、ソーススペースワープベースのシミュレーションとリサンプリングした流体運動シミュレーションの両方で同じパーティクル量を使用しました。
しかしこれは実際必要ものではなく、低解像度ベースのシミュレーションを使用することで、パーティクルのまばらな性質により異なる効果を生成することができます。
- 1番目のStokeオブジェクトのViewport Displayを有効にするか、隠されている場合は表示します。
- Saving And Cachingロールアウトで、version number フィールドの隣にある[>>]ボタンをクリックし、メニューからNew Versionを選択します。これでv002バージョンを作成します。
- Rate/Frameを50に変更して、100フレーム目に5,000パーティクルのみを作成するためSIMULATEを押します。
- 1番目の新しい低解像度のパーティクルシステムをリサンプリングするため2番目のStokeを選択してSIMULATEを押します。
- 準備ができたら、1番目のViewport Displayを無効にするか、2番目のStokeだけ表示するため、隠します。
結果:シミュレーションは、前のものと非常に似ていますが、より粗く、いくつか追加の渦が含まれて、もちろん、Stokeオブジェクトのソースをシミュレートするためにかなりの時間短縮と少ないディスクスペースの使用となります。目的のルックに応じて、既存のStokeシミュレーションから流体運動を生成するためのいずれかのアプローチを使用することができます。




