VFXを使って滝を作成する

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

とは、川や小川の中で水が1つまたは複数の垂直の落下を越えて水域に流れ落ちる地点のことです。ゲームでは、環境を強化したり、視覚的な興味のポイントを作成したり、資源を隠したり、プレイヤーを場所の異なるエリアに移動させるなど、視覚的な美しさや機能的なゲームプレイの目的で滝がよく含まれています。

Waterfall Island .rbxlファイルを参考にして、このチュートリアルでは、現実世界の物理的な挙動を表すVFXオブジェクトを使用して滝を作成する方法を示します。以下のガイダンスが含まれています:

  • 参照資料を個々のコンポーネントに分解し、明確な視覚的および行動的特性を持たせる。
  • 崖から降下する際に水が散逸する様子を模倣するために、異なる速度で落下する滝を構成する。
  • 滝が基盤のプランジプールに衝突する際に水がエアロゾル化する様子を模倣するために、スプラッシュを構成する。
  • 水流が岩に衝突する際に乱流のエアレーテッドウォーターを模倣するために、ホワイトウォーターを構成する。
  • 表面張力を破る毛細管波を模倣するために、泡を構成する。
  • 衝突点から上方に立ち上がるミスト蒸気を模倣するために、ミストを構成する。これにより、プレイヤーがどの角度からでも見ることができる虹が作成されます。

参照を分解する

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

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

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

  • – 崖から降下する水。
  • スプラッシュ – 滝が基盤のプランジプールに衝突する際に散乱する水。
  • ホワイトウォーター – 水源が崖の端に近づくときに発生する乱流の水。
  • – 滝とプランジプールの衝突時に水平方向に散乱するエアレーテッドウォーター。
  • ミスト – 滝の全体的な影響により空中に蒸発する雲のような水。
すべての5つのコンポーネントが強調表示されたスノクォルミー滝。
参照画像と最終結果を比較するために同じ5つのコンポーネントが強調表示されたサンプルの滝。

以下のセクションでは、サンプルの3D空間における主な落下を構成する各滝のコンポーネントを再現するために使用できるさまざまなデザイン決定と技術について詳しく分析します。これらの決定を確認し、さまざまなBeamおよびParticleEmitterプロパティを実験することで、VFXを利用して自分のゲームのユニークな環境要件を解決する方法を学びます。

滝を構成する

とは、崖やブロフの端から基盤のプランジプールに降下する水のことです。滝は、水の量とプランジプールへの落下のスケールに応じて異なる速度で落下します。たとえば、サンプルの主な落下は、大量の水が大きな距離を落下するため、より遅く落下しているように見えますが、サンプルの2番目の落下は、小さな水の量が短い距離を落下するため、より早く落下しているように見えます。

主な落下
2番目の落下

さらに、滝には異なる速度で落下する層があることが多く、水がプランジプールに降下する際に散逸します。この原則を示すために、サンプルでは、Beamオブジェクトを複数使用し、Attachmentオブジェクトの間で異なる速度と長さでレンダリングされるシームレスなテクスチャを使用しています。この技術は、主な落下によりリアルな落下挙動を提供するだけでなく、滝が深さとボリュームの感覚を持っているように見せるパララックスの錯覚も作り出します。

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

サンプルのWaterfall Islandプレースファイルの主な落下の滝を再現するには:

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

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

    2. Outflowフォルダに2つのblockパーツを挿入し、それぞれの名前をOutflowStartOutflowStopに変更します。

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

      流出水の斜め上からの視点。流出テクスチャがレンダリングされるべき位置に2つのブロックパーツが配置されています。
    4. OutflowStartOutflowStopの両方にアタッチメントを挿入し、アタッチメントが上向きになるまで回転させます。

      流出水の斜め上からの視点。アタッチメントが上向きに指している2つのブロックパーツが含まれています。
    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に設定して、アタッチメント間の3D空間におけるビームの全体的な長さをTextureLengthで割った量にテクスチャを繰り返します。これにより、テクスチャが流れる水に対してよりリアルに見えるようになります。

        7. Colorを濃い青から明るい青、白に変化するカラ―シーケンスに設定します。

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

            StudioのPropertiesウィンドウのクローズアップ。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ウィンドウで、すべての滝のオブジェクトを含むFolderWorkspaceに作成し、フォルダの名前をCascadesに変更します。

    2. Cascadesフォルダに2つのblockパーツを挿入し、それぞれの名前を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つのアタッチメントの間にデフォルトのテクスチャをレンダリングします。
      崖の側面の斜めの視点。アタッチメントの間にデフォルトのビームテクスチャがレンダリングされています。
    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ウィンドウで、すべてのスプラッシュオブジェクトを含むFolderWorkspaceに作成し、フォルダの名前をSplashesに変更します。

  2. Splashesblockパーツを挿入し、その名前を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ウィンドウで、すべてのホワイトウォーターオブジェクトを含むFolderWorkspaceに作成し、フォルダの名前をWhiteWaterに変更します。

  2. WhiteWaterblockパーツを挿入し、その名前を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ウィンドウで、すべての泡オブジェクトを含むFolderWorkspaceに作成し、フォルダの名前をFoamに変更します。

  2. Foamblockパーツを挿入し、その名前を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から.01スタッドの間でランダムに放出します。

    9. LightEmission0.25に設定して、パーティクルをわずかに明るくします。

    10. LightInfluence0に設定して、環境光がパーティクルの色に影響を与えないようにします。

  6. Command Barに以下の文字列を入力して、各パーティクルのサイズをライフタイムの間に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ウィンドウで、すべてのミスト関連オブジェクトを含むFolderWorkspaceに作成し、フォルダの名前をMistに変更します。

  2. 滝がプランジプールに衝突する地点から放射状に広がるミストを作成します。

    1. Mistblockパーツを挿入し、その名前を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. Command Barに以下の文字列を入力して、各パーティクルのサイズをライフタイムの間に20から25スタッドに増加させます:
    workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}
  4. 虹を作成します。

    1. Mistblockパーツを挿入し、その名前をRainbowPartに変更します。

    2. RainbowPartを他のブロックパーツの少し上に配置します。

    3. RainbowParticleEmitterを挿入し、そのエミッターの名前を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は、米国並びにその他の国における登録商標および非登録商標です。