Nói ngắn gọn..
Tôi sẽ suy nghĩ điều này thông qua khoa học.
Như chúng ta đã biết, tuyết là mưa và ngược lại, ngoại trừ chúng có trạng thái rắn khác nhau do thay đổi nhiệt độ.
Thay đổi nhiệt độ có thể được liên kết với gió.
Google nhanh chóng cho "nguyên nhân gây ra gió" đã cho tôi câu trả lời từ Hỏi & Đáp:
"Lực gradient áp suất, phát sinh từ sự nóng lên không đều của bề mặt trái đất. Một khi nó đang chuyển động, lực Coriolis phát sinh từ sự quay của Trái đất để làm chệch hướng nó (ngay ở bán cầu bắc, bên trái ở bán cầu nam)."
Aye, không phải là nguồn tốt nhất cho các câu hỏi khoa học, nhưng nó đưa ra ý tưởng.
Vì vậy, về mặt lý thuyết, bạn chỉ cần gió bây giờ. Nó có thể là ngẫu nhiên, hoặc, cũng có thể được viết theo kịch bản nào đó cho môi trường của bạn nóng lên do một số sự kiện.
Hãy đón gió ngay bây giờ, áp dụng cho vị trí hiện tại của bạn và ngẫu nhiên hoặc thông qua một cách viết kịch bản, tạo ra những đám mây từ đó. Đám mây càng dày thì xác suất và mật độ mưa càng nhiều. Nếu nhiệt độ đủ thấp, mưa sẽ trở thành tuyết. Di chuyển đám mây xung quanh và làm cho nó "không quá dày đặc" với cơn gió đó.
Đối với màn hình, điều đó tùy thuộc vào bạn, chỉ cần lưu trữ trạng thái của các hạt rơi if rain -> use water drop texture
và if snow -> use snowflake texture
. Sử dụng gió để làm cho các hạt này di chuyển theo hướng gió (vâng, bạn cũng nên lưu trữ hạt này, ở đâu đó) để làm cho nó thực tế hơn một chút.
Và với điều này, bạn có thể mở rộng trên tất cả mọi thứ. Giống như, nếu có tuyết rơi và những bông tuyết rơi gần một nguồn nhiệt nào đó, hãy thay đổi kết cấu hạt thành mưa một lần nữa.
Rất nhiều khả năng thực sự, đây chỉ là một khái niệm đơn giản.
PS Đối với mưa đá, hãy xem những gì tạo ra chúng, mở rộng khái niệm cho môi trường như vậy.
Chúc bạn vui vẻ, may mắn.