始める
中級者向けチュートリアル

VFXで滝を作成する

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

A waterfall is a point in a river or stream where water flows over one or more vertical drops into a body of water. Experiences often include waterfalls for visual aesthetics, such as to enhance the environment or create a visual point of interest, or for functional gameplay purposes, such as to hide resources or transition players between different areas in the place itself.

Using the Waterfall Island .rbxl file as a reference, this tutorial shows you how to create a waterfall with VFX objects that represent real-world physical behavior, including guidance on:

  • 参照資料を個別のコンポーネントに分解し、独自の視覚および行動特性を持つ。
  • 異なる速度で落下する滝を設定し、崖から水が降りながら散逸する様子を模倣する。
  • 際どいプランジプールに衝突する際に水がエアロゾル化する様子を模倣するためにスプラッシュを設定する。
  • 出口が岩にぶつかる際に、攪拌されたエアで満たされる水を模倣するためにホワイトウォーターを設定する。
  • キャピラリー波が表面張力を破る様子を模倣するために泡を設定する。
  • 影響点から上方へ上昇するミストを模倣する設定をし、プレイヤーがどの角度からでも視認できる虹を作成する。

参照を分解する

信頼性のある滝を作成するためには、デザインプロセスの中で実世界の自然の特徴を参照することが重要です。これによって、主題を独自の視覚的および行動的特性を持つ個別のコンポーネントに分解することが可能になります。例えば、サンプルのWaterfall Island体験は、ワシントン州のスノクァルミー滝を参照しており、滝やその周囲の地形に関するすべてのテクスチャとVFXデザインの決定に情報を提供しています。

スノクァルミー滝の遠景。

滝は、実質的に複数の物質の状態、動的な流体および空気の動きを含む連続的かつ接続された水流であるため、さまざまなVFXオブジェクトを利用して現実世界の対応物を模倣する方法を計画するために、この複雑なシステムを個々のコンポーネントに分解することが有効です。このチュートリアルでは、サンプルの滝を5つのユニークなコンポーネントに分解します。

  • カスケード – 崖から降下する水。
  • スプラッシュ – カスケードが基盤のプランジプールと衝突する際に散らばる水。
  • ホワイトウォーター – 水源が崖の端に近づくにつれて発生する攪拌された水。
  • – カスケードとプランジプールの衝突によって水平方向に散らばる気泡水。
  • ミスト – 滝全体の結果として空中に蒸発する雲状の水。
スノクァルミー滝のすべてのコンポーネントが強調表示されている。
サンプル滝の同じ5つのコンポーネントが強調表示され、参照画像と最終結果を比較している。

次のセクションでは、サンプルの3D空間に存在する主要な滝を構成する各コンポーネントを再現するためのさまざまなデザイン決定と技術の詳細な分析を提供します。これらの決定を確認し、さまざまな BeamParticleEmitter のプロパティを実験しながら、自分自身の体験に必要な独自の環境要件を解決するためにVFXを利用する方法を学ぶことでしょう。

カスケードを設定する

カスケードは、崖やブフの先端から降下して基盤となるプランジプールに流れ落ちる水です。カスケードは、水の体積やプランジプールへの落下のスケールによって、異なる速度で落下します。例えば、サンプルのメインドロップが落ちる際には、水の大量な体積が大きな距離を落下しているため、ゆっくりと落下しているように見えますが、サンプルのセカンドドロップは、少ない体積の水が短い距離を落下しているため、より早く落下しているように見えます。

メインドロップ
セカンドドロップ

さらに、滝には異なる速度で落下する層のカスケードがしばしば存在し、水がプランジプールに降下する際に散逸します。この原則を示すために、サンプルでは Beam オブジェクトを複数使用し、 Attachment オブジェクト間にシームレスなテクスチャを描画して、速度と長さを変えています。これは、メインドロップにより現実的な落下挙動を提供するだけでなく、カスケードが奥行きやボリューム感を持っているように見える錯覚も作り出します。

この滝は自然に見えます。水がさまざまな速度で降下し散逸しています。
この滝は不自然に見えます。水が同じ速度で降下し、散逸しています。

サンプルのWaterfall Islandプレースファイルのメインドロップのカスケードを再現するには、以下の手順を行います。

  1. 滝の水の流出を作成します。

    1. Explorerウィンドウで、すべての流出オブジェクトを含むフォルダWorkspaceに作成し、そのフォルダの名前をOutflowに変更します。

    2. Outflowフォルダに2つのブロック部品を挿入し、それぞれをOutflowStartOutflowStopに名前変更します。

    3. OutflowStartを流出の開始位置に移動し、OutflowStopを崖の端に移動します。

      流出水の角度をつけた上からのビュー。流出テクスチャが描画されるべき位置に2つのブロック部品が配置されています。
    4. OutflowStartOutflowStopの両方にアタッチメントを挿入し、アタッチメントが上向きになるように回転させます。

      流出水の角度をつけた上からのビュー。ブロック部品がアタッチメントを含み、黄色の視覚補助が上を向いている位置にあります。
    5. OutflowフォルダにBeamを挿入し、名前をOutflowWaterに変更します。

    6. 各部品のアタッチメントをOutflowWaterに割り当てます。

      1. ExplorerウィンドウでOutflowWaterを選択します。
      2. Propertiesウィンドウで、
        1. Attachment0OutflowStart内のアタッチメントに設定します。
        2. Attachment1OutflowStop内のアタッチメントに設定し、ビームが2つのアタッチメントの間にデフォルトのテクスチャを描画します。
      流出水の角度をつけた上からのビュー。ブロック部品がアタッチメント間にデフォルトのビームテクスチャを描画しています。
    7. ビームの視覚的外観をカスタマイズして、崖の端に近づく流れる水に見えるようにします。

      1. ExplorerウィンドウでOutflowWaterがまだ選択されていることを確認します。
      2. Propertiesウィンドウで、
        1. Texturerbxassetid://4787437624に設定して、流れる泡のように見える新しいテクスチャを描画します。

        2. Width060に設定して、テクスチャが描画される軸から広がります。

        3. Width120に設定して、テクスチャを崖の端に集中させます。

        4. TextureSpeed0.4に設定して、テクスチャの流れを遅くします。

        5. TextureLength64に設定して、テクスチャの長さを伸ばします。

        6. TextureModeWrapに設定して、アタッチメント間のビームの全長の分でテクスチャが繰り返されるようにします。これにより、流れる水がよりリアルに見えるようになります。

        7. Colorを濃淡のある青から白に交互に変化するカラース序列に設定します。

          1. Colorプロパティをクリックし、次に**⋯**ボタンをクリックします。カラース序列ポップアップが表示されます。

            Studioのプロパティウィンドウのクローズアップビュー。Colorプロパティの省略記号ボタンが強調表示されています。

            カラース序列の下軸の各三角形は、パーティクルのライフタイムのその点でのプロパティの色値を決定するキー点です。

          2. 次の時間と値のプロパティをカラース序列全体で設定します。

            • Time = 0, RGB Value = 208, 247, 255
            • Time = 0.135, RGB Value = 146, 235, 255
            • Time = 0.248, RGB Value = 255, 255, 255
            • Time = 0.384, RGB Value = 128, 183, 202
            • Time = 0.757, RGB Value = 166, 213, 248
            • Time = 1, RGB Value = 255, 255, 255
        8. Transparencyをテクスチャが崖の端に近づくにつれ、水がより鮮やかに見えるような数値シーケンスに設定します。

          1. Transparencyプロパティをクリックし、**⋯**ボタンをクリックします。数値シーケンスポップアップが表示されます。デフォルトでは、グラフは直線であり、画像は左右で同じ透明度を維持します。

            Transparency数値シーケンスグラフのクローズアップビュー。

            数値シーケンスの最初と最後の各四角は、テクスチャの左から右へのそのプロパティの透明度値を決定するキー点です。

          2. 次の時間と値のプロパティを数値シーケンス全体で設定します。

            • Time = 0, Value = 1
            • Time = 0.375, Value = 0.725
            • Time = 0.615, Value = 0
            • Time = 0.92, Value = 1
            • Time = 1, Value = 1
        9. 各部品をスケールして、テクスチャが流出プールの幅をカバーするようにします。これで出流は、さまざまな角度から崖の端に向かって流れているように見えます。

  2. メインドロップから流れる速いカスケードの水を作成します。

    1. Explorerウィンドウで、すべてのカスケードオブジェクトを含むフォルダWorkspaceに作成し、そのフォルダの名前をCascadesに変更します。

    2. Cascadesフォルダに2つのブロック部品を挿入し、それぞれをMainDropStartMainDropStopに名前変更します。

    3. MainDropStartを崖の端に移動し、MainDropStopをプランジプールの下に移動します。

      崖の角度をつけた側面ビュー。速い流れのカスケードテクスチャが描画されるべき位置に2つのブロック部品が配置されています。
    4. メインドロップから流れるすべてのカスケード水のビームにアタッチメントを設定して、それらのテクスチャを描画します。

      1. MainDropStartにアタッチメントを挿入し、アタッチメントが崖から離れるように回転させます。
      2. MainDropStopにもアタッチメントを挿入し、アタッチメントが崖の方を向くように回転させます。
      崖の角度をつけた側面ビュー。2つのブロック部品がアタッチメントを含み、上部の部品には崖から離れるように指示する黄色の視覚補助が表示されています。
    5. CascadesフォルダにBeamを挿入し、名前をFastDropに変更します。

    6. 各パーツのアタッチメントをFastDropに割り当てます。

      1. ExplorerウィンドウでFastDropを選択します。
      2. Propertiesウィンドウで、
        1. Attachment0MainDropStart内のアタッチメントに設定します。
        2. Attachment1MainDropStop内のアタッチメントに設定し、ビームが2つのアタッチメントの間にデフォルトのテクスチャを描画します。
      崖の角度をつけた側面ビュー。2つのブロック部品がアタッチメント間にデフォルトのビームテクスチャを描画しています。
    7. ビームの視覚的外観をカスタマイズして、メインドロップから流れる速いカスケード水のように見えるようにします。

      1. ExplorerウィンドウでFastDropがまだ選択されていることを確認します。

      2. Propertiesウィンドウで、

        1. Texturerbxassetid://16808804567に設定して、流れる水に見える新しいテクスチャを描画します。
        2. Width05に設定して、テクスチャが描画される軸から広がります。
        3. Width110に設定して、プランジプールに向かって広げます。
        4. CurveSize010に設定して、テクスチャが崖から曲がるようにします。
        5. CurveSize120に設定して、テクスチャがプランジプールに曲がります。
        6. TextureSpeed1.3に設定して、テクスチャの流れを速くします。
        7. TextureLength2に設定して、テクスチャの長さを少し伸ばします。
        8. Colorを濃淡のある青から白に交互に変化するカラース序列に設定します。
        • Time = 0, RGB Value = 208, 247, 255
        • Time = 0.135, RGB Value = 210, 246, 255
        • Time = 0.25, RGB Value = 255, 255, 255
        • Time = 0.384, RGB Value = 163, 187, 202
        • Time = 0.757, RGB Value = 214, 229, 248
        • Time = 1, RGB Value = 255, 255, 255
        1. Transparencyを、アタッチメントポイント間でカスケード水をより鮮やかにする数値シーケンスに設定します。
        • Time = 0, Value = 1
        • Time = 0.115, Value = 0
        • Time = 0.835, Value = 0
        • Time = 0.881, Value = .994
        • Time = 1, Value = 1
        1. ZOffset2に設定して、テクスチャを崖から少し離した位置にオフセットします。
        2. FaceCameraを有効にして、カスケード水がプレイヤーの水に対する角度に関係なく視認できるようにします。
  3. メインドロップから流れる遅いカスケードの水を作成します。

    1. FastDropを複製し、複製したビームをSlowDropに名前変更します。

    2. ビームの視覚的外観をカスタマイズして、メインドロップから流れる遅いカスケードの水のように見えるようにします。

      1. ExplorerウィンドウでSlowDropを選択します。
      2. Propertiesウィンドウで、
        1. Width120に設定して、プランジプールにさらに広がるようにします。
        2. TextureLength1.5に設定して、テクスチャの長さを少し短くします。
        3. TextureSpeed1に設定して、テクスチャの流れを遅くします。
        4. ZOffset0に設定して、テクスチャが崖の端から直接流れるようにします。
  4. ExplorerウィンドウでOutflowフォルダ内のすべてのブロック部品を選択し、PropertiesウィンドウでTransparency1に設定して、ブロックを透明にします。

スプラッシュを設定する

カスケードが基盤のプランジプールの密度に衝突すると、水は衝撃点から上方に押し上げられ、スプラッシュを生成します。このエアロゾル化された水が上方に押し上げられると、広がって散らばり、さまざまな方向に飛び散る雫を生成します。

このプロセスを示すために、サンプルではメインドロップの底に2つの ParticleEmitterオブジェクトを使用しています。最初のパーティクル発生器は、カスケードがプランジプールに衝突する際に生成される水の重さを表す密なスプラッシュのような粒子を排出します。2番目のパーティクル発生器は、エアロゾル化された水を表す雫の粒子を排出します。

これらのパーティクル発生器を設定して、これらの粒子の両方を同時に異なる速度で排出すると、生成される視覚効果はスプラッシュの現実世界の物理挙動を模倣します。このような詳細は、あなたのVFXのリアリズムに寄与し、プレイヤーを3D空間に没入させるのです。

分解される前の密なエアロゾル化された水を表す2Dテクスチャ。
密なテクスチャ = rbxassetid://16829556885
分解される際のエアロゾル化された水を表す2Dテクスチャ。
雫のテクスチャ = rbxassetid://17082061238

サンプルのWaterfall Islandプレースファイルのメインドロップの底でスプラッシュを再現するには、次の手順を行います。

  1. Explorerウィンドウで、すべてのスプラッシュオブジェクトを含むフォルダWorkspaceに作成し、そのフォルダの名前をSplashesに変更します。

  2. Splashes内にブロック部品を挿入し、その名前をMainDropSplashesに変更します。

  3. MainDropSplashesの位置とサイズをカスケードがプランジプールに衝突する面積全体に設定します。

    崖の底のクローズアップビュー。カスケードがプランジプールに衝突するポイントにボードパートが配置されています。
  4. メインドロップの滝の水がプランジプールに衝突するポイントで、密なスプラッシュを作成します。

    1. MainDropSplashesParticleEmitterを挿入し、発生器の名前をSplashDenseに変更します。

    2. SplashDenseを選択し、Propertiesウィンドウで、

      1. Texturerbxassetid://16829556885に設定して、密なスプラッシュのように見える粒子を描画します。
      2. Colorを青から白に変わるカラース序列に設定します。
      • Time = 0, RGB Value = 189, 246, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Sizeを一定のサイズに増加し、バリエーションの幅を持たせた数値シーケンスに設定します。
      • Time = 0, Value = 1.81, Envelope = 0.562
      • Time = 1, Value = 5.75, Envelope = 1.31
      1. Transparencyを、粒子が透明から不透明に変化し、ライフサイクルを通じて透明に戻る大きな変動幅の数値シーケンスに設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.5, Value = 0.181, Envelope = 0.181
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime0.25, 0.35に設定して、各粒子のライフタイムを250から350ミリ秒の間でランダムに設定します。
      2. Rate30に設定して、1秒間に30粒子を排出します。
      3. Rotation-45, 45に設定して、各粒子を-45から+45度の間でランダムに向けます。
      4. RotSpeed-40, 40に設定して、各粒子を-45から+40度の間でランダムに排出します。
      5. Speed20, 35に設定して、各粒子を20から35スタッドの速度でランダムに排出します。
      6. SpreadAngle50, 50に設定して、XおよびZ軸に沿ったエンジィ角度で粒子を排出します。
      7. Acceleration0, -40, 0に設定して、重力をシミュレートし、粒子を下方に引き寄せます。
      8. LightEmission0.5に設定して、粒子を明るくします。
      9. LightInfluence0.1に設定して、環境光が粒子の色に与える影響を大幅に低下させます。
  5. メインドロップの滝の水がプランジプールに衝突するポイントで雫を作ります。

    1. SplashDenseを複製し、名前をSplashDropletsに変更します。

    2. SplashDropletsを選択し、Propertiesウィンドウで、

      1. Texturerbxassetid://17082061238に設定して、雫に見える粒子を描画します。
      2. Sizeを迅速にサイズを増加させる数値シーケンスに設定します。
      • Time = 0, Value = 1.81, Envelope = 0.562
      • Time = 1, Value = 8.69, Envelope = 1.31
      1. Transparencyを、粒子が透明から急速に不透明になり、ライフサイクルの半ばで緩やかに再び透明になる数値シーケンスに設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.104, Value = 0.0625, Envelope = 0.0625
      • Time = 0.429, Value = 0.0562, Envelope = 0.0562
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime0.15, 0.6に設定して、各粒子のライフタイムを150から600ミリ秒の間でランダムに設定します。
      2. Rate20に設定して、1秒間に20粒子を排出します。
  6. ExplorerウィンドウでSplashesフォルダ内のすべてのブロック部品を選択し、PropertiesウィンドウでTransparency1に設定して、ブロックを透明にします。

ホワイトウォーターを設定する

ホワイトウォーターは、水源が降下に近づくにつれて速度が増し、進行中に物体に衝突するときに乱流になります。これにより、泡の多い水が発生し、ホワイトに見えます。

このプロセスを模倣するために、サンプルでは、出水が崖の岩と衝突する際のエアロゾル化されたスプラッシュを模倣する2つの ParticleEmitterオブジェクトを使用します。発生器は内蔵のライティングを使用せず、代わりに白や灰色を優先し、さまざまな落下速度を適用して、水源内の空気の量を示しています。

岩にぶつかるときのエアロゾル化された水を表す2Dテクスチャ。
ホワイトウォーターテクスチャ = rbxassetid://16808075391

サンプルのWaterfall Islandプレースファイルの出水が崖の岩に衝突するホワイトウォーターを再現するには、次の手順を行います。

  1. Explorerウィンドウで、すべてのホワイトウォーターオブジェクトを含むフォルダWorkspaceに作成し、そのフォルダの名前をWhiteWaterに変更します。

  2. WhiteWaterブロック部品を挿入し、名前をMainDropWWに変更します。

  3. MainDropWWを、出水が崖を越えて流れ始める全面積に配置し、スケールを設定します。

    崖の上側の角度をつけた側面ビュー。出水が崖を越えるポイントにボードパートが配置されています。
  4. 主流れが周辺の岩と衝突する際の、なめらかなホワイトウォーターを作成します。

    1. MainDropWWParticleEmitterを挿入し、発生器の名前をGentleWWに変更します。

    2. GentleWWを選択し、Propertiesウィンドウで、

      1. Texturerbxassetid://16808075391に設定して、糸のようなスプラッシュのように見える粒子を描画します。
      2. Colorを青から白に変わるカラース序列に設定します。
      • Time = 0, RGB Value = 189, 246, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Sizeを一定のサイズに増加し、バリエーションの幅を持たせた数値シーケンスに設定します。
      • Time = 0, Value = 1.13, Envelope = 0.562
      • Time = 1, Value = 5.56, Envelope = 0.563
      1. Transparencyを、粒子が透明から半分ほど不透明になり、ライフサイクルの途中で再び透明になる数値シーケンスに設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.143, Value = 0.462, Envelope = 0.0625
      • Time = 0.336, Value = 0.462, Envelope = 0.0562
      • Time = 0.622, Value = 0.788, Envelope = 0.0538
      • Time = 1, Value = 1, Envelope = 0
      1. ZOffset2に設定して、テクスチャを崖から少し離した場所にオフセットします。
      2. Lifetime1.25, 1.5に設定して、各粒子のライフタイムを1250から1500ミリ秒の間でランダムに設定します。
      3. Rate12に設定して、1秒間に12粒子を排出します。
      4. Rotation-45, 45に設定して、各粒子を-45から+45度の間でランダムに向けます。
      5. RotSpeed-40, 40に設定して、各粒子を-45から+40度の間でランダムに排出します。
      6. Speed15, 18に設定して、各粒子を20から35スタッドの速度でランダムに排出します。
      7. SpreadAngle5, 5に設定して、XおよびZ軸に沿ったエンジィ角度で粒子を排出します。
      8. Acceleration0, -35, 0に設定して、重力をシミュレートし、粒子を下方に引き寄せます。
      9. Drag0.25に設定して、粒子が指数関数的に減速するようにします。
      10. LightEmission0.6に設定して、粒子を明るくします。
      11. LightInfluence0.1に設定して、環境光が粒子の色に与える影響を大幅に低下させます。
  5. 周囲の岩と衝突する際の、より乱流なホワイトウォーターを作成します。

    1. GentleWWを複製し、名前をTurbulentWWに変更します。

    2. TurbulentWWを選択し、Propertiesウィンドウで、

      1. Sizeを微妙にサイズを増加させる数値シーケンスに設定します。
      • Time = 0, Value = 1.6, Envelope = 0.562
      • Time = 1, Value = 2.63, Envelope = 0.563
      1. Transparencyを、粒子が透明から不透明になり、ライフサイクルの途中で再び透明になる数値シーケンスに設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.156, Value = 0.0437, Envelope = 0.0437
      • Time = 0.55, Value = 0.075, Envelope = 0.0252
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime0.25, 0.5に設定して、各粒子のライフタイムを250から500ミリ秒の間でランダムに設定します。
      2. Rate20に設定して、1秒間に20粒子を排出します。
      3. Speed5, 6に設定して、各粒子を5から6スタッドの速度でランダムに排出します。
      4. Acceleration0, -15, 0に設定して、重力をシミュレートし、粒子を下方に引き寄せます。
  6. ExplorerウィンドウでWhiteWaterフォルダ内のすべてのブロック部品を選択し、PropertiesウィンドウでTransparency1に設定して、ブロックを透明にします。

泡を設定する

カスケードがプランジプールに衝突する際、上方に放出されるスプラッシュとは異なり、は衝撃点の基底から外側に広がるエアレートされた水です。スプラッシュと同様に、泡は自己から広がり、ネット状の粒子に分解します。

この効果を模倣するために、サンプルではネット状の泡のように見える粒子を排出するためにParticleEmitterオブジェクトを使用し、プランジプールに平行にゆっくりと排出します。これにより、粒子は基底の水の表面張力を破るように視覚的および行動的な影響を模倣します。

プランジプールに衝突する場所から泡が広がる様子を表す2Dテクスチャ。
泡の波紋テクスチャ = rbxassetid://16811365086

サンプルのWaterfall Islandプレースファイルのメインドロップの底に泡を再現するには、次の手順を行います。

  1. Explorerウィンドウで、すべての泡オブジェクトを含むフォルダWorkspaceに作成し、そのフォルダの名前をFoamに変更します。

  2. Foamブロック部品を挿入し、その名前をMainDropFoamに変更します。

  3. MainDropFoamをメインの滝がプランジプールに衝突する時の全表面積に配置し、スケールを設定します。

    崖の底の角度をつけた側面ビュー。カスケードがプランジプールに衝突するポイントにボードパートが配置されています。
  4. MainDropFoamParticleEmitterを挿入し、発生器の名前をFoamRipplesに変更します。

  5. ExplorerウィンドウでFoamRipplesを選択し、Propertiesウィンドウで、

    1. Texturerbxassetid://16811365086に設定して、泡の波紋のように見える粒子を描画します。

    2. OrientationVelocityPerpendicularに設定して、粒子が移動する方向に垂直に排出されます。

    3. Transparencyを、粒子が透明から急速に不透明になり、その寿命の終わりにかけてすぐに透明に戻る数値シーケンスに設定します。

      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.143, Value = 0.119, Envelope = 0.1
      • Time = 0.664, Value = 0.125, Envelope = 0.112
      • Time = 1, Value = 1, Envelope = 0
    4. Lifetime0.5, 0.7に設定して、各粒子のライフタイムを500から700ミリ秒の間でランダムに設定します。

    5. Rate5に設定して、1秒間に5粒子を排出します。

    6. Rotation0, 360に設定して、粒子を放出ポイントから円環状にランダムに配置します。

    7. RotSpeed-15, 15に設定して、各粒子を-15から+15度の範囲でランダムに排出します。

    8. Speed0, .01に設定して、各粒子を0から0.01スタッドの速度でランダムに排出します。

    9. LightEmission0.25に設定して、粒子を微妙に明るくします。

    10. LightInfluence0に設定して、環境光が粒子の色に影響を与えないようにします。

  6. コマンドバーに以下の文字列を入力して、各粒子のサイズをライフタイムにわたって5から20スタッドに増加させることで、わずかな変動の幅を持たせます。


    workspace.Foam.MainDropFoam.FoamRipples.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,5,0), NumberSequenceKeypoint.new(1,20,5)}
  7. ExplorerウィンドウでFoamフォルダ内のすべてのブロック部品を選択し、PropertiesウィンドウでTransparency1に設定して、ブロックを透明にします。

ミストを設定する

カスケードがプランジプールに衝突すると、水の一部が蒸発し、冷たく湿った空気の中で凝縮してミストを形成します。ミストの蒸気は、硬い表面がそうであるのと同じように光を捉えることはなく、代わりに意外な方法で光を反射し、環境全体に明るく見えます。

サンプルでは、メインドロップの底に2つのParticleEmitterオブジェクトを使用してこのプロセスをエミュレートしています。最初のパーティクル発生器は、衝撃点と崖から粒子を力強く排出し、2番目のパーティクル発生器は、徐々に空に向かって上昇する粒子を排出します。両方のパーティクル発生器の粒子は、発生の初めに明るく見え、ライフタイムの終わりにかけて次第に透明になりながら蒸発します。

現実世界に似て、ミストの蒸発プロセスでは、小さな水滴に光が反射して虹が形成されることがあります。サンプルでも、ライフサイクルが短い虹の粒子を排出するParticleEmitterオブジェクトを使用して、この現象をエミュレートしています。これらの粒子は、プレイヤーが水に対して視点を変えてもカメラを向くため、水蒸気自体に光が当たっている視覚的錯覚を生み出します。

ミストを表す2Dテクスチャ。
ミステクスチャ = rbxassetid://16830667309
虹を表す2Dテクスチャ。
虹のテクスチャ = rbxassetid://16828911033

サンプルのWaterfall Islandプレースファイルのメインドロップの底から外側および上方に移動するミストを再現するには、次の手順を行います。

  1. Explorerウィンドウで、ミスト関連のすべてのオブジェクトを含むフォルダWorkspaceに作成し、そのフォルダの名前をMistに変更します。

  2. カスケードがプランジプールに衝突したときの外側に広がるミストを作成します。

    1. Mist内にブロック部品を挿入し、その名前をBaseMistに変更します。

    2. BaseMistの位置、向き、およびスケールを、メインカスケードがプランジプールに衝突する地点の最も密度の高い部分から向かうように設定します。

      崖の底の角度をつけた側面ビュー。カスケードがプランジプールに衝突するポイントにボードパートが配置されています。ボードパートは少し角度をつけているため、上面は崖から外側を向いています。
    3. BaseMistParticleEmitterを挿入し、発生器の名前をMistに変更します。

    4. Mistを選択し、Propertiesウィンドウで、

      1. Texturerbxassetid://16830667309に設定して、厚いミストのように見える粒子を描画します。
      2. Colorを青から白に変わるカラース序列に設定します。
      • Time = 0, RGB Value = 171, 244, 255
      • Time = 0.339, RGB Value = 251, 254, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Sizeを一定のサイズに増加させる数値シーケンスに設定します。
      • Time = 0, Value = 8, Envelope = 0
      • Time = 1, Value = 10, Envelope = 0
      1. Transparencyを、粒子が透明から急速に不透明になり、ライフタイムの終わりに向かって迅速に透明に戻る数値シーケンスに設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.0971, Value = 0.8, Envelope = 0.0625
      • Time = 1, Value = 1, Envelope = 0
      1. ZOffset2でテクスチャをプランジプールから少し離したところにオフセットします。
      2. Lifetime0.5, 1に設定して、各粒子のライフタイムを500から1000ミリ秒の間でランダムに設定します。
      3. Rate20に設定して、1秒間に20粒子を排出します。
      4. Rotation-360, 360に設定して、各粒子を円環状にランダムに向けます。
      5. RotSpeed-50, 50に設定して、各粒子を-50から+50度の間でランダムに排出します。
      6. Speed35, 50に設定して、各粒子を35から50スタッドの速度でランダムに排出します。
      7. SpreadAngle25, 25に設定して、XおよびZ軸に沿ったエンジィ角度で粒子を排出します。
      8. Acceleration-10, -25, -10に設定して、衝突点から出水が外側に爆発的に広がる影響をシミュレートします。
      9. Drag1.5に設定して、各粒子が指数関数的に減速するようにします。
  3. プランジプールから上方に上昇するミストを作成します。

    1. BaseMistを複製し、名前をRiseMistに変更します。
    2. RiseMistを調整し、粒子が排出される最上部が空を向くように配置します。
    3. その子粒子発生器を選択し、Propertiesウィンドウで、
      1. Lifetime4に設定して、各粒子のライフタイムを4秒に設定します。
      2. Rate3に設定して、1秒間に3粒子を排出します。
      3. RotSpeed-10, 10に設定して、各粒子を-10から+10度の間でランダムに排出します。
      4. Speed25に設定して、各粒子を25スタッドの速度で排出します。
      5. Acceleration0, 0, 0に設定して、先ほどのシミュレーションを取り除きます。
      6. Drag1に設定して、粒子が指数関数的に減速するようにします。
    4. コマンドバーに以下の文字列を入力して、各粒子のサイズを20から25スタッドに増加させるために微調整します:

    workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}
  4. 虹を作成します。

    1. Mistブロック部品を挿入し、その名前をRainbowPartに変更します。

    2. RainbowPartを他のブロック部品の少し上に配置します。

    3. ParticleEmitterRainbowに挿入し、発生器の名前をRainbowに変更します。

    4. Rainbowを選択し、Propertiesウィンドウで、

      1. Texturerbxassetid://16828911033に設定して、かすかな虹のように見える粒子を描画します。
      2. Size25に設定して、大きな粒子を描画します。
      3. Transparencyを、粒子が透明から急速に不透明になり、そのライフサイクルを通じて再び透明になる数値シーケンスに設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.497, Value = 0.363, Envelope = 0.05
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime2, 4に設定して、各粒子のライフタイムを200から400ミリ秒の間でランダムに設定します。
      2. Rate0.25に設定して、4秒ごとに1粒子を排出します。
      3. Rotation-20に設定して、各粒子をわずかに向けます。
      4. Speed0に設定して、各粒子を0スタッドの速度で排出します。
      5. Drag1に設定して、粒子が指数関数的に減速するようにします。
      6. LightEmission1に設定して、加算ブレンディングを使用し、粒子に背景の色とともに描画します。このステップは、テクスチャ自体から黒い背景も除去します。
      7. LightInfluence0に設定して、環境光が粒子の色に影響を与えないようにします。
  5. ExplorerウィンドウでMistフォルダ内のすべてのブロック部品を選択し、PropertiesウィンドウでTransparency1に設定して、ブロックを透明にします。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。