创建瀑布使用 VFX

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

瀑布是一种河或水流在一或多个垂直下垂入水体的水流。体验通常包括水上美学体验,例如为环境提供视觉美学效果,例如为视觉中心创建视觉点 of interest 或为功能游戏目的地,例如隐藏资源或将玩家转换到不同区域。

使用 Waterfall Island.rbxl 文件作为参考,本教程向您展示如何使用 VFX 对象表示实体世界物理行为,包括以下指示:

  • 将引用材料分解为具有不同视觉和行为特性的个별组件。
  • 配置随着不同速度下降的水滴叠,以模拟水在下降从悬崖降落时散射。
  • 配置喷溅以模拟水在衰减池与基础池之间形成气泡。
  • 配置白色水域以模拟涡流水域,其出流撞击岩石。
  • 配置泡沫以模拟纤维波纹打破表面张力。
  • 配置雾霾以模拟雾霾气味从打击点升起并向上,创建一个彩虹玩家可以从任意角度查看。

分解参考

要创建可信的瀑布,请在设计过程中参考真实世界的自然特性,因为它可以让您将主题分解为具有独特视觉和行为特性的个별组件。例如,样例 瀑布岛 体验在华盛顿州中参考 Snoqualmie 瀑布来 inform all 材质和 VFX 设计决定关于瀑布和周围地形的所有 текстуры和行为。

A far out view of Snoqualmie Falls.

虽然瀑布是一个不断、连接的水流,它涉及多个物质状态、动态流体和空气运动,但它的用处是将这个复杂系统分解为单个组件,以便您可以计划如何使用不同的 VFX 对象来模拟其实体世界的对应。要示例,这个教程将示例水fall分为五个独特组件:

  • 瀑布 – 从悬崖下降的水。
  • 飞溅水 – 水花在瀑布冲击时会与水下的泳池池底发生碰撞。
  • 白色水域 – 随着水源的水域离开水面,它将靠近悬崖的边缘。
  • 泡沫 – 水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水泳池上的水泡水
  • 迷雾 – 结雾的水,在空气中蒸发出总体水fall的水。
Snoqualmie Falls with all five components highlighted.
The sample waterfall with the same five components highlighted to compare the reference image with the final result.

下面的部分提供了关于您可以使用来重现样本 3D 空间中主要掉落的每个水fall 部件的不同设计决策和技术的深度分析。当您查看这些决策并尝试各种 BeamParticleEmitter 属性时,您将学习如何使用 VFX 解决独特的环境要求为您自己的体验。

配置水下摇摆

水池 是从悬崖或悬崖的边缘倒下的水,通常在水池的底部形成坡道。水池的水量随着水的量和水的高度而下降。例如,样本的主要水滴似乎会更慢地从水池倒下,因为有一大量的水正在从大范围内流向,但样本的第二

主要掉落
第二个掉落

此外,瀑布通常有多个层级的瀑布,因为水会随着下降到坡道池中而散射。为了展示此原理,样例使用多个 Beam 对象,其中有些具有滑稽的纹理,在瀑布从上到下移动

这个瀑布看起来很自然,因为水会下降并在各种速度下分散。
这个瀑布看起来不自然,因为水会下降并在同样的评分度分散。

要重现样本中的主要水fall island 地方文件:

  1. 创建用于叠水的出口。

    1. Explorer 窗口中,在 Workspace 中创建一个 Folder 以容纳所有出口对象,然后重命名文件夹 1> Outflow1>。

    2. 将两个 部分插入 出口文件夹 ,然后分别命名为 出口开始 和 1> 出口停止1>。

    3. OutflowStart 移动到您想要的出流位置,并将 OutflowStop 移动到悬崖边缘。

      An angled top-down view of the outflow water with two block parts positioned where the outflow texture should render.
    4. 将附件插入 both OutflowStartOutflowStop ,然后旋转附件直到黄色视觉助手指向上。

      An angled top-down view of the outflow water with two block parts that include attachements where the yellow visual aids point upward.
    5. 光束 插入 排水 文件夹,然后将其重命名为 OutflowWater

    6. 将每个零件的附件分配到 OutflowWater

      1. Explorer 窗口中,选择 OutflowWater
      2. 属性 窗口中,
        1. 附件0 设置在 OutflowStart 的附件上。
        2. 附件1 设置在 OutflowStop 上的附件上。 光束在两个附件之间渲染其默认纹理。
      An angled top-down view of the outflow water with two block parts rendering the default beam texture between the attachments.
    7. 自定义光束的视觉外观,让它看起来像是水流经过悬崖边缘的水。

      1. 探险器 窗口中,验证 OutflowWater 仍然是选中的。
      2. 属性 窗口中,
        1. 纹理 设置为 rbxassetid://4787437624 以渲染一个类似泡沫的新纹理。

        2. 宽度0 设置为 60 以宽度从轴开始渲染。

        3. 宽度 1 设置为 20 以将纹理传递到悬崖边缘。

        4. TextureSpeed 设置为 0.4 以减慢纹理流的速度。

        5. TextureLength 设置为 64 以伸展纹理的长度。

        6. 材质模式 设置为 包装 重复材质到 3D 世界中的光束总长度在 材质长度 之间,以便能够让材质看起来更像水流。

        7. 颜色 设置为一个从黑色到浅蓝色到白色的颜色序列。

          1. 单击 颜色 属性,然后单击“⋯”按钮。一个颜色序列弹出显示。

            A close up view of Studio's Properties window with the Color property's ellipsis button highlighted.

            颜色序列的底轴上的每个三角形是一个 钥匙点 ,它在粒子生命时间的该点的颜色值决定。

          2. 在颜色序列中设置以下时间和值属性:

            • 时间 =0RGB值 =0> 208,247,2550>
            • 时间 = 0.135RGB值 = 0> 146, 235, 2550>
            • 时间 = 0.248RGB值 = 0> 255, 255, 2550>
            • 时间 = 0.384RGB值 = 0> 128, 183, 2020>
            • 时间 = 0.757RGB 值 = 0> 166, 213, 2480>
            • 时间 = 1RGB 值 = 0> 255, 255, 2550>
        8. 透明度 设置为数字顺序,使水随着接近悬崖边缘而变得更加振动。

          1. 单击 透明度 属性,然后单击“⋯”按钮。一个数字顺序弹出显示。 默认情况下,图形是一个直线,图像从左到右保持相同的透明度。

            A close up view of the Transparency number sequence graph.

            数字序列的开始和结束各个方块是一个 键点 ,它在左到右的材质上的每个方块的透明度值。

          2. 在数字顺序中设置以下时间和值属性:

            • 时间 = 0 = 0> 10>
            • 时间 =0.375 =0>0.7250>
            • 时间 = 0.615 = 0> 00>
            • 时间 =0.92 =0>10>
            • 时间 = 1 = 0> 10>
        9. 将每个零件缩放到确保纹理覆盖出口池的宽度。 出口现在似乎向悬崖边从所有角度流向边缘。

  2. 创建主要掉落的快速水流。

    1. Explorer 窗口中,在 Workspace 中创建一个 Folder 以容纳所有水对象,然后重命名文件夹 1> Cascades1>。

    2. 将两个 部分插入 层级结构 文件夹,然后分别命名为 MainDropStart 和 1> MainDropStop1>。

    3. 主要掉落开始 移动到 主要掉落停止 的边缘,并将主要掉落停止移动到1>坠落池1>下面。

      An angled side view of the cliff with two block parts positioned where the fast running cascade texture should render.
    4. 配置主要掉落的所有水柱,以便为其渲染其纹理。

      1. 将附件插入 主要掉落开始 ,然后旋转附件直到黄色视觉助推点离开悬崖。
      2. 将附件插入 主要掉落停止 ,然后旋转附件直到黄色视觉助手指向从悬崖。
      An angled side view of the cliff with two block parts that include attachements. The block part at the top of the cliff includes a yellow visual aid that points away from the cliff, and the block part at the bottom of the cliff includes a yellow visual aid that points toward the cliff.
    5. 光束 插入 衰减 文件夹,然后重命名为 FastDrop

    6. 将每个零件的附件分配到 快速丢弃

      1. 在 Explorer 窗口中,选择 快速丢弃 。
      2. 属性 窗口中,
        1. 附件0 设置在 主要投放开始 的附件上。
        2. Attachment1 设置在 MainDropStop 上的附件上。 光束在两个附件之间渲染其默认纹理。
      An angled side view of the cliff with two block parts rendering the default beam texture between the attachments.
    7. 自定义光束的视觉外观,让它看起来像主要掉落的快速水。

      1. 在 Explorer 窗口中,验证 快速丢弃 仍然是选中的。

      2. 属性 窗口中,

        1. 纹理 设置为 rbxassetid://16808804567 以渲染一个类似水溅的新纹理。

        2. 宽度0 设置为 5 以宽度从始于渲染的轴上展开 тексту。

        3. 宽度 1 设置为 10 以宽扁平面纹理。

        4. CurveSize0 设置为 10 以将纹理从悬崖上弯曲。

        5. CurveSize1 设置为 20 以将纹理曲线到坡水池。

        6. 材质速度 设置为 1.3 以使材质流量快速。

        7. TextureLength 设置为 2 以稍微伸长 纹理的长度。

        8. 颜色 设置为一个从黑色到浅蓝色到白色的颜色序列。

        • 时间 =0RGB值 =0> 208,247,2550>
        • 时间 = 0.135RGB值 = 0> 210, 246, 2550>
        • 时间 = 0.25RGB值 =0> 255, 255, 2550>
        • 时间 = 0.384RGB值 = 0> 163, 187, 2020>
        • 时间 = 0.757RGB值 = 0> 214, 229, 2480>
        • 时间 = 1RGB 值 = 0> 255, 255, 2550>
        1. 透明度 设置为数字顺序,允许水在附件点之间更振作。

        • 时间 = 0 = 0> 10>
        • 时间 =0.115 =0>00>
        • 时间 = 0.835 = 0> 00>
        • 时间 =0.881 =0>.9940>
        • 时间 = 1 = 0> 10>
        1. ZOffset 设置为 2 来将纹理从悬崖上稍微移除。
        2. 启用 面相机 以确保水的水平水平无论玩家从水面的角度如何都能看到。
  3. 创建主要掉落的慢速水。

    1. 复制 FastDrop ,然后重命名复制的光束 SlowDrop

    2. 自定义光束的视觉外观,让它看起来像主要掉落的快速水。

      1. Explorer 窗口中,选择 慢速丢弃
      2. 属性 窗口中,
        1. 宽度 1 设置为 20 以更进一步宽泛纹理,满足潜水池。
        2. TextureLength 设置为 1.5 以稍微缩短纹理的长度。
        3. 材质速度 设置为 1 以使材质流量更慢。
        4. ZOffset 设置为 0 以允许 тексту直接从悬崖边缘流动。
  4. Explorer 窗口中,选择 Outflow 文件夹中的所有块部分,然后在 属性 窗口中,将 1> 透明度1> 设置为 4> 14> 以隐藏块。

配置飞溅

当瀑布影响底部泳池的密度时,水从冲击点向上推动,产生 飞溅 。随着这些溅水从上而下挺出,它们会扩展并从自身分离以产生散落在各个方向的水滴。

为了示例此过程,样本使用在主要掉落处使用两个 ParticleEmitter 对象在基础上。第一个粒子发射器会发出像水面溅射一样重的水的粒子,代表水开始上升时起始重量。第二个粒子发射器会发出像水滴一样重的粒子,代表水开始变成气体。

当您配置这些发射器将同时但不同速度发射这两种粒子时,结果视觉效果会模拟物理世界的物理行为。这些类型的细节对于您的 VFX 的现实主义有贡献,并将玩家置于 3D 空间中。

The 2D texture that represents heavily aerosolized water before it breaks apart.
密度文本 = rbxassetid://16829556885
The 2D texture that represents heavily aerosolized water as it breaks apart.
水滴纹理=rbxassetid://17082061238

要重现样本中的主要水fall Island 水fall 地方文件的水花:

  1. Explorer 窗口中,在 Workspace 中创建一个 Folder 以容纳所有飞溅对象,然后重命名文件夹 1> Splashes1>。

  2. 部分插入 飞溅 ,然后重命名为 MainDropSplashes

  3. 将位置和缩放 主要掉落水花 到可以在池子上落下的完整表面区域。

    A close up view of the bottom of the cliff with a block part positioned at the point where the cascades impact the plunge pool.
  4. 创建主要掉落的水瀑布对潜水池造成冲击。

    1. ParticleEmitter 插入 主要投射 ,然后重命名 emitter SplashDense

    2. 选择 SplashDense ,然后在 属性 窗口中,

      1. 纹理 设置为 rbxassetid://16829556885 以渲染类似于密集溅射的粒子。

      2. 颜色 设置为开始为蓝色,然后变为白色的颜色顺序。

      • 时间 =0RGB值 =0> 189,246,2550>
      • 时间 = 1RGB 值 = 0> 255, 255, 2550>
      1. 大小 设置为一个数字序列,其大小始终保持不变,并且可以通过窗口变化。

      • 时间=0 =0>1.810>,3>包装3>= 6>0.562 6>
      • 时间=1 =0> 5.750>,3>包装3>= 6> 1.31 6>
      1. 透明度 设置为一个数字序列,在 which 粒子开始为透明,变得不透明,然后再次变为透明在其生命时间内,大大窗口的变化。

      • 时间 = 0 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      • 时间=0.5 =0>0.1810>,3>包装3>= 6>0.181 6>
      • 时间 = 1 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      1. 将 使用期 设置为 0.25, 0.35 随机设置每个粒子的使用期在 250 到 350 毫秒之间。
      2. Rate 设置为 30 以发射 30 粒子每秒。
      3. 旋转 设置为-45, 45,随机将每个粒子在 -45 和 45 度之间转换。
      4. RotSpeed 设置为 -40, 40 随机发出每个粒子在 -45 和 40 度之间。
      5. 速度 设置为20, 35随机发射每个粒子在20和35每秒钟之间。
      6. SpreadAngle 设置为 50, 50 以发射在 X 和 Z 轴上沿角度发射粒子。
      7. 加速度 设置为 0, -40, 0 来模拟重力并将粒子向下拉动。
      8. 将 光发射器发射光量设置为 0.5 以照亮粒子。
      9. LightInfluence 设置为 0.1 以显著减少环境灯对粒子颜色的影响。
  5. 创建主要投放水影响泳池的水滴。

    1. 复制 冲击聚集力 ,然后重命名为 冲击水滴

    2. 选择 SplashDroplets ,然后在 属性 窗口中,

      1. 纹理 设置为 rbxassetid://17082061238 以渲染像水滴一样的粒子。

      2. 大小 设置为快速增加大小的数字序列,并使用窗口的变化来增加其大小。

      • 时间=0 =0>1.810>,3>包装3>= 6>0.562 6>
      • 时间=1 =0> 8.690>,3>包装3>= 6> 1.31 6>
      1. 透明度 设置为一个数字序列,在 which 粒子开始为透明,快速变为不透明,然后慢慢开始变为透明再 在它们的生命时间的中间。

      • 时间 = 0 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      • 时间 = 0.104 , = 0> 0.06250> , 3> 包装 3> = 6> 0.0625 6>
      • 时间 = 0.429 , = 0> 0.05620> , 3> 包装 3> = 6> 0.0562 6>
      • 时间 = 1 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      1. 将 Lifetime 设置为 0.15, 0.6 随机设置每个粒子的生命时间在 150 到 600 毫秒之间。
      2. Rate 设置为 20 发射 20 粒子每秒。
  6. 在 Explorer 窗口中,选择 Splashes 文件夹中的所有块部分,然后在 Properties 窗口中,将 1>Transparency1> 设置为 4>14> 以隐藏块,然后在 7>窗口7> 中将 9>Opacity9> 设置为 0> 1> 1 1> 以隐藏隐藏块。

配置白色水

白色水 由水源变得更不稳定,当它靠近其下降并碰到物体时,它的水面会变得网状,因此这会导致在水源中加入的空气泡泡增加而导致水面变得白色。

为了模拟此过程,样本使用两个 ParticleEmitter 对象,发出像重型气泡冲击波一样看起来的粒子,其中出口撞到岩石边缘的悬崖上。发射器不使用照明,而是优先考虑白色和灰色色调,以显示水中的空气量。

The 2D texture that represents heavily aerosolized water as it crashes into boulders.
白色水域纹理=rbxassetid://16808075391

要重现在样本中白色水流与岩石在样本中碰撞时的白色水流:

  1. Explorer 窗口中,在 工作区 中创建一个 文件夹 来容纳所有白色水对象,然后重命名文件夹 1> WhiteWater1> 。

  2. 部分插入 WhiteWater ,然后重命名它 MainDropWW .

  3. 主要投放 在主页,将主页扩展到主页。

    A angled side view of the top of the cliff with a block part positioned at the point where outflow begins to flow over the cliff.
  4. 创建一个涡流较小的白色水域,主要出口与周围的岩石碰撞。

    1. ParticleEmitter 插入 MainDropWW ,然后重命名 emitter GentleWW

    2. 选择 GentleWW ,然后在 属性 窗口中,

      1. 纹理 设置为 rbxassetid://16808075391 以渲染像网格分割的粒子。

      2. 颜色 设置为开始为蓝色,然后变为白色的颜色顺序。

      • 时间 =0RGB值 =0> 189,246,2550>
      • 时间 = 1RGB 值 = 0> 255, 255, 2550>
      1. 大小 设置为一个数字序列,其大小始终保持不变,并且可以通过窗口变化。

      • 时间=0 =0>1.130>,3>包装3>= 6>0.562 6>
      • 时间=1 =0> 5.560>,3>包装3>=6> 0.5636>, 9>封面 9>=0> 5.560>
      1. 透明度 设置为一个数字序列,在 which 粒子开始为透明,然后在半径为半透明,然后有轻微的峰,以便在其生命时间内透明。

      • 时间 = 0 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      • 时间 = 0.143 , = 0> 0.4620> , 3> 包装 3> = 6> 0.0625 6>
      • 时间 = 0.336 , = 0> 0.4620> , 3> 包装 3> = 6> 0.0562 6>
      • 时间 = 0.622 , = 0> 0.7880> , 3> 包装 3> = 6> 0.0538 6>
      • 时间 = 1 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      1. ZOffset 设置为 2 来将纹理从悬崖上稍微移除。
      2. 将 使用期 设置为 1.25, 1.5 随机设置每个粒子的使用期在 1250 到 1500 毫秒之间。
      3. Rate 设置为 12 发射 12 粒子每秒。
      4. 旋转 设置为-45, 45,随机将每个粒子在 -45 和 45 度之间转换。
      5. RotSpeed 设置为 -40, 40 随机发出每个粒子在 -45 和 40 度之间。
      6. 速度 设置为 15, 18 随机发射每个粒子在 20 到 35 每秒钟之间。
      7. SpreadAngle 设置为 5, 5 以发射在 X 和 Z 轴上小角度的粒子。
      8. 加速度 设置为 0, -35, 0 来模拟重力并将粒子向下拉动。
      9. 拖动 设置为 0.25 以使粒子在呈指数下降的速度发生变化。
      10. 将 光发射器发射光量设置为 0.6 以照亮粒子。
      11. LightInfluence 设置为 0.1 以显著减少环境灯对粒子颜色的影响。
  5. 创建主要出口与周围岩石碰撞的更多涡流白水。

    1. 复制 GentleWW ,然后重命名为 TurbulentWW

    2. 选择 TurbulentWW ,然后在 属性 窗口中

      1. 大小 设置为一个数字序列,其大小与窗口的变化有一些微的增加。

      • 时间=0 =0> 1.60>,3>包装3>= 6> 0.562 6>
      • 时间=1 =0> 2.630>,3>包装3>= 6> 0.563 6>
      1. 透明度 设置为一个数字序列,在 which 粒子开始为透明,变为不透明,然后再次变为透明 靠近它们的生命时间的中间。

      • 时间 = 0 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      • 时间 = 0.156 , = 0> 0.04370> , 3> 包裹 3> = 6> 0.0437 6>
      • 时间 = 0.55 , = 0> 0.0750> , 3> 包装 3> = 6> 0.0252 6>
      • 时间 = 1 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      1. 将 有效期 设置为 0.25, 0.5 以随机设置每个粒子的有效期之间的 250 到 500 毫秒之间。
      2. Rate 设置为 20 发射 20 粒子每秒。
      3. 速度 设置为 5, 6 随机发出每个粒子之间的 5 到 6 格/每秒钟。
      4. 加速度 设置为 0, -15, 0 来模拟重力并将粒子向下拉动。
  6. 探险器 窗口中,选择 白水 文件夹中的所有块部分,然后在 属性 窗口中,将 1> 透明度1> 设置为 4> 14> 以隐藏块部分。

配置泡沫

与水花冲向上升,当瀑布击中坡道时, 泡沫 是从影响点的基础上涌出的空气水,与水花相似。泡沫会从自身扩展并分解成网状水滴,当它成为气体时。

为了模拟此效果,样本使用一个 ParticleEmitter 对象来发射像泡泡一样的粒子,它们以平行的方式发射到堵水池,这允许粒子模拟表面张力的基础水池的表面张力。

The 2D texture that represents the aerosolized water that ripples away from where the cascades impacts the plunge pool.
泡沫涟漪纹理=rbxassetid://16811365086

要重现在样本 Waterfall Island 放置文件的主要掉落在地方:

  1. Explorer 窗口中,在 Workspace 中创建一个 Folder 以容纳所有泡沫对象,然后重命名文件夹 1> Foam1>。

  2. 部分插入 泡沫 ,然后重命名为 MainDropFoam

  3. 主DropFoam 位置和缩放到主要水池区域,其中最密集的部分对泳池造成冲击。

    A angled side view of the bottom of the cliff with a block part positioned at the point where the cascades impact the plunge pool.
  4. ParticleEmitter 插入 主DropFoam ,然后重命名 emitter FoamRipples

  5. Explorer 窗口中,选择 泡泡泡泡 ,然后在 属性 窗口中,

    1. 纹理 设置为 rbxassetid://16811365086 以渲染像泡泡一样的粒子。

    2. 方向性向量 设置为 VelocityPerpendicular 以发射向纵向运动方向的粒子。

    3. 透明度 设置为一个数字序列,在 which 粒子开始为透明,然后快速变为不透明,然后快速变为透明向终端。

      • 时间 = 0 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      • 时间=0.143 =0>0.1190>,3>包装3>= 6>0.1 6>
      • 时间 = 0.664 , = 0> 0.1250> , 3> 包装 3> = 6> 0.112 6>
      • 时间 = 1 , = 0> 10> , 3> 包装 3> = 6> 0 6>
    4. 使用期 设置为 0.5, 0.7 以随机设置每个粒子的使用期在 500 到 700 毫秒之间。

    5. 速度 设置为 5 发射 5 粒子每秒。

    6. 旋转 设置为0, 360以随机将每个粒子从发射点旋转到圆圈中。

    7. RotSpeed 设置为 -15, 15 随机发出每个粒子在 -15 和 15 度之间。

    8. 速度 设置为 0, .01 随机发射每个粒子在 0 和 .01 每秒钟之间。

    9. 光发射量 设置为 0.25 以微亮地粉碎粒子。

    10. LightInfluence 设置为 0 以防止环境灯对粒子的颜色产生影响。

  6. 命令栏 中,输入以下字符串使每个粒子的大小从 5 到 20 在整个生命周期内小窗口的变化:


    workspace.Foam.MainDropFoam.FoamRipples.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,5,0), NumberSequenceKeypoint.new(1,20,5)}
  7. Explorer 窗口中,选择 泡沫 文件夹中的所有部分,然后在 属性 窗口中,将 1> 透明度1> 设置为 4> 14> 以隐藏块。

配置迷雾

当瀑布与潜水池发生冲击时,一些水蒸发并在冷、潮湿的空气中凝结在水中,形成 迷雾 。迷雾的水蒸发不像硬表面那样反射光照,而是在不经意的方式反射光以在整个环境中看起来明亮直到它们完全蒸发。

样本使用两个 ParticleEmitter 对象在掉落的基础上模拟此过程。第一个粒子发射器能量粒子向远处的粒子发射出去,第二个粒子发射器向远处发射出去的粒子会逐渐变透。两个粒子发射器的粒子在起始时都很亮,并且在结束时逐渐变透。当��

与现实世界类似,雾的蒸发过程允许彩虹形成为随着水滴小水滴反射而形成的光束,这也是样本使用 ParticleEmitter 对雾产生颜色粒子以产生光学幻觉的光斑。这些粒子面向相机,无论玩家从水fall 产生的角度来生成一个光学幻觉的光��

The 2D texture that represents the mist.
迷雾纹理 = rbxassetid://16830667309
The 2D texture that represents the rainbow.
彩虹纹理=rbxassetid://16828911033

要重现样本 Waterfall Island 放置文件中的主要掉落在主要 Drop 的基础上移动和上升的迷雾:

  1. Explorer 窗口中,在 工作区 中创建一个 文件夹 来容纳所有与漏斗有关的对象,然后重命名文件夹 1> 漏斗1> .

  2. 创建辐射离开水池的迷雾。

    1. 部分插入 迷雾 ,然后重命名为 基地迷雾

    2. BaseMist 位置、方向和缩放 来面向远离主要喷泉影响泳池的最佳位置。

      A angled side view of the bottom of the cliff with a block part positioned at the point where the cascades impact the plunge pool. The block part is slightly angled so the top face faces away from the cliff.
    3. ParticleEmitter 插入 BaseMist ,然后重命名 emitter Mist

    4. 选择 迷雾 ,然后在 属性 窗口中

      1. 纹理 设置为 rbxassetid://16830667309 以渲染类似于浓雾的粒子。

      2. 颜色 设置为开始为蓝色,然后变为白色的颜色顺序。

      • 时间 =0RGB值 =0> 171, 244, 2550>
      • 时间 = 0.339RGB值 = 0> 251, 254, 2550>
      • 时间 = 1RGB 值 = 0> 255, 255, 2550>
      1. 大小 设置为一个数字序列,其大小一直在增加。

      • 时间 = 0 , = 0> 80> , 3> 包装 3> = 6> 0 6>
      • 时间 = 1 , = 0> 100> , 3> 包装 3> = 6> 0 6>
      1. 透明度 设置为一个数字序列,在 which 粒子开始为透明,快速变为微晶,然后快速变为透明再次在他们的生命时间。

      • 时间 = 0 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      • 时间=0.0971 =0>0.80>,3>包装3>= 6>0.0625 6>
      • 时间 = 1 , = 0> 10> , 3> 包装 3> = 6> 0 6>
      1. ZOffset 设置为 2 来将纹理从坠落池稍微移动一会儿。
      2. 使用期 设置为 0.5, 1 随机设置每个粒子的使用期在 500 到 100 毫秒之间。
      3. Rate 设置为 20 发射 20 粒子每秒。
      4. 旋转 设置为 -360, 360 以随机对每个粒子在圆圈中进行旋转。
      5. RotSpeed 设置为 -50, 50 随机发射每个粒子在 -50 和 50 度之间。
      6. 速度 设置为 35, 50 随机发射每个粒子在 35 和 50 每秒钟之间。
      7. SpreadAngle 设置为 25, 25 以发射在 X 和 Z 轴上沿小角度发射粒子。
      8. 加速度 设置为 -10, -25, -10 来模拟从潜水池向外飞出的水花爆炸的影响。
      9. 拖动 设置为 1.5 以使粒子在呈指数下降的速度下降。
  3. 创建从潜水池上升起的迷雾。

    1. 复制 基础迷雾 ,然后重命名为 上升迷雾
    2. 向上 上升迷雾 以便零件发出粒子的顶部面向天空。
    3. 选择其子部分发射器,然后在 属性 窗口中,
      1. 使用期 设置为 4 以设置每个粒子的使用期为 4 秒。
      2. 速度 设置为 3 发射 3 粒子每秒。
      3. RotSpeed 设置为 -10, 10 随机发射每个粒子在 -10 和 10 度之间。
      4. 速度 设置为 25 以发射每个粒子 25 格每秒钟。
      5. 将 加速度 设置为 0, 0, 0 来移除以前的模拟。
      6. 拖动 设置为 1 以使粒子在呈指数下降的速度会增加。
    4. 命令栏 中,输入以下字符串使每个粒子的大小从20到20 studs在其生命时间内小幅变化:

    workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}
  4. 创建彩虹。

    1. 部分插入 迷雾 ,然后重命名为 彩虹部分

    2. 位置 RainbowPart 稍微高于其他方块部分。

    3. ParticleEmitter 插入 Rainbow ,然后重命名 emitter Rainbow

    4. 选择 彩虹 ,然后在 属性 窗口中

      1. 纹理 设置为 rbxassetid://16828911033 以渲染像彩虹一样的粒子。

      2. 大小 设置为 25 以渲染大型粒子。

      3. 透明度 设置为一个数字序列,在 which 粒子开始为透明,然后在其生命时间内变为略有不透明度。

      • 时间= 0 , 值= 1 , 包装= 0
      • 时间= 0.497 , 值= 0.363 , 封面= 0.05
      • 时间 = 1, 值 = 1, 封面 = 0
      1. Lifetime 设置为 2, 4 随机设置每个粒子的生命时间在 200 和 400 毫秒之间。
      2. 速度 设置为 0.25 以每 4 秒发出一颗粒子。
      3. 旋转 设置为 -20 以将每个粒子在稍微度量上方向。
      4. 速度 设置为 0 发射每个粒子 0 格/秒。
      5. 拖动 设置为 1 以使粒子在呈指数下降的速度会增加。
      6. 将 光发射器 设置为 1 使用添加剂混合器将粒子与颜色在粒子后面渲染。此步骤还将从材质本身中移除黑色背景。
      7. LightInfluence 设置为 0 以防止环境灯对粒子的颜色产生影响。
  5. Explorer 窗口中,选择 迷雾 文件夹中的所有块部分,然后在 属性 窗口中,将 1> 透明度1> 设置为 4> 14> 以隐藏块部分。