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

火山の噴火をVFXで作成する

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

火山は、地殻内のクレーターで、マグマや溶けたガスによる内部圧力のために溶岩や煙を噴出します。体験には、プレイヤーが溶岩や溶融岩の危険と貴重な資源、ボスバトルアリーナ、または火山が周期的に噴火することで動的に変化する環境における報酬のバランスを取らなければならない、困難なゲームプレイエリアの火山が含まれることがよくあります。

Volcano Island - Start .rbxlファイルを出発点として、Volcano Island - Completeを参照として、このチュートリアルでは、リアルワールドの物理挙動を表すカスタムライティングとVFXオブジェクトを使用して、環境を火山の噴火に変換する方法を示します。その内容には以下のガイダンスが含まれています:

  • 参照資料を、明確な視覚的および行動的特性を持つ個々のコンポーネントに分解すること。
  • 温かい流体が表面に上昇してカリデラの表面を乱す様子を模倣するために、表面の波紋を構成すること。
  • 大気中に上昇する際に急速に冷却される溶融岩の断片を模倣するために、いくつかの微小な発火物を構成すること。
  • カリデラから噴出し流れる溶岩を、さまざまな溶岩の粘度状態を模倣するために構成すること。
  • プレイヤーの注意を引くために空に上昇する厳しい不純物を模倣する煙の立ち上りの構成。
このチュートリアルを完成させるために使用できる開始火山地形。
Volcano Island - Start
このチュートリアルの終わりに作成するVFXオブジェクトが含まれた完全な火山。
Volcano Island - Complete

参照の分解

信頼性のある火山を作成するためには、デザインプロセスで実際の火山噴火を参照することが重要です。そうすることで、対象を独自の視覚的および行動的特性を持つ個々のコンポーネントに分解できます。たとえば、サンプルのVolcano Island - Complete体験は、アイスランドの火山噴火を参照して、カリデラやその周囲の地形に関連するすべてのテクスチャとVFXデザインの決定を行います。

アイスランドの火山噴火の遠景。

噴火している火山を個々のコンポーネントに分解することは有用であり、さまざまなVFXオブジェクトを利用して現実の対策を模倣する方法を計画できます。このチュートリアルでは、サンプル火山を5つの独自のコンポーネントに分解します:

  • 表面の波紋 – カリデラの表面にある小さな溶岩の波。
  • 発火物 – カリデラから空に上昇する小さくて軽い溶融岩の断片。
  • 溶岩の跳ね返り – 火山内の内部圧力により、カリデラから飛び出す薄い溶融岩。
  • 溶岩流 – カリデラから流れ出る粘り気のある溶融岩。
  • 煙の立ち上り – カリデラから空に上昇する暖かく漂うガス。
すべての5つのハイライトされたコンポーネントの火山噴火の参照。
参照画像と最終結果を比較するために同じ5つのコンポーネントがハイライトされているサンプルの火山噴火。

以下のセクションでは、これらのコンポーネントを再現するために使用することができる異なるデザインの決定やテクニックに関して詳細な分析を提供します。これらの決定を見直し、さまざまなライティング、ParticleEmitter、およびBeamプロパティを試すことで、ライティングやVFXを利用して自身の体験のユニークな環境要件を解決する方法を学んでいきます。

ライティングの構成

環境の要素を体験の中で注目すべきポイントにするためには、全体の環境に対してコントラストを高めることが重要です。例えば、プレイヤーをカリデラに引き込むために、他の暗い環境の中で火山の溶岩が唯一の光源として輝いて見えるようにライティングソースを構成できます。

Studioは、次の2つの高レベルのライティングソースをこの手法で使用することができます:

  • グローバルライティング - 屋外全体の環境に対してライティングを生成します。
  • ローカルライティング - あなたが体験の中で配置した場所周辺のライティングを生成します。

このチュートリアルのこのセクションでは、火山の噴火をシーン内の最も重要なポイントにするために、両方のタイプのライティングソースを利用する方法と、環境ストーリーテリングに対してドラマティックな効果を作成する方法を教えます。たとえば、カスタムライティングなしでは同じ最終火山が、他の明るい環境内で目立たない危険であるように感じるのに対し、カスタムライティングがある火山は暗く憂鬱な環境の中で危険な存在のように感じさせます。

デフォルトの光源を使用したサンプルの火山噴火の完全版。
デフォルトの光源を使用した場合
カスタム光源を使用したサンプルの火山噴火の完全版。
カスタム光源を使用した場合

ローカルライティング

ローカルライティングは、体験内のローカル光源からの光です。SpotLightSurfaceLight、およびPointLightオブジェクトなどのローカルライティングを火山に追加することは重要です。これにより、明るさをParticleEmitterBeamのテクスチャに適用できますが、カリデラの環境をリアルにシミュレートするために十分な光を満たすことはできません。

ローカルライティングなしのサンプルの火山噴火の完全版。
ローカルライティングなし
ローカルライティングを使用したサンプルの火山噴火の完全版。
ローカルライティングあり

このチュートリアルでは、最初にローカルライティングを構成することが役立ちます。ローカル光源がないと、VFXオブジェクトを構成できる3D空間を見ることができません。しかし、一般的なワークフローでは、VFXオブジェクトに対する変更の効果を確認するために、ローカルおよびグローバルライティングの両方を同時に反復処理する必要があるため、自身の体験のデザイン要件に柔軟であることが重要です。

サンプルVolcano Island - Completeプレースファイルでの火山のローカルライティングを再現するには:

  1. Explorerウィンドウで、すべてのローカル光源オブジェクトを含むためにWorkspaceFolderを作成し、フォルダーの名前をLocalLightingに変更します。

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

  3. パーツを火山の全体に光を当てる位置に移動します。

    1. LightCalderaをカリデラと崖の間の空間の中心に移動します。
    2. LightMagmaをカリデラとマグマ流出の間の割れ目の中心に移動します。
    3. LightOutflowを流出が2つの流れに分かれるところよりも少し上に移動します。
    火山の谷で3つのブロックパーツが配置された前からのビュー。
  4. 各部分にPointlightを挿入します。

    ポイントライトの視覚補助が表示されている3つのブロックパーツの前からのビュー。
  5. LightCalderaPointLightを選択し、Propertiesウィンドウで

    1. Brightness15に設定し、光源をかなり明るくします。
    2. Color255, 85, 0に設定し、光に暗いオレンジ色の色合いをつけます。
    3. Range60に設定し、カリデラエリア全体を照亮します。
    カリデラに最も近いブロック部分がオレンジ色の光を放つようにしている火山の前からのビュー。
  6. LightMagmaLightOutflowPointLightを選択し、Propertiesウィンドウで

    1. Brightness2に設定し、光源を少し明るくします。
    2. Color255, 81, 0に設定し、光にオレンジ色の色合いをつけます。
    3. Range50に設定し、割れ目と流出エリアを照亮します。
    すべてのオレンジ色の光を放つ3つのブロック部分が表示される火山の前からのビュー。
  7. Explorerウィンドウで、LocalLightingフォルダー内のすべてのブロックパーツを選択し、PropertiesウィンドウでTransparency1に設定して、ブロックを見えなくします。

    火山の谷全体にオレンジ色の光がある前からのビュー。

グローバルライティング

グローバルライティングは、体験内で太陽または月からの明るさです。Lightingサービスとその子孫のポストプロセッシング効果オブジェクトでいくつかの重要なデフォルトプロパティを調整することにより、グローバルな光がプレイヤーにどのように表示されるか、ならびに体験内に配置した他の任意のオブジェクトとの相互作用に大きな変化を与えられます。ParticleEmitterBeamテクスチャなど。

たとえば、後のチュートリアルで流れる溶岩効果を生成するBeamテクスチャが輝くことを確認するには、BloomEffectプロパティを構成して、明るい光を見るカメラのようにライティングを誇張する必要があります。同様に、夜間によりリアルな色を模倣するには、環境全体を脱色するように効果のプロパティを調整する必要があります。

ブルームなしのサンプルの火山噴火の完全版。
ブルームなし
ブルームありのサンプルの火山噴火の完全版。
ブルームあり

サンプルVolcano Island - Completeプレースファイルにおけるグローバルライティングを再現するには:

  1. Explorerウィンドウで、Lightingサービスを選択し、Propertiesウィンドウで

    1. Ambient133, 152, 176に設定して、全体の屋外環境にライトグレーの色合いを設定します。
    2. Brightness2に設定して、グローバル光源を少し暗くします。
    3. ColorShift_Top207, 178, 72に設定して、グローバル光源に向かう面から反射する光の黄色の色合いを設定します。
    4. LightingStyleRealisticに設定して、Robloxの最も高度なライティング技術を利用します。
    5. ClockTime4.3に設定して、午前4時15分ごろの時間を設定します。
    6. GeographicLatitude199に設定して、月の位置を変更します。
    7. ExposureCompensation-1に設定して、環境に月からの露出を半分にします。
    暗くなった屋外ライティングの火山の前からのビュー。
  2. Explorerウィンドウで、LightingサービスのBloom子を選択し、Propertiesウィンドウで

    1. Intensity0.75に設定し、環境内のすべての色をわずかに暗くします。
    2. Size80に設定し、より広いブルーム効果を作成します。
    3. Threshold0.85に設定し、環境内のより多くの色が輝くことを許可します。
    暗くなった屋外ライティングとオレンジ色が光っているローカルライティングの火山の前からのビュー。
  3. Explorerウィンドウで、LightingサービスにColorCorrectionオブジェクトを挿入し、Propertiesウィンドウで

    1. Brightness0.017に設定し、ピクセルの色をわずかに変更します。
    2. Contrast0.25に設定し、環境内の明るい色と暗い色の間にシャープなコントラストを作成します。
    3. Saturation-0.15に設定し、環境内の色を脱色します。
    4. TintColor255, 214, 143に設定し、ピクセルに明るい黄色の色合いを与えます。
    真っ黒な屋外ライトとオレンジ色の光を放つローカルライティングの火山を前から見たビュー。
  4. (オプション) 空に雲を挿入して間接光を提供します。

    1. Explorerウィンドウで、TerrainサービスにCloudsオブジェクトを挿入します。
    2. Cloudsオブジェクトを選択し、Propertiesウィンドウで、
      1. Cover1に設定して、空を完全に雲で覆います。
      2. Density0.08に設定し、雲の密度を少なくします。
      3. Color136, 143, 152に設定し、雲の覆いに明るいグレー色を設定します。
    真っ黒な屋外ライティング、灰色の雲、オレンジ色の光を放つローカルライティングの火山の前からのビュー。

火山の構成

ローカルおよびグローバルライティングの構成が完了したので、実際の火山とその周囲の地形に関連するすべてのVFXオブジェクトを構成する時間です。サンプルのVolcano Island .rbxlファイル内で最終的な環境を正確に再現する手順に従いながら、各ステップが環境にキャラクター、動き、明るさを追加するためにどのように機能するかを観察してください。

表面の波紋

表面の波紋は、地下のマグマと圧力のかかったガスが上昇して表面を乱すことによって、カリデラの表面を流れる小さな溶岩の波です。この視覚現象は、浮力作用(温かい流体が表面に上昇する際の流体内の動き)を伝え、シーンのリアリズムを向上させます。

表面の波紋は、プレイヤーに火山の噴火の状態に関する貴重な洞察を提供します。たとえば、マグマとガスが上昇するのに十分な力でカリデラの溶岩の状態を乱し、渦を生じさせる場合、プレイヤーは火山が沸騰するマグマで活発に噴火していると推測し、このゲームプレイエリアの周囲に注意を払うべきであると認識します。

表面の波紋がないカリデラの俯瞰。
表面の波紋がない
表面の波紋がある

このプロセスを示すために、サンプルではカリデラの底部の少し下にParticleEmitterオブジェクトを使用して、暗い背景の上で徐々に拡大しては収縮する平らで明るい粒子を放出します。これにより、粒子は自然の中で要素が移動するリアルな方法に似た形で、滑らかで連続的に渦を巻く溶岩の挙動を模倣することができます。

沸騰する溶岩から生じる波紋を表現する2Dテクスチャ。
泡の波紋テクスチャ = rbxassetid://16811365086

サンプルVolcano Island - Completeプレースファイルでカリデラの上に表面の波紋を再現するには:

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

  2. 表面の波紋に対して高コントラストの背景を提供するバックドロップを作成します。

    1. Calderaフォルダーにblockパーツを挿入し、その名前をBackdropに変更します。

    2. Backdropをカリデラの全体にわたってわずかに超える位置に配置し、スケールを調整します。このパーツはカリデラのローカル光源の近くにあるため、光っているように見えます。

      表面の波紋があるカリデラの俯瞇。黄色の光を放つハイライトされたブロックパーツ。
  3. Backdropを選択し、Propertiesウィンドウで、

    1. Color0, 0, 0に設定して、ブロックを黒にします。

    2. MaterialFoilに設定して、バックドロップにテクスチャを追加します。

      粗いテクスチャの黒いブロック。
  4. 波紋効果を作成します。

    1. Backdropを複製し、名前をMagmaRipplesに変更して、カリデラの表面のサイズにわずかに縮小します。
    2. MagmaRipplesを選択し、PropertiesウィンドウでTransparency1に設定してブロックを透明にします。
    3. MagmaRipplesParticleEmitterを挿入し、エミッタにRipplesという名前を付けます。
    4. Ripplesを選択し、Propertiesウィンドウで
      1. Texturerbxassetid://16829556885に設定し、泡の波紋のように見える粒子を描画します。

      2. OrientationVelocityPerpendicularに設定し、粒子が移動する方向に対して垂直に発射します。

      3. Colorを時間とともに粒子が茶色、明るい赤、マルーンに変わるカラーシーケンスに設定します。

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

        カラーシーケンスの下軸の各三角形は、その点でのプロパティの色値を決定するキーポイントです。

        1. カラーシーケンスに沿った以下の時間と値プロパティを設定します:
        • Time = 0, RGB Value = 130, 53, 2
        • Time = 0.5, RGB Value = 224, 37, 0
        • Time = 1, RGB Value = 147, 5, 0
      4. Sizeを、粒子が寿命の中間でサイズを増加させ、その後、若干の変動を持ちながら元のサイズに戻るような数値シーケンスに設定します。

        1. Sizeプロパティをクリックし、**⋯**ボタンをクリックします。数値シーケンスのポップアップが表示されます。
        サイズの数値シーケンスのグラフのクローズアップ。

        各数値シーケンスの開始と終了の四角形は、左から右に向かうテクスチャのポイントでプロパティのサイズ値を決定するキーポイントです。

        1. 数値シーケンスに沿って以下の時間と値プロパティを設定します:

        • Time = 0, Value = 4.81, Envelope = 0.438
        • Time = 0.341, Value = 8.75, Envelope = 0.48
        • Time = 0.497, Value = 9.38, Envelope = 0.5
        • Time = 0.644, Value = 8.75, Envelope = 0.48
        • Time = 1, Value = 4.81, Envelope = 0.438
      5. Transparencyを、粒子が透明から始まり、寿命の中間でより不透明になり、最後には再び透明になるような数値シーケンスに設定します。

        1. Transparencyプロパティをクリックし、**⋯**ボタンをクリックします。

        2. 数値シーケンスに沿って以下の時間と値プロパティを設定します:

        • Time = 0, Value = 1, Envelope = 0
        • Time = 0.3, Value = 0.387, Envelope = 0.0375
        • Time = 0.5, Value = 0.269, Envelope = 0.0812
        • Time = 0.7, Value = 0.381, Envelope = 0.05
        • Time = 1, Value = 1, Envelope = 0
      6. ZOffset-2に設定して、テクスチャをカリデラからわずかに外れた位置に配置します。

      7. Lifetime5, 8に設定して、各粒子の寿命を5秒から8秒の間にランダムに設定します。

      8. Rate12に設定して、毎秒12粒子を放出します。

      9. Rotation-360, 360に設定して、各粒子を円形にランダムに回転させます。

      10. Speed0.01に設定して、各粒子を毎秒0.1スタッド放出します。

      11. LightEmission1に設定して、粒子を大幅に明るくします。

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

      13. Brightness15に設定して、エミッタから放出される光をスケールします。

発火物

発火物は、カリデラから噴出し、上昇する際に熱を急速に放出する小さくて軽い溶融岩の断片です。表面の波紋と同様に、発火物は地下の内部圧力が上昇し、熱い元素が溶岩の表面張力を破って圧力を解放していることを示します。

サンプルは、このプロセスを再現するために、テクスチャに動きのぼかしを加えた粒子を放出するParticleEmitterオブジェクトを使用しています。粒子が上昇し、寿命の終わりに達したとき、エミッタは粒子を1:1比率に圧縮して円に再形成します。この技術により、粒子はカリデラから急速に移動するように見え、その後、空に消散するときに速度が落ちるように見えます。

カリデラから噴出する発火物を表す2Dテクスチャ。
発火物テクスチャ = rbxassetid://17581858560

さらに、粒子が上昇するにつれて、色、透明度、そしてサイズを変化させて温度の変化を反映します。例えば、粒子は大きな茶色の粒子から始まり、急速に小さなオレンジ色を経てマルーン色の粒子に変わります。この戦略は、峡谷全体のライティングを微妙に反映し、プレイヤーの環境への没入感を高めるという利点もあります。

サンプルVolcano Island - Completeプレースファイル内のカリデラの表面から発火物を再現するには:

  1. Calderaフォルダーにcylinderパーツを挿入し、名前をGlowingEmbersに変更します。

  2. GlowingEmbersを位置して、表面の波紋の上に配置し、カリデラの内部を満たすまでスケールします。このパーツはカリデラのローカル光源の近くにあるため、光っているように見えます。

    カリデラの表面で光っているシリンダーパーツの前からのビュー。
  3. GlowingEmbersを選択し、PropertiesウィンドウでTransparency1に設定して、シリンダーを透明にします。

  4. GlowingEmbersParticleEmitterを挿入し、エミッタにEmbersという名前を付けます。

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

    1. Texturerbxassetid://17581858560に設定し、水平および垂直に細長い粒子を描画します。
    2. OrientationVelocityParallelに設定し、移動する方向に平行に粒子を放出します。
    3. Colorを、粒子が茶色、オレンジ色、そしてマルーン色になるカラーシーケンスに設定します。
    • Time = 0, RGB Value = 130, 53, 2
    • Time = 0.5, RGB Value = 224, 82, 0
    • Time = 1, RGB Value = 147, 5, 0
    1. Sizeを、粒子が寿命を通じてゆっくり減少するような数値シーケンスに設定します。
    • Time = 0, Value = 0.313, Envelope = 0.1
    • Time = 1, Value = 0, Envelope = 0
    1. Squashを持つ数値シーケンスに設定し、粒子が寿命の中間あたりで少し伸びるように設定します。
    • Time = 0, Value = -3, Envelope = 0
    • Time = 0.323, Value = -0.188, Envelope = 0
    • Time = 1, Value = -0.5, Envelope = 0
    1. Transparencyを持つ数値シーケンスに設定し、粒子が上昇する際にランダムに不透明度を変更します。実際の値は重要ではなく、粒子の寿命の間に多くの変化があればよいです。
    1. ZOffset1に設定して、テクスチャをカリデラからわずかに離れた位置に配置します。
    2. Lifetime1, 5に設定して、各粒子の寿命を1秒から5秒の間にランダムに設定します。
    3. Speed5, 8に設定して、各粒子を毎秒5スタッドから8スタッドの間で放出します。
    4. SpreadAngle180, 180に設定して、XおよびZ軸に沿って粒子を放出します。
    5. Acceleration0, 10, 0に設定して、上向きの力をシミュレートし、粒子を空に引き上げます。
    6. Drag0.8に設定して、粒子が指数的に速度を失うようにします。
    7. LightEmission1に設定して、粒子を大幅に明るくします。
    8. LightInfluence0に設定して、環境光が粒子の色に影響を与えないようにします。
    9. Brightness20に設定して、エミッタから放出される光をスケールします。

溶岩の跳ね返り

溶岩の跳ね返りは、内部マグマと圧力のかかったガスが、カリデラ上部の溶岩の表面張力を破るために困難の役割を果たす薄い溶融岩の噴出です。この火山のコアコンポーネントは、火山がもはや休止状態でなく、積極的に噴火していることを判断するための最も一般的な兆候の1つです。

サンプルは、このプロセスを、寿命を通じて各粒子のテクスチャをアニメートするためにフリップブックを利用する2つのParticleEmitterオブジェクトで表現しています。最初の粒子エミッタは、重くて濃いスプラッシュのように見える粒子を放出し、これにより遅く上昇して再び火山に落ちていきます。逆に、2つ目の粒子エミッタは、軽くて薄いウェビーなスプラッシュのように見える粒子を放出し、これにより速く上昇して再び落ちていきます。

濃いスプラッシュテクスチャを表す2Dテクスチャ。
濃いスプラッシュテクスチャ = rbxassetid:/17363669906
ウェビーなスプラッシュテクスチャを表す2Dテクスチャ。
ウェビーなスプラッシュテクスチャ = rbxassetid://17363668312

各粒子エミッタは、64フレームにわたってテクスチャをアニメートし、滑らかでリアルな物理的振る舞いを模倣します。1つの粒子エミッタだけを使用することもできますが、アニメーションの繰り返しが明らかになって、プレイヤーの没入感が破壊されてしまいます。しかし、2つの粒子がわずかに異なるカスタムプロパティを持つフリップブックをアニメートする場合、繰り返しを見つけるのがはるかに困難です。

サンプルでは、エアレーション効果を生成するParticleEmitterオブジェクトを提供し、さらに軽いウェビーなスプラッシュを表現します。この技術により、空間は動的な動きで満たされ、フリップブックアニメーションの繰り返しがさらに隠されます。また、体験にCreating Waterfallsが含まれている場合は、異なるゲームプレイエリアで同じテクスチャを再利用でき、メモリを節約し、低性能デバイスでのパフォーマンスを向上させることができます。

エアレーションされたスプラッシュを表す2Dテクスチャ。
ウェビー・テクスチャ = rbxassetid://17082061238

サンプルVolcano Island - Completeプレースファイル内のカリデラの表面から跳ね返る溶岩を再現するには:

  1. Calderaフォルダーにcylinderパーツを挿入し、名前をSplashingLavaに変更します。

  2. SplashingLavaを表面の波紋の上に配置し、溶岩が弾ける中央となる場所をカバーするまでスケールを調整します。このパーツはカリデラのローカル光源に近いため光っているように見えます。

    カリデラの上で光っているシリンダーパーツの前からのビュー。
  3. SplashingLavaを選択し、PropertiesウィンドウでTransparency1に設定し、シリンダーを透明にします。

  4. SplashingLavaParticleEmitterを挿入し、エミッタにWebbySplashesという名前を付けます。

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

    1. Texturerbxassetid://17363668312に設定し、ウェビーなスプラッシュのように見える粒子を描画します。
    2. OrientationFacingCameraWorldUpに設定し、カメラに向かう粒子ですが、垂直の上方向にのみ回転するようにします。
    3. Color255, 152, 79に設定し、粒子に明るいオレンジ色の色合いを追加します。
    4. Sizeを、粒子が寿命を通じてサイズを拡大するような数値シーケンスに設定します。
    • Time = 0, Value = 4.31, Envelope = 0.762
    • Time = 1, Value = 6.2, Envelope = 0.875
    1. Squashを持つ数値シーケンスに設定し、粒子が寿命の間にわずかに伸びるようにします。
    • Time = 0, Value = -0.075, Envelope = 0.263
    • Time = 1, Value = -0.413, Envelope = 0.412
    1. ZOffset1に設定して、テクスチャをカリデラからわずかに離れた位置に配置します。
    2. Lifetime1.5, 2に設定して、各粒子の寿命を1.5秒から2秒の間にランダムに設定します。
    3. Rate0.37に設定して、約3秒ごとに粒子を放出します。
    4. RotSpeed-20, 20に設定して、各ポリシーを-20度から20度の間でランダムに放出します。
    5. Speed2に設定して、各粒子を毎秒2スタッド放出します。
    6. SpreadAngle5, 5に設定して、XおよびZ軸に沿った小さな角度で粒子を放出します。
    7. FlipbookLayoutGrid8x8に設定して、64フレームでテクスチャをアニメートします。
    8. FlipbookModeOneshotに設定して、アニメーションが寿命の間に1回だけ再生されるようにします。
    9. Drag0.5に設定して、粒子が指数的に速度を失うようにします。
    10. LightEmission0.1に設定して、粒子をわずかに明るくします。
    11. LightInfluence0.25に設定して、環境光が粒子の色に与える影響を大幅に低下させます。
  6. DenseSplashesを複製し、Propertiesウィンドウで以下のプロパティを変更して追加の溶岩スプラッシュに変化をもたらします。

    1. NameDenseSplashesに設定します。
    2. Texturerbxassetid://17363669906に設定して、密なスプラッシュのように見える粒子を描画します。
    3. Sizeを、粒子が寿命を通じてサイズを増加するような数値シーケンスに設定します。
    • Time = 0, Value = 5.75, Envelope = 0.762
    • Time = 1, Value = 7.37, Envelope = 0.875
    1. Squashを持つ数値シーケンスに設定し、粒子が寿命の間にわずかに伸びるようにします。
    • Time = 0, Value = 0, Envelope = 0.225
    • Time = 1, Value = -0.262, Envelope = 0.15
    1. Rate0.289に設定して、粒子をほぼ毎4分の1秒で放出します。
  7. カリデラに追加のスプラッシュを補充します。

    1. SplashingLavaParticleEmitterを挿入し、エミッタにSplashFillという名前を付けます。

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

      1. Texturerbxassetid://17082061238に設定して、軽いウェビーなスプラッシュのように見える粒子を描画します。
      2. OrientationFacingCameraWorldUpに設定し、カメラに向かう粒子ですが、垂直の上方向にのみ回転するようにします。
      3. Color255, 152, 33に設定して、粒子をオレンジ色の色合いで染めます。
      4. Sizeを、粒子が寿命を通じてサイズを増加するような数値シーケンスに設定します。
      • Time = 0, Value = 1.25, Envelope = 0.388
      • Time = 1, Value = 6.38, Envelope = 0.563
      1. Transparencyを持つ数値シーケンスに設定し、粒子が透明から始まり、Opaque 赤く再び透明になるように設定します。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.19, Value = 0, Envelope = 0
      • Time = 0.795, Value = 0, Envelope = 0
      • Time = 1, Value = 1, Envelope = 0
      1. ZOffset1に設定して、テクスチャをカリデラからわずかに離れた位置に配置します。
      2. Lifetime1.5に設定して、各粒子の寿命を1.5秒に設定します。
      3. Rate8に設定して、8秒ごとに粒子を放出します。
      4. Rotation0, 360に設定して、各粒子を半円の中でランダムに回転させます。
      5. RotSpeed-50, 50に設定して、粒子を-50度から50度の間でランダムに放出します。
      6. Speed12, 20に設定して、粒子を毎秒12スタッドから20スタッドの間でランダムに放出します。
      7. SpreadAngle45, 45に設定して、XおよびZ軸に沿った角度で粒子を放出します。
      8. Acceleration0, -25, 0に設定して、重力をシミュレートし、粒子を戻すようにします。
      9. Drag1に設定して、粒子が指数的に速度を失うようにします。
      10. LightEmission1に設定して、粒子を大幅に明るくします。
      11. LightInfluence0に設定して、環境光が粒子の色に影響を与えないようにします。
      12. Brightness8に設定して、エミッタから放出される光をスケールします。

溶岩流

溶岩流は、火山の噴火中にカリデラから噴出し、地球の表面をゆっくりと流れる溶岩の塊です。溶岩は空気にさらされることで冷却され、固化し、固体岩に変わり、新たな陸地を形成します。

このプロセスをシミュレートするために、サンプルは、カリデラからさらに離れた場所まで移動する際に冷却される溶岩の行動特性を模倣するために、シームレスなテクスチャとプロパティ構成を持つ複数のBeamオブジェクトを重ねています:

  • 底層は、色を温かい色から冷たい色に変化させつつ、溶岩が温度を下げ始めることを伝える平坦な色を描画します。
  • 中間層は、暗い地殻のように見える黒いテクスチャを描画し、下にある溶岩の炎を明らかにする穴を持っています。
  • 最上層も中間層と同じテクスチャを、より遅い速度で、逆に接続されて、それぞれ異なるプロパティ構成で描画します。このことは、全く同じ方向でレンダリングする際にテクスチャが完全に重ならないようにし、プレイヤーが非現実的なテクスチャの繰り返しを容易に見つけられないようにします。
底層
中間層
最上層

3つのBeamオブジェクトを重ねることで、溶岩が異なる速度で流れているように見える奥行きとボリュームの錯覚を作り出します。これにより、溶岩の表面およびその下の動きの渦の感覚をプレイヤーに知らせます。

流れる溶岩の上の地殻を表す2Dテクスチャ。
地殻テクスチャ = rbxassetid://17023930265

サンプルVolcano Island - Completeプレースファイル内のカリデラから流れる溶岩を再現するには:

  1. Explorerウィンドウで、すべての流れる溶岩オブジェクトを含むフォルダーをWorkspaceに作成し、そのフォルダーにFlowingMagmaという名前を付けます。

  2. FlowingMagmaフォルダーにblockパーツを挿入し、名前をMagmaRiverBeamに変更します。

  3. MagmaRiverBeamをカリデラの端の直下に移動します。

    カリデラの端にハイライトされたブロックパーツの角度付き俯瞰。
  4. 流れる溶岩ビームがテクスチャをレンダリングするために使用する取り付け部品をすべての流れる溶岩ビームに挿入します。

    1. MagmaRiverBeamに取り付け部品を挿入し、取り付け部品がカリデラを表示するように回転させます。
    2. MagmaRiverBeamにもう1つの取り付け部品を挿入し、割れ目の分岐の方向に配置し、取り付け部品が地下に向くように回転させます。
    2つの取り付け部品の視覚的補助が強調された火山の傾斜した角度付き俯瞰。
  5. MagmaRiverBeamBeamを挿入し、名前をMagmaに変更します。

  6. パーツの取り付け部品をMagmaに割り当てます。

    1. ExplorerウィンドウでMagmaを選択します。
    2. Propertiesウィンドウで、
      1. Attachment0をカリデラの端の取り付け部品に設定します。
      2. Attachment1を割れ目の分岐の取り付け部品に設定します。ビームは2つの取り付け部品の間にデフォルトのテクスチャをレンダリングします。
    2つのブロックパーツの間にデフォルトビームテクスチャをレンダリングしている火山の前からのビュー。
  7. ビームのビジュアル外観をカスタマイズして、流れる溶岩のように見えるようにします。

    1. Explorerウィンドウで、Magmaが選択された状態であることを確認します。

    2. Propertiesウィンドウで、

      1. Width050に設定して、レンダリングが開始される軸からテクスチャを広げます。
      2. Width150に設定して、割れ目の分岐に当たるとテクスチャを広げます。
      3. CurveSize0-50に設定して、テクスチャが割れ目の底から外れるようにします。
      4. CurveSize15に設定して、テクスチャを割れ目の分岐に向けます。
      5. Colorを、溶岩が冷え始めるために明るい赤から暗い赤に変化するカラーシーケンスに設定します。
      • Time = 0, RGB Value = 255, 51, 0
      • Time = 0.5, RGB Value = 211, 39, 0
      • Time = 1, RGB Value = 118, 24, 0
      1. Transparencyを、取り付け部品の間で溶岩がより鮮やかに見えるようになる数値シーケンスに設定します。
      • Time = 0, Value = 1
      • Time = 0.0916, Value = 0
      • Time = 0.867, Value = 0
      • Time = 0.941, Value = 0.725
      • Time = 1, Value = 1
      1. LightEmission1に設定してビームを非常に明るくします。
      2. LightInfluence0に設定して、環境光がビームの色に影響を与えないようにします。
      3. Brightness8に設定して、ビームから放出される光をスケールします。
  8. 別のBeamMagmaRiverBeamに挿入し、名前をCrust1に変更し、取り付け部品をCrust1に接続します(手順6のプロセスを使用)。

  9. ビームのビジュアル外観をカスタマイズして、溶岩の上に地殻があるように見えるようにします。

    1. Explorerウィンドウで、Crust1が選択された状態であることを確認します。

    2. Propertiesウィンドウで、

      1. Texturerbxassetid://17023930265に設定して、流れる地殻のように見える新しいテクスチャをレンダリングします。
      2. Width035に設定して、レンダリングが開始される軸からテクスチャを広げます。
      3. Width125に設定して、割れ目の分岐に当たるとテクスチャを広げます。
      4. TextureSpeed0.01に設定して、テクスチャの流れを大幅に遅くします。
      5. TextureLength3に設定して、テクスチャの長さをわずかに引き伸ばします。1. CurveSize0-50 に設定して、テクスチャが亀裂の床から離れるようにカーブさせます。
      6. CurveSize15 に設定して、テクスチャを亀裂の分岐に沿ってカーブさせます。
      7. Color を 83, 83, 83 に設定して、ビームを灰色に着色します。
      8. Transparency を数値のシーケンスに設定して、付着点の間で地殻がより鮮やかになるようにします。
      • Time = 0, Value = 1
      • Time = 0.22, Value = 0
      • Time = 0.85, Value = 0
      • Time = 1, Value = 1
      1. ZOffset1 に設定して、テクスチャがカルデラからわずかに離れるようにオフセットします。
  10. Crust1 を複製して Crust2 と名前を変更し、Properties ウィンドウで、

    1. Attachment0 を亀裂の分岐の取り付け部分に設定します。
    2. Attachment1 をカルデラの端の取り付け部分に設定します。
    3. Width025 に設定して、テクスチャが描画を開始する軸から広げます。
    4. Width135 に設定して、テクスチャが亀裂の分岐に達する時に広がるようにします。
    5. TextureSpeed-0.008 に設定して、テクスチャの流れを大幅に遅くします。
    6. TextureLength2 に設定して、テクスチャの長さをわずかに不伸縮にします。
    7. CurveSize0-5 に設定して、テクスチャが亀裂の床から離れるようにカーブさせます。
    8. CurveSize150 に設定して、テクスチャを亀裂の分岐に沿ってカーブさせます。
    9. ZOffset2 に設定して、他の地殻からテクスチャをオフセットします。
  11. (オプション) この同じプロセスを使用して、亀裂の分岐周辺にさらにビームを作成してマグマを派生させます。テクスチャを遅くし、冷却されるにつれて色が暗くなるマグマをシミュレートするためにプロパティを調整することを忘れないでください。

煙の噴煙

カルデラからの 煙の噴煙 は、暖かい圧力ガス、蒸気、および火山灰を大気中に放出します。この火山排出物の混合物は現実の世界で何マイルも見えるため、火山のデザインには大きな煙の噴煙が3D空間での重要な興味のポイントとして組み込まれることがよくあります。

爆発的な噴火の直後に見られる厚い火山灰の煙を放出するのではなく、サンプルでは ParticleEmitter オブジェクトを使用して、上昇するにつれて色が変わる薄い煙の蒸気のような粒子を放出します。この技法は二つの目的を達成します:

  • 背景のクレーターのシルエットを壊して、火山の噴火周辺により視覚的な興味を生み出します。
  • 煙が環境の光を受け入れているように見える一方で、煙が空気中に不純物を燃やしているかのように暗い存在を放出します。最終的には夜空のような灰色になります。
カルデラから上がる煙を表す2Dテクスチャ。
煙のテクスチャ = rbxassetid://16830667309

サンプル Volcano Island - Complete プレースファイルからカルデラの煙の噴煙を再現するには:

  1. Caldera フォルダに ブロック パーツを挿入し、SmokePlume と名前を変更します。

  2. SmokePlume をカルデラの下に配置し、カルデラの表面積の大きさに約合うようにスケールします。

    カルデラの下にハイライトされたブロックパーツの傾斜した側面図。
  3. SmokePlumeParticleEmitter を挿入し、発射体の名前を Smoke に変更します。

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

    1. Texturerbxassetid://16830673704 に設定して、厚い煙のような粒子を描画します。
    2. Color を、粒子がカルデラから空に向かって環境の光をシミュレートする色シーケンスに設定します。黒から始まり、薄い桃色から灰色へと変わります。
    • Time = 0, RGB Value = 0, 0, 0
    • Time = 0.374, RGB Value = 195, 104, 76
    • Time = 0.469, RGB Value = 225, 121, 86
    • Time = 0.709, RGB Value = 111, 111, 111
    • Time = 1, RGB Value = 113, 113, 113
    1. Transparency を、粒子が透明から始まり、寿命の初期に完全に不透明になり、寿命の終わり近くで再び透明になる数値シーケンスに設定します。
    • Time = 0, Value = 1
    • Time = 0.0622, Value = 0
    • Time = 0.845, Value = 0
    • Time = 1, Value = 1
    1. ZOffset-10 に設定して、テクスチャをカルデラの上部に近くオフセットします。
    2. Lifetime50, 60 に設定して、各粒子の寿命を50秒から60秒の間でランダムに設定します。
    3. Rate0.3 に設定して、約3秒ごとに粒子を放出します。
    4. Rotation-360, 360 に設定して、各粒子を円の中でランダムに向けます。
    5. RotSpeed-5, 5 に設定して、各粒子を-5から5度の間でランダムに放出します。
    6. SpreadAngle5, 5 に設定して、X軸とZ軸に沿って小さな角度で粒子を放出します。
    7. Acceleration0, 7, 0 に設定して、上向きの力をシミュレーションし、粒子を空に引き上げます。
    8. Drag1 に設定して、粒子が指数関数的に速度を失います。
    9. WindAffectsDrag を有効にして、環境の風が煙を押し流します。
    10. LightEmission0.1 に設定して、粒子をわずかに明るくします。
    11. LightInfluence0.06 に設定して、環境の光が粒子の色に与える影響を大幅に減少させます。
  5. Command Bar に以下の文字列を入力して、各粒子のサイズを40から100スタッドに、わずかな変動を持って寿命の間で増加させます:


    workspace.Caldera.SmokePlume.Smoke.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,40,5), NumberSequenceKeypoint.new(1,100,15)}
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。