Zusamenfassend..
Ich würde das durch Wissenschaft denken.
Wie wir alle wissen, ist Schnee Regen und umgekehrt, außer dass sie aufgrund von Temperaturänderungen unterschiedliche Festkörper haben.
Temperaturänderungen können mit Winden verbunden sein.
Ein schnelles Google für "Was Wind verursacht" gab mir eine Antwort von Answers.com:
"Die Druckgradientenkraft, die durch die ungleichmäßige Erwärmung der Erdoberfläche entsteht. Sobald sie in Bewegung ist, entsteht die Coriolis-Kraft aus der Erdrotation, um sie abzulenken (rechts auf der Nordhalbkugel, links auf der Südhalbkugel)."
Ja, nicht die beste Quelle für wissenschaftliche Fragen, aber es gibt die Idee.
Theoretisch brauchen Sie jetzt nur noch Wind. Es kann zufällig sein oder auch irgendwie in eine Umgebung geschrieben werden, die sich aufgrund einiger Ereignisse erwärmt.
Nehmen Sie jetzt Wind, wenden Sie sich an Ihre aktuelle Position und machen Sie zufällig oder durch ein Skript Wolken daraus. Je dichter die Wolke ist, desto größer ist die Wahrscheinlichkeit und Dichte des Regens. Wenn die Temperatur niedrig genug ist, wird Regen zu Schnee. Bewegen Sie die Wolke und machen Sie sie mit diesem Wind "nicht so dicht".
Was die Anzeige betrifft, liegt es an Ihnen, einfach die Zustände der fallenden Partikel zwischenzuspeichern if rain -> use water drop texture
undif snow -> use snowflake texture
. Verwenden Sie den Wind, um diese Partikel entsprechend der Windrichtung zu bewegen (ja, Sie sollten diese auch irgendwo aufbewahren), um sie etwas realistischer zu gestalten.
Und damit können Sie alles erweitern. Wenn beispielsweise Schnee fällt und die Schneeflocken in der Nähe einer Wärmequelle fallen, ändern Sie die Partikelstruktur wieder in Regen.
Viele Möglichkeiten, dies ist nur ein einfaches Konzept.
PS Was den Hagel betrifft, schauen Sie, was diese ausmacht, und erweitern Sie das Konzept für eine solche Umgebung.
Viel Spaß, viel Glück.