Tạo thác nước với VFX

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Một thác nước là một điểm trong một con sông hoặc suối nơi nước chảy qua một hoặc nhiều đoạn thẳng đứng vào một khối nước. Các trò chơi thường bao gồm thác nước để tăng cường tính thẩm mỹ hình ảnh, chẳng hạn như để cải thiện môi trường hoặc tạo ra một điểm nhấn hình ảnh, hoặc cho các mục đích gameplay chức năng, chẳng hạn như để ẩn giấu tài nguyên hoặc chuyển đổi người chơi giữa các khu vực khác nhau trong chính nơi đó.

Sử dụng tệp Waterfall Island .rbxl làm tài liệu tham khảo, hướng dẫn này cho bạn biết cách tạo một thác nước với các đối tượng VFX đại diện cho hành vi vật lý trong thế giới thực, bao gồm hướng dẫn về:

  • Phân tích tài liệu tham khảo thành các thành phần riêng lẻ với các đặc điểm hình ảnh và hành vi khác nhau.
  • Cấu hình các dòng thác rơi với tốc độ khác nhau để mô phỏng nước phân tán khi nó rơi từ một vách đá.
  • Cấu hình các vụ bắn nước để mô phỏng nước trở thành dạng khí khi các dòng thác va chạm với bể nước bên dưới.
  • Cấu hình nước trắng để mô phỏng nước sủi bọt nơi dòng chảy va chạm vào những tảng đá.
  • Cấu hình bọt để mô phỏng một sóng mao dẫn phá vỡ sức căng bề mặt.
  • Cấu hình sương mù để mô phỏng hơi nước bay lên và hướng lên từ điểm va chạm, tạo ra một cầu vồng mà người chơi có thể nhìn thấy từ bất kỳ góc độ nào.

Phân tích tài liệu tham khảo

Để tạo ra những thác nước đáng tin cậy, điều quan trọng là tham khảo các đặc điểm tự nhiên trong thế giới thực trong quá trình thiết kế vì điều này cho phép bạn phân tích chủ đề thành các thành phần riêng lẻ với các đặc điểm hình ảnh và hành vi khác nhau. Ví dụ, trò chơi mẫu Waterfall Island tham khảo Thác Snoqualmie ở bang Washington để thông báo cho tất cả các quyết định thiết kế kết cấu và VFX liên quan đến thác nước và địa hình xung quanh nó.

Một cái nhìn xa về Thác Snoqualmie.

Trong khi một thác nước là một dòng nước liên tục và kết nối mà liên quan đến nhiều trạng thái của vật chất với chuyển động chất lỏng và không khí động, thì việc phân tích hệ thống phức tạp này thành các thành phần riêng lẻ là hữu ích để bạn có thể lập kế hoạch cách sử dụng các đối tượng VFX khác nhau để bắt chước các đối tác trong thế giới thực của chúng. Để minh họa, hướng dẫn này phân tích thác nước mẫu thành năm thành phần độc đáo:

  • Dòng thác – Nước rơi xuống từ vách đá.
  • Vụ bắn – Nước phân tán khi các dòng thác va chạm với bể nước bên dưới.
  • Nước trắng – Nước sủi bọt xuất hiện khi nguồn nước tiếp cận mép vách đá.
  • Bọt – Nước sủi bọt phân tán theo chiều ngang khi va chạm giữa các dòng thác và bể nước.
  • Sương mù – Nước giống như mây bay hơi trong không khí do thác nước tổng thể.
Thác Snoqualmie với tất cả năm thành phần được làm nổi bật.
Thác nước mẫu với cùng năm thành phần được làm nổi bật để so sánh hình ảnh tham khảo với kết quả cuối cùng.

Các phần tiếp theo cung cấp phân tích sâu về các quyết định thiết kế khác nhau và các kỹ thuật bạn có thể sử dụng để tái tạo từng thành phần thác nước này tạo thành dòng chính trong không gian 3D của mẫu. Khi bạn xem xét các quyết định này và thử nghiệm với các thuộc tính BeamParticleEmitter khác nhau, bạn sẽ học cách sử dụng VFX để giải quyết các yêu cầu môi trường độc đáo cho các trò chơi của riêng bạn.

Cấu hình các dòng thác

Một dòng thác là nước rơi xuống từ mép của các vách đá hoặc bờ vực vào các bể nước bên dưới. Các dòng thác rơi với tốc độ khác nhau tùy thuộc vào cả thể tích nước và quy mô của sự rơi vào bể nước. Ví dụ, dòng chính của mẫu có vẻ rơi chậm hơn vì có một thể tích nước lớn rơi qua một khoảng cách lớn, nhưng dòng thứ hai của mẫu có vẻ rơi nhanh hơn vì một thể tích nước nhỏ hơn đang rơi qua một khoảng cách ngắn.

Dòng chính
Dòng thứ hai

Hơn nữa, các thác nước thường có các lớp dòng thác rơi với tốc độ khác nhau vì nước phân tán khi nó rơi vào bể nước. Để minh họa nguyên tắc này, mẫu sử dụng nhiều đối tượng Beam với các kết cấu liền mạch được hiển thị giữa các đối tượng Attachment với tốc độ và chiều dài khác nhau. Ngoài việc cung cấp cho dòng chính một hành vi rơi thực tế hơn, kỹ thuật này cũng tạo ra một ảo giác về chiều sâu để làm cho dòng thác có vẻ như có cảm giác chiều sâu và thể tích mặc dù nó chỉ là một hình ảnh 2D.

Thác nước này có vẻ tự nhiên vì nước rơi và phân tán với các tốc độ khác nhau.
Thác nước này có vẻ không tự nhiên vì nước rơi và phân tán với cùng một tốc độ.

Để tái tạo các dòng thác cho dòng chính trong tệp mẫu Waterfall Island:

  1. Tạo dòng chảy cho nước chảy xuống.

    1. Trong cửa sổ Explorer, tạo một Thư mục trong Workspace để chứa tất cả các đối tượng dòng chảy, sau đó đổi tên thư mục thành Dòng chảy.

    2. Chèn hai phần khối vào thư mục Dòng chảy, sau đó đổi tên chúng thành OutflowStartOutflowStop, tương ứng.

    3. Di chuyển OutflowStart đến nơi bạn muốn dòng chảy bắt đầu, và di chuyển OutflowStop đến mép của vách đá.

      Một cái nhìn từ trên xuống của nước dòng chảy với hai phần khối được định vị nơi kết cấu dòng chảy nên được hiển thị.
    4. Chèn một đối tượng đính kèm vào cả OutflowStartOutflowStop, sau đó xoay các đính kèm cho đến khi dấu hiệu trực quan màu vàng chỉ lên trên.

      Một cái nhìn từ trên xuống của nước dòng chảy với hai phần khối bao gồm các đính kèm nơi các dấu hiệu trực quan màu vàng chỉ lên trên.
    5. Chèn một Beam vào thư mục Dòng chảy, sau đó đổi tên nó thành OutflowWater.

    6. Gán mỗi đính kèm của phần cho OutflowWater.

      1. Trong cửa sổ Explorer, chọn OutflowWater.
      2. Trong cửa sổ Properties,
        1. Đặt Attachment0 thành đính kèm trong OutflowStart.
        2. Đặt Attachment1 thành đính kèm trong OutflowStop. Beam sẽ hiển thị kết cấu mặc định của nó giữa hai đính kèm.
      Một cái nhìn từ trên xuống của nước dòng chảy với hai phần khối hiển thị kết cấu beam mặc định giữa các đính kèm.
    7. Tùy chỉnh diện mạo trực quan của beam để nó trông giống như nước chảy đến mép của vách đá.

      1. Trong cửa sổ Explorer, xác nhận OutflowWater vẫn được chọn.
      2. Trong cửa sổ Properties,
        1. Đặt Texture thành rbxassetid://4787437624 để hiển thị một kết cấu mới trông giống như bọt nước chảy.

        2. Đặt Width0 thành 60 để mở rộng kết cấu từ trục mà nó bắt đầu hiển thị.

        3. Đặt Width1 thành 20 để thu hẹp kết cấu đến mép của vách đá.

        4. Đặt TextureSpeed thành 0.4 để làm chậm dòng chảy của kết cấu.

        5. Đặt TextureLength thành 64 để kéo dài chiều dài của kết cấu.

        6. Đặt TextureMode thành Wrap để lặp lại kết cấu theo chiều dài tổng thể của beam trong thế giới 3D giữa các đính kèm chia cho TextureLength của nó. Điều này cho phép kết cấu trông thực tế hơn với nước chảy.

        7. Đặt Color thành một chuỗi màu mà thay đổi màu từ xanh đậm và sáng đến trắng.

          1. Nhấp vào thuộc tính Color, sau đó nhấp vào nút . Một pop-up chuỗi màu sẽ hiển thị.

            Một cái nhìn gần của cửa sổ Properties trong Studio với nút ba chấm của thuộc tính Color được làm nổi bật.

            Mỗi tam giác trên trục dưới của chuỗi màu là một điểm chính xác định giá trị màu của thuộc tính tại điểm đó trong vòng đời của hạt.

          2. Đặt các thuộc tính thời gian và giá trị sau trong toàn bộ chuỗi màu:

            • 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. Đặt Transparency thành một chuỗi số mà làm cho nước trở nên sống động hơn khi nó tiếp cận mép của vách đá.

          1. Nhấp vào thuộc tính Transparency, sau đó nhấp vào nút . Một pop-up chuỗi số sẽ hiển thị. Theo mặc định, đồ thị là một đường thẳng và hình ảnh giữ nguyên độ trong suốt từ trái sang phải.

            Một cái nhìn gần của đồ thị chuỗi số Transparency.

            Mỗi hình vuông ở đầu và cuối chuỗi số là một điểm chính xác định giá trị độ trong suốt của thuộc tính tại điểm đó của kết cấu từ trái sang phải.

          2. Đặt các thuộc tính thời gian và giá trị sau trong toàn bộ chuỗi số:

            • 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. Tỉ lệ mỗi phần để đảm bảo kết cấu bao phủ chiều rộng của bể nước. Dòng chảy giờ đây có vẻ như đang chảy về phía mép của vách đá từ mọi góc độ.

  2. Tạo nước chảy nhanh từ dòng chính.

    1. Trong cửa sổ Explorer, tạo một Thư mục trong Workspace để chứa tất cả các đối tượng nước chảy, sau đó đổi tên thư mục thành Dòng thác.

    2. Chèn hai phần khối vào thư mục Dòng thác, sau đó đổi tên chúng thành MainDropStartMainDropStop, tương ứng.

    3. Di chuyển MainDropStart đến mép của vách đá, và di chuyển MainDropStop đến nơi nó nằm dưới bể nước.

      Một cái nhìn nghiêng của vách đá với hai phần khối được định vị nơi kết cấu dòng thác nhanh nên được hiển thị.
    4. Cấu hình các đính kèm cho tất cả các beam nước chảy từ dòng chính để sử dụng để hiển thị kết cấu của chúng.

      1. Chèn một đính kèm vào MainDropStart, sau đó xoay đính kèm cho đến khi dấu hiệu trực quan màu vàng chỉ ra xa khỏi vách đá.
      2. Chèn một đính kèm vào MainDropStop, sau đó xoay đính kèm cho đến khi dấu hiệu trực quan màu vàng chỉ về phía vách đá.
      Một cái nhìn nghiêng của vách đá với hai phần khối bao gồm các đính kèm. Phần khối ở trên cùng của vách đá bao gồm một dấu hiệu trực quan màu vàng chỉ ra xa khỏi vách đá, và phần khối ở dưới cùng của vách đá bao gồm một dấu hiệu trực quan màu vàng chỉ về phía vách đá.
    5. Chèn một Beam vào thư mục Dòng thác, sau đó đổi tên nó thành FastDrop.

    6. Gán mỗi đính kèm của phần cho FastDrop.

      1. Trong cửa sổ Explorer, chọn FastDrop.
      2. Trong cửa sổ Properties,
        1. Đặt Attachment0 thành đính kèm trong MainDropStart.
        2. Đặt Attachment1 thành đính kèm trong MainDropStop. Beam sẽ hiển thị kết cấu mặc định của nó giữa hai đính kèm.
      Một cái nhìn nghiêng của vách đá với hai phần khối hiển thị kết cấu beam mặc định giữa các đính kèm.
    7. Tùy chỉnh diện mạo trực quan của beam để nó trông giống như nước chảy nhanh từ dòng chính.

      1. Trong cửa sổ Explorer, xác nhận FastDrop vẫn được chọn.

      2. Trong cửa sổ Properties,

        1. Đặt Texture thành rbxassetid://16808804567 để hiển thị một kết cấu mới trông giống như nước chảy.
        2. Đặt Width0 thành 5 để mở rộng kết cấu từ trục mà nó bắt đầu hiển thị.
        3. Đặt Width1 thành 10 để mở rộng kết cấu khi nó gặp bể nước.
        4. Đặt CurveSize0 thành 10 để uốn cong kết cấu ra khỏi vách đá.
        5. Đặt CurveSize1 thành 20 để uốn cong kết cấu vào bể nước.
        6. Đặt TextureSpeed thành 1.3 để làm cho kết cấu chảy nhanh.
        7. Đặt TextureLength thành 2 để kéo dài chiều dài của kết cấu một chút.
        8. Đặt Color thành một chuỗi màu mà thay đổi màu từ xanh đậm và sáng đến trắng.
        • 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. Đặt Transparency thành một chuỗi số cho phép nước chảy nhanh hơn giữa các điểm đính kèm.
        • Time = 0, Value = 1
        • Time = 0.115, Value = 0
        • Time = 0.835, Value = 0
        • Time = 0.881, Value = .994
        • Time = 1, Value = 1
        1. Đặt ZOffset thành 2 để dịch chuyển kết cấu ra xa một chút khỏi vách đá.
        2. Bật FaceCamera để đảm bảo nước chảy nhanh có thể nhìn thấy bất kể góc độ của người chơi từ nước.
  3. Tạo nước chảy chậm từ dòng chính.

    1. Nhân bản FastDrop, sau đó đổi tên beam nhân bản thành SlowDrop.

    2. Tùy chỉnh diện mạo trực quan của beam để nó trông giống như nước chảy nhanh từ dòng chính.

      1. Trong cửa sổ Explorer, chọn SlowDrop.
      2. Trong cửa sổ Properties,
        1. Đặt Width1 thành 20 để mở rộng kết cấu hơn nữa khi nó gặp bể nước.
        2. Đặt TextureLength thành 1.5 để rút ngắn chiều dài của kết cấu một chút.
        3. Đặt TextureSpeed thành 1 để làm cho kết cấu chảy chậm hơn.
        4. Đặt ZOffset thành 0 để cho phép kết cấu chảy trực tiếp từ mép của vách đá.
  4. Trong cửa sổ Explorer, chọn tất cả các phần khối trong thư mục Dòng chảy, sau đó trong cửa sổ Properties, đặt Transparency thành 1 để làm cho các khối trở nên vô hình.

Cấu hình các vụ bắn

Khi các dòng thác va chạm với độ dày của bể nước bên dưới, nước sẽ bắn lên từ điểm va chạm để tạo ra các vụ bắn. Khi nước dạng khí này bắn lên, nó mở rộng và tách ra khỏi chính nó để tạo ra các giọt nước phân tán theo nhiều hướng khác nhau.

Để minh họa quá trình này, mẫu sử dụng hai đối tượng ParticleEmitter ở đáy của dòng chính. Bộ phát hạt đầu tiên phát ra các hạt trông giống như các vụ bắn dày đặc đại diện cho trọng lượng của nước bắt đầu bắn lên khi các dòng thác va chạm với bể nước. Bộ phát hạt thứ hai phát ra các hạt trông giống như giọt nước đại diện cho nước trở thành dạng khí.

Khi bạn cấu hình các bộ phát hạt này để phát ra cả hai loại hạt này cùng một lúc nhưng với tốc độ khác nhau, hiệu ứng hình ảnh kết quả mô phỏng hành vi vật lý thực tế của các vụ bắn. Những loại chi tiết này góp phần vào tính thực tế của VFX của bạn và làm cho người chơi đắm chìm trong không gian 3D.

Kết cấu 2D đại diện cho nước dạng khí dày đặc trước khi nó tách ra.
Kết cấu Dày = rbxassetid://16829556885
Kết cấu 2D đại diện cho nước dạng khí dày đặc khi nó tách ra.
Kết cấu Giọt = rbxassetid://17082061238

Để tái tạo các vụ bắn ở đáy của dòng chính trong tệp mẫu Waterfall Island:

  1. Trong cửa sổ Explorer, tạo một Thư mục trong Workspace để chứa tất cả các đối tượng vụ bắn, sau đó đổi tên thư mục thành Vụ bắn.

  2. Chèn một phần khối vào Vụ bắn, sau đó đổi tên nó thành MainDropSplashes.

  3. Định vị và tỉ lệ MainDropSplashes đến toàn bộ diện tích bề mặt nơi dòng thác va chạm với bể nước.

    Một cái nhìn gần của đáy vách đá với một phần khối được định vị tại điểm mà các dòng thác va chạm với bể nước.
  4. Tạo vụ bắn dày đặc nơi nước chảy từ dòng chính va chạm với bể nước.

    1. Chèn một ParticleEmitter vào MainDropSplashes, sau đó đổi tên bộ phát thành SplashDense.

    2. Chọn SplashDense, sau đó trong cửa sổ Properties,

      1. Đặt Texture thành rbxassetid://16829556885 để hiển thị các hạt trông giống như các vụ bắn dày đặc.
      2. Đặt Color thành một chuỗi màu bắt đầu bằng màu xanh rồi chuyển sang màu trắng.
      • Time = 0, RGB Value = 189, 246, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Đặt Size thành một chuỗi số mà tăng dần kích thước với một khoảng biến đổi.
      • Time = 0, Value = 1.81, Envelope = 0.562
      • Time = 1, Value = 5.75, Envelope = 1.31
      1. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, trở nên đục, sau đó lại trở nên trong suốt trong suốt vòng đời của chúng với một khoảng biến đổi lớn.
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.5, Value = 0.181, Envelope = 0.181
      • Time = 1, Value = 1, Envelope = 0
      1. Đặt Lifetime thành 0.25, 0.35 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 250 và 350 mili giây.
      2. Đặt Rate thành 30 để phát ra 30 hạt mỗi giây.
      3. Đặt Rotation thành -45, 45 để ngẫu nhiên định hướng mỗi hạt giữa -45 và 45 độ mỗi giây.
      4. Đặt RotSpeed thành -40, 40 để ngẫu nhiên phát ra mỗi hạt giữa -45 và 40 độ mỗi giây.
      5. Đặt Speed thành 20, 35 để ngẫu nhiên phát ra mỗi hạt giữa 20 và 35 studs mỗi giây.
      6. Đặt SpreadAngle thành 50, 50 để phát ra các hạt theo một góc dọc theo trục X và Z.
      7. Đặt Acceleration thành 0, -40, 0 để mô phỏng trọng lực và kéo các hạt xuống dưới.
      8. Đặt LightEmission thành 0.5 để làm sáng các hạt.
      9. Đặt LightInfluence thành 0.1 để giảm đáng kể mức độ ánh sáng môi trường ảnh hưởng đến màu sắc của các hạt.
  5. Tạo các giọt nước nơi nước chảy từ dòng chính va chạm với bể nước.

    1. Nhân bản SplashDense, sau đó đổi tên nó thành SplashDroplets.

    2. Chọn SplashDroplets, sau đó trong cửa sổ Properties,

      1. Đặt Texture thành rbxassetid://17082061238 để hiển thị các hạt trông giống như giọt nước.
      2. Đặt Size thành một chuỗi số mà tăng nhanh kích thước với một khoảng biến đổi.
      • Time = 0, Value = 1.81, Envelope = 0.562
      • Time = 1, Value = 8.69, Envelope = 1.31
      1. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, nhanh chóng trở nên đục, sau đó từ từ bắt đầu trở nên trong suốt một lần nữa gần giữa vòng đời của chúng.
      • 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. Đặt Lifetime thành 0.15, 0.6 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 150 và 600 mili giây.
      2. Đặt Rate thành 20 để phát ra 20 hạt mỗi giây.
  6. Trong cửa sổ Explorer, chọn tất cả các phần khối trong thư mục Vụ bắn, sau đó trong cửa sổ Properties, đặt Transparency thành 1 để làm cho các khối trở nên vô hình.

Cấu hình nước trắng

Nước trắng xuất hiện khi nguồn nước trở nên hỗn loạn hơn khi nó tăng tốc độ khi tiếp cận sự rơi và va chạm với các vật thể trên đường đi của nó. Điều này dẫn đến nước sủi bọt, có mạng nhện mà xuất hiện màu trắng do nhiều bọt khí trong nguồn nước.

Để bắt chước quá trình này, mẫu sử dụng hai đối tượng ParticleEmitter phát ra các hạt trông giống như các vụ bắn dày đặc nơi dòng chảy va chạm vào những tảng đá ở mép vách đá. Bộ phát không sử dụng ánh sáng tích hợp, mà thay vào đó ưu tiên các sắc thái trắng và xám với các tốc độ rơi khác nhau để thể hiện số lượng không khí trong nước.

Kết cấu 2D đại diện cho nước dạng khí dày đặc khi nó va chạm vào những tảng đá.
Kết cấu Nước Trắng = rbxassetid://16808075391

Để tái tạo nước trắng nơi dòng chảy va chạm với những tảng đá ở mép vách đá trong tệp mẫu Waterfall Island:

  1. Trong cửa sổ Explorer, tạo một Thư mục trong Workspace để chứa tất cả các đối tượng nước trắng, sau đó đổi tên thư mục thành Nước Trắng.

  2. Chèn một phần khối vào Nước Trắng, sau đó đổi tên nó thành MainDropWW.

  3. Định vị và tỉ lệ MainDropWW đến toàn bộ diện tích bề mặt nơi dòng chảy bắt đầu chảy qua vách đá.

    Một cái nhìn nghiêng của đỉnh vách đá với một phần khối được định vị tại điểm mà dòng chảy bắt đầu chảy qua vách đá.
  4. Tạo nước trắng ít hỗn loạn nơi dòng chảy chính va chạm với những tảng đá xung quanh.

    1. Chèn một ParticleEmitter vào MainDropWW, sau đó đổi tên bộ phát thành GentleWW.

    2. Chọn GentleWW, sau đó trong cửa sổ Properties,

      1. Đặt Texture thành rbxassetid://16808075391 để hiển thị các hạt trông giống như các vụ bắn mạng nhện.
      2. Đặt Color thành một chuỗi màu bắt đầu bằng màu xanh rồi chuyển sang màu trắng.
      • Time = 0, RGB Value = 189, 246, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Đặt Size thành một chuỗi số mà tăng dần kích thước với một khoảng biến đổi.
      • Time = 0, Value = 1.13, Envelope = 0.562
      • Time = 1, Value = 5.56, Envelope = 0.563
      1. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, trở nên đục khoảng giữa, sau đó có những đỉnh nhẹ để trở nên trong suốt một lần nữa trong suốt vòng đời của chúng.
      • 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. Đặt ZOffset thành 2 để dịch chuyển kết cấu ra xa một chút khỏi vách đá.
      2. Đặt Lifetime thành 1.25, 1.5 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 1250 và 1500 mili giây.
      3. Đặt Rate thành 12 để phát ra 12 hạt mỗi giây.
      4. Đặt Rotation thành -45, 45 để ngẫu nhiên định hướng mỗi hạt giữa -45 và 45 độ mỗi giây.
      5. Đặt RotSpeed thành -40, 40 để ngẫu nhiên phát ra mỗi hạt giữa -45 và 40 độ mỗi giây.
      6. Đặt Speed thành 15, 18 để ngẫu nhiên phát ra mỗi hạt giữa 20 và 35 studs mỗi giây.
      7. Đặt SpreadAngle thành 5, 5 để phát ra các hạt theo một góc nhỏ dọc theo trục X và Z.
      8. Đặt Acceleration thành 0, -35, 0 để mô phỏng trọng lực và kéo các hạt xuống dưới.
      9. Đặt Drag thành 0.25 để các hạt mất tốc độ với sự suy giảm theo cấp số nhân.
      10. Đặt LightEmission thành 0.6 để làm sáng các hạt.
      11. Đặt LightInfluence thành 0.1 để giảm đáng kể mức độ ánh sáng môi trường ảnh hưởng đến màu sắc của các hạt.
  5. Tạo nước trắng hỗn loạn hơn nơi dòng chảy chính va chạm với những tảng đá xung quanh.

    1. Nhân bản GentleWW, sau đó đổi tên nó thành TurbulentWW.

    2. Chọn TurbulentWW, sau đó trong cửa sổ Properties,

      1. Đặt Size thành một chuỗi số mà tăng dần kích thước với một khoảng biến đổi.
      • Time = 0, Value = 1.6, Envelope = 0.562
      • Time = 1, Value = 2.63, Envelope = 0.563
      1. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, trở nên đục, sau đó trở nên trong suốt một lần nữa gần giữa vòng đời của chúng.
      • 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. Đặt Lifetime thành 0.25, 0.5 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 250 và 500 mili giây.
      2. Đặt Rate thành 20 để phát ra 20 hạt mỗi giây.
      3. Đặt Speed thành 5, 6 để ngẫu nhiên phát ra mỗi hạt giữa 5 và 6 studs mỗi giây.
      4. Đặt Acceleration thành 0, -15, 0 để mô phỏng trọng lực và kéo các hạt xuống dưới.
  6. Trong cửa sổ Explorer, chọn tất cả các phần khối trong thư mục Nước Trắng, sau đó trong cửa sổ Properties, đặt Transparency thành 1 để làm cho các khối trở nên vô hình.

Cấu hình bọt

Khác với các vụ bắn mà bắn lên khi các dòng thác va chạm với bể nước, bọt là nước sủi bọt lan tỏa ra từ đáy điểm va chạm. Tương tự như các vụ bắn, bọt mở rộng và tách ra khỏi chính nó thành các giọt giống như mạng nhện khi nó trở thành dạng khí.

Để bắt chước hiệu ứng này, mẫu sử dụng một đối tượng ParticleEmitter để phát ra các hạt trông giống như sóng bọt, và nó phát ra chúng chậm rãi song song với bể nước. Điều này cho phép hạt mô phỏng hiệu ứng hình ảnh và hành vi của một sóng mao dẫn phá vỡ sức căng bề mặt của bể nước bên dưới.

Kết cấu 2D đại diện cho nước dạng khí lan tỏa ra từ nơi các dòng thác va chạm với bể nước.
Kết cấu Sóng Bọt = rbxassetid://16811365086

Để tái tạo bọt ở đáy của dòng chính trong tệp mẫu Waterfall Island:

  1. Trong cửa sổ Explorer, tạo một Thư mục trong Workspace để chứa tất cả các đối tượng bọt, sau đó đổi tên thư mục thành Bọt.

  2. Chèn một phần khối vào Bọt, sau đó đổi tên nó thành MainDropFoam.

  3. Định vị và tỉ lệ MainDropFoam đến toàn bộ diện tích bề mặt nơi phần dày đặc nhất của dòng thác va chạm với bể nước.

    Một cái nhìn nghiêng của đáy vách đá với một phần khối được định vị tại điểm mà các dòng thác va chạm với bể nước.
  4. Chèn một ParticleEmitter vào MainDropFoam, sau đó đổi tên bộ phát thành FoamRipples.

  5. Trong cửa sổ Explorer, chọn FoamRipples, sau đó trong cửa sổ Properties,

    1. Đặt Texture thành rbxassetid://16811365086 để hiển thị các hạt trông giống như sóng bọt.

    2. Đặt Orientation thành VelocityPerpendicular để phát ra các hạt vuông góc với hướng di chuyển của chúng.

    3. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, nhanh chóng trở nên đục, sau đó nhanh chóng trở nên trong suốt về cuối vòng đời của chúng.

      • 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. Đặt Lifetime thành 0.5, 0.7 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 500 và 700 mili giây.

    5. Đặt Rate thành 5 để phát ra 5 hạt mỗi giây.

    6. Đặt Rotation thành 0, 360 để ngẫu nhiên định hướng mỗi hạt theo hình tròn từ điểm phát ra.

    7. Đặt RotSpeed thành -15, 15 để ngẫu nhiên phát ra mỗi hạt giữa -15 và 15 độ mỗi giây.

    8. Đặt Speed thành 0, .01 để ngẫu nhiên phát ra mỗi hạt giữa 0 và .01 studs mỗi giây.

    9. Đặt LightEmission thành 0.25 để làm sáng nhẹ các hạt.

    10. Đặt LightInfluence thành 0 để ngăn ánh sáng môi trường ảnh hưởng đến màu sắc của các hạt.

  6. Trong Command Bar, nhập chuỗi sau để tăng kích thước của mỗi hạt từ 5 đến 20 studs trong suốt vòng đời của chúng với một khoảng biến đổi nhỏ:

    workspace.Foam.MainDropFoam.FoamRipples.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,5,0), NumberSequenceKeypoint.new(1,20,5)}
  7. Trong cửa sổ Explorer, chọn tất cả các phần khối trong thư mục Bọt, sau đó trong cửa sổ Properties, đặt Transparency thành 1 để làm cho các khối trở nên vô hình.

Cấu hình sương mù

Khi các dòng thác va chạm với bể nước, một số nước sẽ bay hơi và ngưng tụ trong không khí mát mẻ, ẩm ướt để tạo ra sương mù. Hơi nước không bắt ánh sáng theo cách mà các bề mặt cứng làm; thay vào đó, chúng phản chiếu ánh sáng theo những cách thường không ngờ tới để xuất hiện sáng trong môi trường tổng thể cho đến khi chúng hoàn toàn bay hơi.

Mẫu mô phỏng quá trình này bằng cách sử dụng hai đối tượng ParticleEmitter ở đáy của dòng chính. Bộ phát hạt đầu tiên phát ra các hạt một cách năng động ra khỏi điểm va chạm và vách đá, và bộ phát thứ hai phát ra các hạt từ từ bay lên trời. Các hạt của cả hai bộ phát đều sáng ở đầu vòng đời của chúng, và từ từ trở nên trong suốt về cuối vòng đời của chúng khi chúng bay hơi.

Tương tự như trong thế giới thực, quá trình bay hơi sương mù cho phép một cầu vồng hình thành khi ánh sáng phản chiếu từ các giọt nước nhỏ, mà mẫu cũng mô phỏng với một đối tượng ParticleEmitter phát ra các hạt cầu vồng với vòng đời ngắn. Những hạt này luôn hướng về phía camera bất kể góc độ của người chơi từ thác nước để tạo ra một ảo giác quang học của ánh sáng bắt được trên chính hơi nước.

Kết cấu 2D đại diện cho sương mù.
Kết cấu Sương Mù = rbxassetid://16830667309
Kết cấu 2D đại diện cho cầu vồng.
Kết cấu Cầu Vồng = rbxassetid://16828911033

Để tái tạo sương mù bay ra và lên từ đáy của dòng chính trong tệp mẫu Waterfall Island:

  1. Trong cửa sổ Explorer, tạo một Thư mục trong Workspace để chứa tất cả các đối tượng liên quan đến sương mù, sau đó đổi tên thư mục thành Sương mù.

  2. Tạo sương mù tỏa ra từ va chạm của dòng thác vào bể nước.

    1. Chèn một phần khối vào Sương mù, sau đó đổi tên nó thành BaseMist.

    2. Định vị, định hướng và tỉ lệ BaseMist để nó hướng ra xa phần dày đặc nhất của vị trí mà dòng thác chính va chạm với bể nước.

      Một cái nhìn nghiêng của đáy vách đá với một phần khối được định vị tại điểm mà các dòng thác va chạm với bể nước. Phần khối hơi nghiêng để mặt trên hướng ra xa khỏi vách đá.
    3. Chèn một ParticleEmitter vào BaseMist, sau đó đổi tên bộ phát thành Mist.

    4. Chọn Mist, sau đó trong cửa sổ Properties,

      1. Đặt Texture thành rbxassetid://16830667309 để hiển thị các hạt trông giống như sương mù dày.
      2. Đặt Color thành một chuỗi màu bắt đầu bằng màu xanh rồi chuyển sang màu trắng.
      • Time = 0, RGB Value = 171, 244, 255
      • Time = 0.339, RGB Value = 251, 254, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Đặt Size thành một chuỗi số mà tăng dần kích thước.
      • Time = 0, Value = 8, Envelope = 0
      • Time = 1, Value = 10, Envelope = 0
      1. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, nhanh chóng trở nên đục, sau đó nhanh chóng trở nên trong suốt về cuối vòng đời của chúng.
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.0971, Value = 0.8, Envelope = 0.0625
      • Time = 1, Value = 1, Envelope = 0
      1. Đặt ZOffset thành 2 để dịch chuyển kết cấu ra xa một chút khỏi bể nước.
      2. Đặt Lifetime thành 0.5, 1 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 500 và 1000 mili giây.
      3. Đặt Rate thành 20 để phát ra 20 hạt mỗi giây.
      4. Đặt Rotation thành -360, 360 để ngẫu nhiên định hướng mỗi hạt theo hình tròn.
      5. Đặt RotSpeed thành -50, 50 để ngẫu nhiên phát ra mỗi hạt giữa -50 và 50 độ mỗi giây.
      6. Đặt Speed thành 35, 50 để ngẫu nhiên phát ra mỗi hạt giữa 35 và 50 studs mỗi giây.
      7. Đặt SpreadAngle thành 25, 25 để phát ra các hạt theo một góc nhỏ dọc theo trục X và Z.
      8. Đặt Acceleration thành -10, -25, -10 để mô phỏng tác động của vụ bắn nổ ra từ bể nước.
      9. Đặt Drag thành 1.5 để các hạt mất tốc độ với sự suy giảm theo cấp số nhân.
  3. Tạo sương mù bay lên từ bể nước.

    1. Nhân bản BaseMist, sau đó đổi tên nó thành RiseMist.
    2. Định hướng RiseMist sao cho phần trên của nó phát ra các hạt hướng lên trời.
    3. Chọn bộ phát hạt con của nó, sau đó trong cửa sổ Properties,
      1. Đặt Lifetime thành 4 để đặt vòng đời của mỗi hạt thành 4 giây.
      2. Đặt Rate thành 3 để phát ra 3 hạt mỗi giây.
      3. Đặt RotSpeed thành -10, 10 để ngẫu nhiên phát ra mỗi hạt giữa -10 và 10 độ mỗi giây.
      4. Đặt Speed thành 25 để phát ra mỗi hạt 25 studs mỗi giây.
      5. Đặt Acceleration thành 0, 0, 0 để loại bỏ mô phỏng trước đó.
      6. Đặt Drag thành 1 để các hạt mất tốc độ với sự suy giảm theo cấp số nhân.
    4. Trong Command Bar, nhập chuỗi sau để tăng kích thước của mỗi hạt từ 20 đến 20 studs trong suốt vòng đời của chúng với một khoảng biến đổi nhỏ:
    workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}
  4. Tạo cầu vồng.

    1. Chèn một phần khối vào Sương mù, sau đó đổi tên nó thành RainbowPart.

    2. Định vị RainbowPart hơi cao hơn các phần khối khác.

    3. Chèn một ParticleEmitter vào Rainbow, sau đó đổi tên bộ phát thành Rainbow.

    4. Chọn Rainbow, sau đó trong cửa sổ Properties,

      1. Đặt Texture thành rbxassetid://16828911033 để hiển thị các hạt trông giống như một cầu vồng mờ.
      2. Đặt Size thành 25 để hiển thị các hạt lớn.
      3. Đặt Transparency thành một chuỗi số mà các hạt bắt đầu trong suốt, trở nên đục một chút, sau đó trở nên trong suốt một lần nữa trong suốt vòng đời của chúng.
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.497, Value = 0.363, Envelope = 0.05
      • Time = 1, Value = 1, Envelope = 0
      1. Đặt Lifetime thành 2, 4 để ngẫu nhiên đặt vòng đời của mỗi hạt giữa 200 và 400 mili giây.
      2. Đặt Rate thành 0.25 để phát ra một hạt mỗi 4 giây.
      3. Đặt Rotation thành -20 để định hướng mỗi hạt một chút.
      4. Đặt Speed thành 0 để phát ra mỗi hạt 0 studs mỗi giây.
      5. Đặt Drag thành 1 để các hạt mất tốc độ với sự suy giảm theo cấp số nhân.
      6. Đặt LightEmission thành 1 để sử dụng trộn cộng để hiển thị các hạt với các màu sắc phía sau chúng. Bước này cũng loại bỏ nền đen từ chính kết cấu.
      7. Đặt LightInfluence thành 0 để ngăn ánh sáng môi trường ảnh hưởng đến màu sắc của các hạt.
  5. Trong cửa sổ Explorer, chọn tất cả các phần khối trong thư mục Sương mù, sau đó trong cửa sổ Properties, đặt Transparency thành 1 để làm cho các khối trở nên vô hình.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.