Schneefall bzw generell Niederschlag korrekt berechnen
-
Hi!
Ich bastel gerade an nem kleineren 3D Spiel herum und wollte mal Regen und Schnee einbauen.
Regen fällt ja schneller und bekommt einfach einen Positions- und einen Richtungsvektor, jedoch Schnee ist etwas tricky...
Wie berechnet ihr den Schneefall korrekt? Einfach alle Flocken gleich runterfallen zu lassen sieht nicht besonders toll aus...
Jetzt hab ich mir überlegt Wind einzubauen und einfach alle x Sekunden einen neuen Windrichtungsvektor (dx,dy,dz) per Zufall zu vergeben.
Gibts da eine bessere/einfachere Möglichkeit?
Wie habt ihr das gelöst?
-
Nehmen wir an, du hast ein Array mit 1000 Flocken. Jede davon hat Positions, und Geschwindigkeitsvektor.
Mit jedem Frame suchst du dir jedes 10te davon raus. Dafür suchst du dann per Zufall neuen v-Vektor (wobei Gravitation und Windrichtung etwas dominieren).
Das Positionsupdate machst du aber für jede Flocke.
Im nächsten Frame nimmst du dir dann wieder jedes 10. vor, allerdings mit versetztem Anfang. (Damit jedes 100. Frame jede Flocke gewiss einmal rankam.)Das sollte bei ausreichend vielen Flocken mit guter Anfangsverteilung im Raum im Großen glaubwürdig aussehen.
(Die Zahlen musst du allerdings nach Augenmaß variieren.)
-
Danke, klingt sehr interessant!
Werd das mal ausprobieren!