====== 割れたワイングラスの液体 ====== \\ \\ {{ :chaosgroup:phoenixfdmaya:banner_image_bright.jpg |}} \\ ===== 概要 ===== このページの手順は、爆発的なワイングラスシミュレーションを設定するプロセスを案内します。このチュートリアルでは、Surface TensionとSteps Per Frameのパラメータが液体の動きにどのように影響するかを学びます。この爆発的なエフェクトは、シミュレーションの主な推進要因であるネイティブのMaya Radial Fieldを使用することによって達成されます。追加の速度は、ワイングラスのベイクされたリジッドボディシミュレーションからシミュレートされます。 \\ \\ シーンファイルは[[https://drive.google.com/uc?export=download&id=1Cp-B5x-KY4Q45SuWxI-2iZJGz4q8ftIi|ここ]]からダウンロードできます。 \\ \\ ===== システムユニットの設定 ===== シーンのスケールは、あらゆるシミュレーションの動作にとって重要です。中規模/小規模のシミュレーションでは飛沫と激しい動きがありますが、大規模な流体のディティールは少なく動きは遅いようです。したがって、作業単位を気にすることが重要です。 \\ \\ ウィンドウ- >設定とプリファレンス- >プリファレンス を開きます。 \\ \\ [設定]タブで、**作業単位**を **センチメートル**に設定します 。 \\ \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass.png |}} \\ \\ 下のタイムスライダのタブで、再生スピードを設定するために、[すべてのフレームを再生]を選択し、最大再生スピードに[24fps x 1]。 \\ [24fps x 1]オプションが設定されていない場合、Mayaはプレビュー中にフレームをスキップして最大再生速度で再生する場合があります。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_01.png |}} \\ \\ ===== シーンのセットアップ ===== ワイングラスの高さは約250cm(通常18〜25cm)です。距離ツールは、簡単にオブジェクトのサイズを確認するために使用することができます。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_02.png |}} \\ \\ 大規模流体のゆっくりした移動は、ガラス破片に対する液体の動きの微調整を容易にする。また、シミュレーションの形状をより詳細に制御できます。 \\ \\ 粉砕されたワイングラスを使ったリジッドボディシミュレーションは、Alembicでベイクされてキャッシュされます。MayaでAlembicキャッシュをインポートするには、**キャッシュ - > Alembicキャッシュ - > Alembic** から読み込みを選択します。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_03.png |}}  \\ このシーンは、ワイングラスシミュレーションキャシュ、VRay DomeLight、Phoenix FDシミュレータ、[[tutorial/usinginitialliquidfillwithcontainers]]オブジェクトで構成されています。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_04.png |}} \\ \\ \\ アトリビュートエディタのAttributes - > Phoenix FDに移動してInitial Fillジオメトリとして使うとジオメトリのシェイプノードに**Phoenix FD Node Properties**を追加します。 \\ \\ これにより、標準の液体シミュレーションを使用して手作業でガラスを満たし、満たすまでの多数のフレームをシミュレートするプロセスを回避できます。 \\ \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_05.png |}} \\ \\ ===== フォース ===== Phoenix FDを使用すると、シーンのフォースをプレビューして、一定の微調整とシミュレーションのプロセスを排除できます。Mayaネイティブのフォースだけでなく、Phoenix FDに付属しているすべてのフォースをプレビューできます。 \\ コンテナに影響を与えるフォースの効果を確認するには、シミュレータの**Preview**タブで**Forces**を有効にします。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_extra_forcepreview_attribeditor.jpg |}} \\ プレビューするフォースをForce Previewのセットに追加します。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_extra_forcepreview_outliner_viewport.jpg |}} \\ Auto RangeがEnabledの場合、入力速度の最小値と最大値が表示されます。これは、フォースの大きさを設定したり、シミュレーションをトラブルシューティングする際に非常に便利です。Max値が5000程度であると、当然シミュレーションは「爆発する」と予想されます。\\ Force Fieldsを微調整するときにこれらの値をメモしておきます。 \\ プレビューするフォースをphx_preview_setに追加します。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_extra_forcepreview_outliner_viewport.jpg |}} \\ ---- 液体の所望の爆発性効果は、標準的なMaya 放射状フィールド(Radial Field)によって達成されます。 \\ Dynamicsの下で、フィールド→ラジアルに移動します。半径方向の力は液体を全方向に押し出します。 \\ ボリュームシェイプを**球**に設定し、ガラスの内側に配置します。スケールツールを使用して球のスケールを調整することができます。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_12.png |}} マグニチュードパラメータをアニメートし、減衰で再生します。\\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_13.png |}} ---- 配置に応じて、シミュレーションの外観は劇的に変化します。望ましい結果を見つけるための何度か実験します。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic007_2_radialfieldcentered.jpg |}} \\ ガラスの中心に配置 \\ \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic007_3_radialfieldatpointofimpact.jpg |}} \\ 衝撃を加えたところに配置 \\ \\ 液体は放射状フィールドによって押され、グラスの破片と接触するとパーティクルはジオメトリの動きから継承し始めます。 \\ その効果の強さは、ジオメトリのシェイプノード - >**Extra Phoenix FD Attributes**で制御できます。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_14.png |}} \\ カスタムジオメトリを使用して、グリッドの特定の部分の液体の動きをブロックすることができます。シミュレーションが均一すぎると思われる場合は、シンプルな形状をモデリングして適切な場所に配置することで、少しコストを抑えることができます。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic0022_collisiongeo.jpg |}} \\ ===== コンテナのプロパティ ===== メソッドをTemperature / Liquidに設定して、Adaptive Gridを有効にします。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_06.png |}} \\ これはPhoenix FDに液体を追跡させ、パーティクルが境界に近づくとシミュレータのサイズを大きくするように指示します。 \\ パーティクルが非常に速く動いて、グリッドが広がる前にグリッドから飛び出す場合は、**Extra Margin**を増やすことを検討してください。 \\ \\ グリッドの解像度を上げると、シミュレーションの形や動作が変更されることがあります。より高い分解能が必ずしも現実的なシミュレーションを意味するとは限りません。それはプロジェクトによって異なります。時には解像度が高すぎる、ディティールがあまりにも多い、または見た目がディレクターが求めているものではないなど……。良いバランスを見つけなければなりません。 \\ \\ \\ シーンに応じて、Gravityと[Steps Pre Frame]パラメータを設定します。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_07.png |}} \\ \\ **Steps per Frame(SPF)**は、連続する2つのフレーム間のグリッド計算の数を制御します。 \\ 一般に、値が高いほど、シミュレーション時間が長くなり、ノイズが小さくなり、液体がより滑らかになります。 \\ 必ずしも値が高ければ現実的に見える液体メッシュを生成するとは限りません。 \\ 液体がにじんでいるか途切れている場合は、Steps per Frameを増やすことを検討してください。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic0023_spf_3step.jpg |}}\\ Steps per Frame:3\\ \\ \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic0024_spf_7step.jpg |}}\\ Steps per Frame:7\\ \\ Surface tensionを0.05に設定します。 \\ \\ 値が低いほど液体が飛び散りやすくなります。 \\ より高い値は、テンドリルの形成をもたらし、液体が崩れないようになります。 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic0027_surftenstion_0000.jpg |}} \\ Surface tension:0.0 \\ {{ :chaosgroup:phoenixfdmaya:resized_wg_expl_pic0028_surftenstion_0100.jpg |}} \\ Surface tension:0.1 \\ **Wetting**は、液体をシーンの衝突ジオメトリに張り付けさせるために使用できます。デフォルトでは、すべてのソリッドオブジェクトが影響を受けますが、特定のボディのWettingエフェクトを無効にするオプションは、そのジオメトリのPhoenix FD Propertiesにあります。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_08.png |}} \\ **Wetting**を有効にします。**Consumed Liquid**に 0.1 **Sticky Effect**を 0に設定します。 \\ \\ \\ パーティクルによって生成されたメッシュをプレビューするには、[Preview]タブの下の[Show Mesh]を有効にします。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_09.png |}} \\ Phoenix FDはパーティクルメッシャーの代わりにグリッドメッシャーを使用するため、カクカクしたジオメトリが生成される可能性があります。シミュレータの[Rendering] - > [Mesh]タブの[Mesh Smoothness]パラメータを使用して、これらのアーティファクトを減らすことができます。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_10.png |}} \\ [Output]タブを開き**Velocity**を有効にします。Velocityチャンネルは、モーションブラーでのレンダリングに必要です。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_11.png |}} \\ \\ ===== マテリアル ===== ==== ワイングラスのマテリアル ==== 一般に、屈折するマテリアルを作成する場合、表面のDiffuse成分は光の吸収および反射によって存在するため、Diffuseを黒に設定する必要があります。 \\ \\ この例では**Diffuse**は、RGB[0-255]で[16、16、16] に設定されています \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_15.png |}} \\ **Reflection**と**Refraction**の色を白に設定します[255,255,255]。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_17.png |}} \\ \\ **Dispersion**を有効にし、**Dispersion Abbe**の値を50に、**Max Trace Depth**を20に設定します。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_16.png |}} \\ \\ \\ ==== ワイン(液体)のマテリアル==== 赤ワインは半透明ではあるが完全に透明ではないため、Fog Colorとゼロ以外のDiffuse colorが使用されます。 \\ 写真からこれらの色をサンプリングしたり、スクリーンショットからコピーすることができます。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_19.png |}} \\ **Fog Multiplier**は、**Fog Color**エフェクトの強さを調整します。 \\ **Fog Bias**は色の遷移を制御し、負の値は液体の見た目を濃くします。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_18.png |}} \\ ===== カメラとライティング ===== シーンの照明源は、一つのV-Ray Dome Lightです。 \\ \\ 追加するには、作成 - >ライト - >**V-Ray Dome Light**を選択します。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_20.png |}} \\ \\ **Enable Dome Tex**を有効にし、CheckerアイコンをクリックしてFileノードをHDRIに接続します。 \\ \\ [Option]タブのオプションでレンダリングされたイメージにドームライトが映らないようにします。 \\ \\ \\ Physical Cameraのパラメータを追加するには、レンダリングに使用するMayaカメラを選択します。 \\ アトリビュートエディタのShape ノードの下で、Attributes - > V-Ray - > **Physical Camera**を選択します。 \\ {{ :chaosgroup:phoenixfdmaya:liquidforashatteredwineglass_21.png |}} \\ 物理カメラは写真のようなコントロールを提供します。 \\ **Extra VRay Attributes**タブの下部で、**Motion Blur**と**Depth of Field**を有効にすることもできます。 \\ \\ ===== ルックデブ ===== {{ :chaosgroup:phoenixfdmaya:wg_expl_pic0029_lookdev.jpeg |}}