Utmaningar och lösningar för utveckling av en Virtual Reality applikation
Huvudbild: Tobias har fångat en sik i Kukkolakoski, svenska sidans håvställen (Kukkolaforsen) syns i bakgrunden
Interreg Aurora-finansierade projektet Torne Valley Dipnet Culture handlar om att bevara kulturarvet för håvfiske i Torneälven. Novias del i projektet är att utveckla en Virtual Reality (VR) applikation som kan användas i syfte att locka fler unga att testa på och få intresse för den flerhundraåriga håvfisketraditionen. Den här artikeln kommer att handla om tekniska utmaningar och lösningar för att utveckla en VR-applikation för håvfiske.
Utvecklingsteamet på Novia FUI i Jakobstad består av Tobias Björkskog och Joakim Finholm, där Joakim står för skapandet av det audiovisuella materialet och Tobias står för programmeringen. Därtill har vi ytterligare fått hjälp av praktikanter (Novia-studerande från bildkonst och inredningsarkitektur).
I ett tidigt skede av projektet så bestämdes det att vi skulle använda Unreal Engine och utveckla applikationen för Meta Quest 3 VR headsets.
Målen för applikationen är att kunna stå på olika bryggor (krenkkun) och håvfiska i VR. Samtidigt ville vi också skapa en så realistisk upplevelse som möjligt för användaren. Utvecklingsteamet åkte upp till Kukkolaforsen och Matkakoski på både finska och svenska sidan och fick prova på att håvfiska för att kunna återskapa samma upplevelse. Vi filmade in 17 olika platser/krenkkun med en 360° kamera med 4K upplösning, samtidigt blev vissa speciella platser inspelade med en 3D-kamera.
Figur 2: Håvfiske från en krenkku i Kukkolakoski.
Det är relativt lätt att få en 360°-video att spela upp som omgivning i VR-miljön, det görs genom att spela upp den på en stor sfär som omringar hela området. Men en av de utmaningar vi visste att skulle komma var hur man mixar ihop 3D-objekt i en miljö med en 360°-video. Vi testade med att ha den krenkku man står på som ett 3D-objekt och märkte direkt att alla 360°-videon behöver editeras och själva krenkkun behöver suddas ut i videon. Ett annat problem som uppstod var ju att man i videon ser forsen strömma förbi men när man lägger ner håven i vattnet så sänks den inte under vattenytan eftersom vattenytan bara är pixlar på sfären runtomkring.
Lösningen till detta blev att projicera vattenpixlarna på ett plan. Med hjälp av en Spherical UV-projection-formel så visas vattnet på det halvgenomskinliga vattenplanet. Effekten blev direkt att man får en 3D-känsla av var vattenytan verkligen är, samt att man ser när håven går under vattenytan (håven mörkas samtidigt ner med en annan shader, ju djupare under vattenytan den är).
Figur 3: Material shader för vattnets Spherical UV-projection på vattenytan
En annan utmaning är själva håven man ska hålla i. I verkligheten är den 6,5 meter lång och när man fiskar med en riktig håv och sänker den under vattenytan så drar ju älven med sig håven automatiskt i vattnets riktning. I VR-miljön så finns det 2 handkontroller man kan använda, men att hålla i en handkontroll känns inte alls likadant som att hålla i en håv.
Vi tog hjälp av praktikanter från inredningsarkitektur som tog fram några olika alternativ där man på egen hand kan bygga sin håv (med en 1 meters rundstav) och fästa handkontrollen i den med 3D-printade fästen. Längst ut på håven hänger en 300 grams vikt, den gör att när man är inne i VR-världen och ser den långa håven så känns svajet i den ganska naturlig. Om änden på håven i VR rör i botten på forsen så vibrerar handkontrollen så att man får en känsla av kontakt. Den enda funktionen med håven som vi ännu inte lyckats lösa är hur man skall få den att automatiskt dras nedströms åt vänster (ifall man står på finska sidan och håvar) eller höger ifall man väljer en krenkku i Sverige.
Figur 4: Tobias visar hur man håller i håven medan man är inne i VR-världen
För att bygga upp själva krenkkun man står på ville vi testa instancing i Unreal Engine. Instancing innebär att man skapar en planka i 3D (vi använde programmet Blender) och sedan bygger upp själva krenkkun av flera liknande plankor, men med annan position, rotation och skalning. Om man har en lång krenkku med tusentals plankor så blir renderingen av krenkkun snabbare med instancing-teknik. Det är dessutom lättare att ändra (t.ex. byta plankans textur) på 3D-objekten istället för att ha modellerat hela krenkkun och sen försöka ändra om den i Blender. Processen blev följande
- Använda de färdiga 3D-plankmallarna vi gjort i Blender.
- Placera ut dom var för sig med egen position, rotation och skalning.
- Exportera krenkkun som csv
- Importera csv i Unreal Engine, sparas som en data table.
- Ladda in de olika planktyperna i Unreal Engine och använd instancing för att placera ut dom (med hjälp av data table), Unreal sköter sedan automatiskt renderingen.
Figur 5: Screenshot från en krenkku i Blender samt exportscriptet.
När man håvar på riktigt så har traditionsutövarna lärt sig i vilka små gropar som siken pausar i för att vila upp sig i forsen. Man drar då håven medströms ca 2 centimeter över bottenytan genom gropen där siken vilar, på detta sätt fångar man fisk. Direkt håven rör i botten så blir fiskarna skrämda och simmar iväg, så det är ett verkligt precisionsarbete.
Vi återskapade detta för att fånga fisk i VR. Det finns triggerboxar som rör sig (som fisken) samt statiska triggerboxar för gropen. Om håvens ände är inuti både gropens och fiskens triggerbox samtidigt så fångas en fisk i håven. Ifall man av misstag rör håven i botten av forsen så återställs fiskens rörliga trigger och man får vänta någon sekund före den simmat tillbaka till gropen för att vila.
Figur 6: Screenshot från VR-applikationen, här syns en fisk som fångats i håven
Tanken är att denna VR-applikation ska kunna testas av både unga och gamla som kanske inte har erfarenhet av att styra runt i VR. Så för att navigera i menyerna har vi gjort så att man styr genom att fokusera VR-headsetet (blicken) på den knapp man vill trycka på. Om man håller kvar fokus så syns en liten roterande timer, och efter 1 sekund fokus på en knapp så triggas ett knapptryck. På detta sätt kan personen som testar ta sig igenom menyerna och välja bland våra 17 olika krenkkun från Finland och Sverige.
Figur 7: Meny för att välja krenkkun i Kukkolakoski (vita pricken är markör), med en 3D video på grillkåtan i bakgrunden
Torne Valley Dipnet Culture projektet pågår till februari 2027, men VR-applikationen ska bli helt klar hösten 2026.

https://www.novia.fi/fui/projekt/torne-valley-dipnet-culture
Artikeln har godkänts för publicering av Novias redaktionsråd 16.6.2026.
ISSN: 1799-4187
![]()