시작하기
중급 튜토리얼

VFX로 폭포 만들기

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

A waterfall는 물이 하나 이상의 수직 낙하 지점을 넘어 물체로 흐르는 강이나 시내의 지점입니다. 경험에는 종종 환경을 향상시키거나 시각적 관심 지점을 만들기 위한 시각적 미학, 자원을 숨기거나 장소의 서로 다른 영역 간에 플레이어를 전환하는 기능적 게임플레이 목적이 포함됩니다.

Waterfall Island .rbxl 파일을 참조하여 이 튜토리얼에서는 실제 세계의 물리적 행동을 나타내는 VFX 객체로 폭포를 만드는 방법을 알려줍니다. 아래의 내용이 포함됩니다:

  • 참조 자료를 개별 구성 요소로 나누고, 독특한 시각적 및 행동적 특성을 부여합니다.
  • 절벽에서 떨어지는 물이 분산되는 것을 흉내 내기 위해 서로 다른 비율로 떨어지는 폭포를 설정합니다.
  • 물이 아래의 낙하풀에 충돌할 때 에어로졸화 되는 것을 흉내 내기 위해 물방울을 설정합니다.
  • 혼란스러운 물의 동작을 나타내고 바위에 충돌할 때 발생하는 물의 터짐을 모사하기 위해 흰 물을 설정합니다.
  • 모세관 파동이 표면 장력을 깨는 것처럼 보이도록 거품을 설정합니다.
  • 충격점에서 위로 상승하는 안개 증기를 모사하기 위해 안개를 설정하여 플레이어가 어떤 각도에서든 볼 수 있는 무지개를 만듭니다.

참조 분석

신뢰할 수 있는 폭포를 만들기 위해서는 디자인 과정에서 실제 자연 특징을 참조하는 것이 중요합니다. 이는 주제를 개별 구성 요소로 나누고 독특한 시각적 및 행동적 특성을 부여할 수 있게 해주기 때문입니다. 예를 들어, 샘플 Waterfall Island 경험은 폭포와 그 주변 지형과 관련된 모든 텍스처 및 VFX 디자인 결정을 알리기 위해 워싱턴주에 있는 Snoqualmie Falls를 참조합니다.

Snoqualmie Falls의 멀리서 찍은 사진.

폭포는 여러 상태의 물질과 동적 유체 및 공기 움직임을 포함하는 연속적이고 연결된 물의 흐름이지만, 이 복잡한 시스템을 개별 구성 요소로 나누면 서로 다른 VFX 객체를 어떻게 활용할 것인지 계획하는 데 유용합니다. 예를 들어, 이 튜토리얼에서는 샘플 폭포를 다섯 가지 고유한 구성 요소로 나누었습니다.

  • 폭포 – 절벽에서 떨어지는 물.
  • 물방울 – 폭포가 바닥의 낙하풀에 충돌할 때 물이 튀는 모습.
  • 흰 물 – 물의 출처가 절벽의 가장자리로 접근할 때 발생하는 억제된 물.
  • 거품 – 폭포와 낙하풀이 충돌할 때 수평으로 흩어지는 공기와 물.
  • 안개 – 전반적인 폭포로 인해 생기는 모양의 물과 같은 것.
모든 다섯 구성 요소가 강조 표시된 Snoqualmie Falls.
참조 이미지와 최종 결과를 비교하기 위해 강조 표시된 동일한 다섯 구성 요소가 있는 샘플 폭포.

다음 섹션에서는 샘플의 3D 공간에서 주 낙하를 구성하는 각 폭포 구성 요소를 재현할 수 있는 다양한 디자인 결정 및 기술을 심층적으로 분석합니다. 이러한 결정들을 검토하고 다양한 BeamParticleEmitter 속성들을 실험하면서, 본인의 경험에 대한 독특한 환경 요구 사항을 해결하기 위해 VFX를 어떻게 활용할 수 있을지 배울 수 있습니다.

폭포 설정

폭포는 절벽이나 오름의 가장자리에서 떨어지는 물입니다. 폭포는 그 양과 낙하하는 거리의 크기에 따라 다른 비율로 떨어집니다. 예를 들어, 샘플의 주요 낙이는 많은 양의 물이 넓은 거리를 떨어지기 때문에 더 천천히 떨어지는 것처럼 보입니다. 그러나 샘플의 두 번째 낙이는 짧은 거리에서 적은 양의 물이 떨어지기 때문에 더 빠르게 떨어지는 것처럼 보입니다.

주 낙이
두 번째 낙

게다가 폭포는 낙하풀이 늘어나가면서 서로 다른 비율로 떨어지는 여러 겹의 폭포를 갖는 경우가 많습니다. 이 원리를 증명하기 위해 샘플에서는 여러 개의 Beam 객체를 사용하여 서로 다른 속도와 길이로 Attachment 객체 간에 렌더링되는 텍스처를 만듭니다. 주요 낙이에 더욱 현실적인 떨어지는 동작을 제공할 뿐만 아니라 이 기술은 강조된 파라럭스의 환상을 만들어 폭포가 깊이와 부피를 가진 것처럼 보이도록 합니다.

이 폭포는 물이 다양한 속도로 내려가고 퍼지기 때문에 자연스럽게 보입니다.
이 폭포는 물이 동일한 속도로 내려가고 퍼지기 때문에 부자연스럽게 보입니다.

샘플 Waterfall Island 장소 파일의 주요 낙에 대한 폭포를 재현하기 위해:

  1. 물이 떨어지는 외부 흐름을 설정합니다.

    1. 탐색기 창에서 Workspace에 모든 외부 흐름 개체를 포함할 Folder를 생성하고, 폴더 이름을 Outflow로 변경합니다.

    2. Outflow 폴더에 두 개의 block 부품을 삽입하고 각각 이름을 OutflowStartOutflowStop으로 변경합니다.

    3. OutflowStart를 외부 흐름이 시작되고 싶은 위치로 이동하고, OutflowStop을 절벽의 가장자리로 이동합니다.

      외부 흐름이 있어야 하는 위치에서 두 개의 블록 부품을 배치한 사선 위에서 찍은 모습.
    4. OutflowStartOutflowStop 모두에 부착 중심을 삽입한 다음, 노란색 시각적 보조 도구가 위를 가리킬 때까지 회전시킵니다.

      두 개의 블록 부품이 있으며, 노란색 시각적 보조 도구가 위를 가리킨 모습의 사선 위에서 찍은 사진.
    5. Outflow 폴더에 Beam을 삽입하고, 이름을 OutflowWater로 변경합니다.

    6. 각 부품의 부착 요소를 OutflowWater에 할당합니다.

      1. 탐색기 창에서 OutflowWater를 선택합니다.
      2. 속성 창에서,
        1. Attachment0OutflowStart의 부착 요소로 설정합니다.
        2. Attachment1OutflowStop의 부착 요소로 설정합니다. 빔은 두 부착 요소之间에 기본 텍스처를 렌더링합니다.
      부착 요소之间에 기본 빔 텍스처를 렌더링하는 두 개의 블록 부품을 배치한 외부 물의 사선 위에서 찍은 사진.
    7. 빔의 시각적 외형을 조정하여 절벽의 가장자리를 향해 흐르는 물처럼 보이게 합니다.

      1. 탐색기 창에서 OutflowWater가 여전히 선택되어 있는지 확인합니다.
      2. 속성 창에서,
        1. Texturerbxassetid://4787437624로 설정하여 흐르는 거품처럼 보이는 텍스처를 렌더링합니다.

        2. Width060으로 설정하여 텍스처가 렌더링되기 시작하는 축에서 텍스처의 너비를 늘립니다.

        3. Width120으로 설정하여 절벽의 가장자리로 텍스처를 좁힙니다.

        4. TextureSpeed0.4로 설정하여 텍스처의 흐름이 느려지게 합니다.

        5. TextureLength64로 설정하여 텍스처의 길이를 늘립니다.

        6. TextureModeWrap으로 설정하여 텍스처가 3D 세계에서 부착 요소 간 전체 빔 길이에 따라 TextureLength로 나누어진 만큼 반복됩니다. 이를 통해 더 자연스러운 흐르는 물처럼 보이게 합니다.

        7. Color를 진한 파란색과 밝은 파란색에서 흰색으로 변경되는 색상 시퀀스로 설정합니다.

          1. Color 속성을 클릭한 후, 버튼을 클릭합니다. 색상 시퀀스 팝업이 표시됩니다.

            Studio의 속성 창을 근접 촬영한 사진, 색상 속성의 삼각형 표시된 부분이 강조 표시됨.

            색상 시퀀스의 바닥 축에 있는 각 삼각형은 전파 입자의 생애에서 해당 점에서 속성 색상 값이 설정되는 키포인트입니다.

          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 속성을 클릭하고, 버튼을 클릭합니다. 숫자 시퀀스 팝업이 표시됩니다. 기본적으로 그래프는 직선이고 이미지의 투명도는 왼쪽에서 오른쪽으로 동일합니다.

            투명도 숫자 시퀀스 그래프의 근접 촬영.

            숫자 시퀀스의 시작과 끝에 있는 각 사각형은 왼쪽에서 오른쪽으로 텍스처의 속성 투명도를 결정하는 키포인트입니다.

          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. 탐색기 창에서 Workspace에 모든 폭포 객체를 포함할 Folder를 생성하고, 폴더 이름을 Cascades로 변경합니다.

    2. Cascades 폴더에 두 개의 block 부품을 삽입하고 각각 이름을 MainDropStartMainDropStop으로 변경합니다.

    3. MainDropStart를 절벽의 가장자리로 이동하고, MainDropStop은 낙하풀 아래로 이동합니다.

      절벽의 옆 측면에서 빠르게 흐르는 폭포 텍스처가 렌더링되어야 하는 위치에 배치된 두 개의 블록 부품 사진.
    4. 모든 폭포 빔에서 사용할 부착 요소를 구성하여 텍스처를 렌더링합니다.

      1. MainDropStart에 부착 요소를 삽입한 후, 절벽에서 떨어진 방향으로 노란색 시각적 보조 도구가 나가도록 회전시킵니다.
      2. MainDropStop에 부착 요소를 삽입한 후, 절벽 쪽으로 향하는 방향으로 노란색 시각적 보조 도구를 회전시킵니다.
      절벽의 옆 측면에서 빠르게 흘러가는 폭포에서 사용하려는 부착 요소가 있는 블록 부품 두 개.
    5. Cascades 폴더에 Beam을 삽입하고, 이름을 FastDrop으로 변경합니다.

    6. 각 부품의 부착 요소를 FastDrop에 할당합니다.

      1. 탐색기 창에서 FastDrop을 선택합니다.
      2. 속성 창에서,
        1. Attachment0MainDropStart의 부착 요소로 설정합니다.
        2. Attachment1MainDropStop의 부착 요소로 설정합니다. 빔은 두 부착 요소之间에 기본 텍스처를 렌더링합니다.
      부착 요소之间에 빠르게 흐르는 물의 기본 빔 텍스처를 렌더링하는 두 개의 블록 부품의 옆 측면 이미지.
    7. 빔의 시각적 외형을 조정하여 주 낙에서 빠르게 흐르는 폭포처럼 보이게 합니다.

      1. 탐색기 창에서 FastDrop이 여전히 선택되어 있는지 확인합니다.

      2. 속성 창에서,

        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. 탐색기 창에서 SlowDrop을 선택합니다.
      2. 속성 창에서,
        1. Width120으로 설정하여 낙하풀이 더욱 넓어지게 합니다.
        2. TextureLength1.5로 설정하여 텍스처의 길이를 약간 줄입니다.
        3. TextureSpeed1로 설정하여 텍스처가 덜 빠르게 흐르게 합니다.
        4. ZOffset0으로 설정하여 텍스처가 절벽의 가장자리에서 직접 흐르도록 합니다.
  4. 탐색기 창에서 Outflow 폴더 내의 모든 블록 부품을 선택하고, 속성 창에서 투명도1로 설정하여 블록을 보이지 않게 합니다.

물방울 구성

폭포가 아래의 낙하풀에 충격을 가할 때, 물은 충격 지점에서 상승하여 물방울을 생성합니다. 이 에어로졸화된 물은 상승하면서 팽창하고 서로 분리되어 다양한 방향으로 흩어지는 물방울을 생성합니다.

이 과정을 증명하기 위해 샘플에서는 주 낙의 바닥에 두 개의 ParticleEmitter 객체를 사용합니다. 첫 번째 입자 방출기는 낙하풀이 충격을 줄 때 물방울이 아래로부터 상승하여 드리프트하고 물의 무게를 나타내는 밀도 높은 물방울을 방출합니다. 두 번째 입자 방출기는 에어로졸화된 물처럼 보이는 물방울을 방출합니다.

이 두 가지 입자 방출기를 구성하여 두 입자를 같은 시간에 방출하되 다른 비율로 방출하면, 그 결과로 시각적 효과는 물방울의 실제 물리적 동작을 모사합니다. 이러한 유형의 세부 사항은 VFX의 사실성에 기여하고 3D 공간 내에서 플레이어를 몰입하게 합니다.

분리되기 전에 밀도 높은 에어로졸화된 물 질감.
밀도 높은 텍스처 = rbxassetid://16829556885
부서질 때의 에어로졸화된 물 방울의 2D 텍스처.
물방울 텍스처 = rbxassetid://17082061238

샘플 Waterfall Island 장소 파일의 주 낙 바닥에서 물방울을 재현하기 위해:

  1. 탐색기 창에서 Workspace에 모든 물방울 객체를 포함할 Folder를 생성하고, 폴더 이름을 Splashes로 변경합니다.

  2. Splashesblock 부품을 삽입하고 이름을 MainDropSplashes로 변경합니다.

  3. MainDropSplashes를 낙하풀이 충격을 가하는 전체 면적에 배치하고 크기를 조정합니다.

    낙하풀에서 폭포가 충격을 가하는 위치에 배치된 블록 부품을 자세히 보여줌.
  4. 주 낙의 폭포가 낙하풀에 충격을 가할 때 밀도 높은 물방울을 생성합니다.

    1. MainDropSplashesParticleEmitter을 삽입하고 이름을 SplashDense로 변경합니다.

    2. SplashDense를 선택한 후 속성 창에서,

      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으로 설정하여 초당 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를 선택한 후 속성 창에서,

      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으로 설정하여 초당 20개의 입자를 방출합니다.
  6. 탐색기 창에서 Splashes 폴더 내의 모든 블록 부품을 선택하고, 속성 창에서 투명도1로 설정하여 블록을 보이지 않게 합니다.

흰 물 구성

흰 물은 물의 출처가 더 많은 속도를 얻으며 더 격렬하게 되어 위에서 다른 물체와 충돌할 때 발생합니다. 이 결과로 공기 방울이 더 많이 들어가 있는 물이 되어 흰색으로 보이는 기포가 가득한 물이 생성됩니다.

이 과정을 모사하기 위해 샘플에서는 두 개의 ParticleEmitter 알고리즘을 사용하여 폭포의 외부 흐름이 절벽의 바위와 충돌할 때 생성된 입자를 발산합니다. 이 입자 방출기는 내장 조명을 사용하지 않고, 흰색과 회색 음영을 우선으로 하며 다양한 떨어지는 속도로, 물의 양을 표현합니다.

바위에 충돌할 때 에어로졸화된 물을 나타내는 2D 텍스처.
흰 물 텍스처 = rbxassetid://16808075391

샘플 Waterfall Island 장소 파일의 외부 흐름이 절벽의 바위에 충돌할 때 흰 물을 재현하기 위해:

  1. 탐색기 창에서 Workspace에 모든 흰 물 객체를 포함할 Folder를 생성하고, 폴더 이름을 WhiteWater로 변경합니다.

  2. WhiteWaterblock 부품을 삽입하고 이름을 MainDropWW로 변경합니다.

  3. MainDropWW를 외부 흐름이 절벽에서 흘러내리는 지점까지 설정하고 크기를 조정합니다.

    절벽의 위쪽 부분을 비춘 사진. 물의 외부 흐름이 절벽에서 흘러내리는 위치에 방출됩니다.
  4. 주변 바위와 충돌할 때의 덜 격렬한 흰 물을 생성합니다.

    1. MainDropWWParticleEmitter를 삽입하고 이름을 GentleWW로 변경합니다.

    2. GentleWW를 선택한 후 속성 창에서,

      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로 설정하여 초당 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를 선택한 후 속성 창에서,

      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으로 설정하여 초당 20개의 입자를 방출합니다.
      3. Speed5, 6으로 설정하여 각 입자가 초당 5에서 6 스터드 사이에서 랜덤으로 방출되도록 합니다.
      4. Acceleration0, -15, 0으로 설정하여 중력을 시뮬레이션하고 입자가 아래로 떨어지도록 합니다.
  6. 탐색기 창에서 WhiteWater 폴더의 모든 블록 부품을 선택하고, 속성 창에서 투명도1로 설정하여 블록이 보이지 않게 만듭니다.

거품 구성

낙하풀이 충격을 가할 때 위쪽에서 구름 상태로 부글부글 끓는 거품은 물이 아래로 퍼쳐지는 것이며, 이는 거품형태로 부풀어져 섞이면서 에어로졸화됩니다. 거품은 서로 떨어져 다양한 방울로 만들어 질 만큼 증가합니다.

이 효과를 모사하기 위해 기본 폭포의 하단에서 ParticleEmitter 객체를 사용하여 물방울과 비슷한 모습을 가진 입자를 방출합니다. 이 입자들이 낙하풀이 발생하는 곳에서 서서히 나갑니다. 이 방식은 물의 표면 장력을 깨뜨리는 관절 파동의 시각 적용 및 행동 효과를 시뮬레이션합니다.

폭포 에어로졸화된 물에서 리플이 퍼져 나오는 2D 텍스처.
거품 리플 텍스처 = rbxassetid://16811365086

샘플 Waterfall Island 장소 파일의 주요 낙의 베이스에서 거품을 재현하기 위해:

  1. 탐색기 창에서 Workspace에 모든 거품 객체를 포함할 Folder를 생성하고, 폴더 이름을 Foam으로 변경합니다.

  2. Foamblock 부품을 삽입하고 이름을 MainDropFoam으로 변경합니다.

  3. MainDropFoam을 가장 밀집된 부분에서 낙하풀이 이루어지는 전체 면적에 배치하고 크기를 조정합니다.

    폭포의 충격 지점에서 거품이 충분히 이루어지는 위치에 배치된 블록 부품을 보여주는 측면 이미지.
  4. MainDropFoamParticleEmitter을 삽입하고 이름을 FoamRipples로 변경합니다.

  5. 탐색기 창에서 FoamRipples를 선택한 후 속성 창에서,

    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로 설정하여 초당 5개의 입자를 방출합니다.

    6. Rotation0, 360으로 설정하여 방출 지점에서 각 입자가 원형으로 랜덤하게 회전합니다.

    7. RotSpeed-15, 15로 설정하여 각 입자가 매 초마다 -15도에서 15도 사이에서 랜덤으로 방출됩니다.

    8. Speed0, .01로 설정하여 각 입자가 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. 탐색기 창에서 Foam 폴더 내의 모든 블록 부품을 선택하고, 속성 창에서 투명도1로 설정하여 블록을 보이지 않게 합니다.

안개 구성

폭포가 낙하풀에 충격을 가할 때 일부 물이 증발하여 시원하고 습한 공기의 안개를 만들어냅니다. 안개 증기는 단단한 표면과는 다르게 빛을 반사합니다. 때문에 밝게 보이는 전형적인 경험을 하게 됩니다.

샘플에서는 두 개의 ParticleEmitter 객체를 사용하여 주 낙의 하단에서 충격 지점과 절벽선에서 입자를 방출합니다. 첫 번째 입자 방출기는 충격 지점과 절벽으로부터 격렬하게 입자를 방출하고 두 번째 입자 방출기는 천천히 위로 상승하는 입자를 방출합니다. 이러한 두 방출기의 입자들은 생애 초기에 밝게 보이고 생애 후반에는 투명하게 되도록 설정하는 것을 제공합니다.

사實世界와 동일하게 안개 증발 과정에서는 빛이 작은 물 방울에서 반사되며 무지개가 형성됩니다. 이 과정도 샘플에서 ParticleEmitter 객체를 사용하여 짧은 생애로 무지개 입자를 방출하여 시뮬레이션합니다. 이 입자들은 플레이어의 각도와 상관없이 카메라를 향하여 무지개의 출현을 사라지게 만듭니다.

안개를 나타내는 2D 텍스처.
안개 텍스처 = rbxassetid://16830667309
무지개를 나타내는 2D 텍스처.
무지개 텍스처 = rbxassetid://16828911033

샘플 Waterfall Island 장소 파일의 주요 낙 하단에서 확대된 증기를 재현하기 위해:

  1. 탐색기 창에서 Workspace에 모든 안개 관련 객체를 포함할 Folder를 생성하고, 폴더 이름을 Mist로 변경합니다.

  2. 폭포의 충격 지점에서 머리 위로 방출되게 하기 위해 Foamblock 부품을 삽입하고 이름을 BaseMist로 변경합니다.

  3. 위치, 배치 및 확장 설정으로 BaseMist가 주요 충격부의 적당히 가장 밀집된 지점을 향하도록 하십시오.

    폭포의 충격 지점을 비춘 블로킹부품의 측면 이미지.
    1. BaseMistParticleEmitter를 삽입하고 이름을 Mist로 변경합니다.

    2. Mist를 선택한 후 속성 창에서,

      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으로 설정하여 초당 20개의 입자를 방출합니다.
      4. Rotation-360, 360으로 설정하여 각 입자가 원형으로 회전하도록 설정합니다.
      5. RotSpeed-50, 50으로 설정하여 각 입자가 매 초마다 -50도에서 50도 사이에서 랜덤으로 방출되도록 합니다.
      6. Speed35, 50으로 설정하여 매 초마다 각 입자가 30에서 50 스터드 사이에서 랜덤으로 방출되도록 설정합니다.
      7. SpreadAngle25, 25로 설정하여 각도를 설정하여 작게 위치 시킵니다.
      8. Acceleration-10, -25, -10으로 설정하여 충격으로 인해 물방울이 빠져 나간 듯 보이게 합니다.
      9. Drag1.5로 빛이 미세하게 만발한 것처럼 보이게 합니다.
  4. 낙하풀에서 위로 상승하는 안개를 생성합니다.

    1. BaseMist를 복제한 후 이름을 RiseMist로 변경합니다.
    2. RiseMist는 입자를 방출하는 부분이 하늘을 향하도록 회전합니다.
    3. 자식 입자 방출기를 선택한 후, 속성 창에서,
      1. Lifetime4로 설정하여 각 입자의 생애를 4초로 만듭니다.
      2. Rate3으로 설정하여 초당 3개의 입자를 방출합니다.
      3. RotSpeed-10, 10으로 설정하여 각 입자가 매 초마다 -10도에서 10도 사이에서 랜덤으로 방출되도록 합니다.
      4. Speed25로 설정하여 각 입자를 25 스터드로 방출합니다.
      5. Acceleration0, 0, 0으로 설정하여 이전 시뮬레이션을 없앱니다.
      6. Drag1로 설정하여 입자가 속도를 잃게 만듭니다.
    4. 명령어 창에 다음 문자열을 입력하여 모든 입자가 크기를 20에서 세부 사항으로 설정합니다:

    workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}
  5. 무지개를 생성합니다.

    1. Mist에 블록 부품을 삽입하고 이름을 RainbowPart로 변경합니다.

    2. RainbowPart를 다른 블록 부품보다 약간 위에 위치 시킵니다.

    3. ParticleEmitterRainbow에 추가하고 방출기를 Rainbow로 이름을 변경합니다.

    4. Rainbow를 선택한 후 속성 창에서,

      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초마다 한 개의 입자를 방출합니다.
      3. Rotation-20으로 설정하여 각 입자가 살짝 정도로 회전합니다.
      4. Speed0으로 설정하여 각 입자가 0 스터드로 방출되도록 설정합니다.
      5. Drag1로 설정하여 입자가 자연스럽게 속도를 잃게 합니다.
      6. LightEmission1로 설정하여 추가적 혼합을 사용하여 입자를 색상으로 렌더링합니다. 이 단계는 또한 텍스처의 배경 화이트를 제거합니다.
      7. LightInfluence0으로 설정하여 주변 밝기가 입자 색상에 영향을 미치지 않도록 합니다.
  6. 탐색기 창에서 Mist 폴더 내의 모든 블록 부품을 선택하고, 속성 창에서 투명도1로 설정하여 블록이 보이지 않게 합니다.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.