MonoGame vattendroppar

Inledning

I den här videon bygger vi en klassisk vattendropps-effekt i C# med MonoGame. Med hjälp av en enkel 2D-simulation skapar vi ringar i vattenytan när droppar träffar ytan – antingen med musen eller via ett automatiskt regn.

Simulationen använder ett höjdfält med två buffertar där varje pixel påverkas av sina grannar för att skapa realistiska vågor. Resultatet används sedan för att bryta bakgrundsbilden (refraction), vilket ger illusionen av vatten som förvränger det som ligger under.

Vi går igenom hur vågorna beräknas, hur droppar genereras och hur man renderar effekten i realtid. Resultatet är en snabb och klassisk grafikeffekt som ofta användes i äldre demos och spel – nu implementerad i modern C# och MonoGame.

Länk till original artikeln från -98!

Kontroller

  1. Vänsterklick: lägger en standarddroppe där musen är.

  2. Högerklick: skapar en större störning (starkare droppe) för mer dramatiska ringar.

Utöver det finns ett “regn”-läge som automatiskt släpper ner droppar över hela ytan:

  • En accumulator räknar hur många droppar som ska skapas baserat på tid (RainDropsPerSecond).

  • Varje droppe får slumpad position och styrka, vilket ger ett konstant liv i vattnet.

Du kan toggla:

  • R: slå av/på regn

  • B: växla till “black & white effect only” (debug/effektläge)

Video

Kod & Content

Här kan du ladda ned det färdiga projektet.

Scroll to top