Att QGIS är ett mycket bra GIS är det nog ingen som läser den här bloggen som behöver påminnas om. Men det finns saker som andra program är bättre på, exempelvis visualiseringar i 3D. Även om 3D utvecklas så sakteliga i QGIS så kan det inte mäta sig med funktioner och möjligheter i program som Blender. Blender är ett komplett program för 3D produktion som har samma öppna licens som QGIS, och det går att hitta många exempel på vad som är möjligt med programmet på Internet. Det är däremot inte ett enkelt program att lära sig. QGIS kan tyckas avancerat för den oinvigde, men det är ingenting mot Blender…
Det finns dock möjligheter att med tydliga och enkla handledningar skapa 3D miljöer i Blender som inte behöver vara speciellt svåra att få fram, och i detta inlägg tänkte jag försöka mig på en sådan beskrivning.

Först och främst behöver du lite kartinformation. Det som krävs är höjddata och någon form av kartbild. Leta reda på ett område du är intresserad av och se till att QGIS kartfönster är någorlunda kvadratiskt. Detta kommer att göra det mera sannolikt att allt som du vill ha med också kommer med i resultatet.

Exportera därefter kartan som bild i två varianter. En med höjddata som är färglagt från svart till vitt, och en med själva kartan. Flytta inte kartan mellan exporterna och se till att inställningarna är exakt de samma i övrigt. Du kan variera DPI inställningarna om du exempelvis vill ha lite högre upplösning på kartbilden. När detta steg är klart har du en bild med höjddata och en med kartan lagrat på disk. Om du vill ha ännu större kontroll på exporten så kan du gå via en layout där du sätter en pappersstorlek till exakt kvadratisk, exempelvis med 1’000 x 1’000 pixlar.
Öppna Blender och rensa allt i startfönstret genom att trycka på ”A” och Delete.
Detta är nu inte en lektion i Blender så om du inte är helt bekväm med programmet så kan det vara lämpligt att åtminstone börja testa lite rörelser i gränssnittet. Använd scrollhjulet för att zooma och tryck på det för att rotera runt. Om du håller shift nere när scrollhjulet trycks ned så kan du panorera bilden.

Lägg till ett enkelt ”plan” genom att trycka på shift+A och därefter välja ”Mesh” och ”Plane”.
Ytan är nu väldigt enkel och för att kunna göra om den till en 3D yta så behöver den göras mera komplicerad. Detta åstadkommer vi genom att dela upp den i många mindre delar. För att göra det så behöver vi markera objektet (orange kantlinje) och gå in i ”edit-mode” med TAB på tangentbordet.

Du ser vilken ”mode” du är i uppe till vänster i programmet. I det här exemplet kommer du i huvudsak att vara i ”Object Mode”, men för just det här momentet så krävs ”Edit Mode”.
Högerklicka på objektet och välj ”Subdivide”. Detta delar ytan i fyra rutor, men det räcker inte långt. För att upprepa delningen så kan du välja shift+R så många gånger du vill för att skapa en rimlig mängd rutor. Om du delar för mycket så kommer programmet att gå lite långsammare, så du får försöka hitta en ”lagom” mängd delningar. Om det inte riktigt räcker så gör det inget nu, då vi kommer att använda en annan metod för att dela lite till senare.
När du är nöjd så går du ut ur ”edit-mode” genom att trycka på TAB igen.
För att lägga till höjdinformation så behöver vi använda en ”modifier”.

Till höger så finns det verktygspaneler, och en av dessa har en u-nyckel som symbol. Detta är ”modifiers”. Här klickar du på ”Add Modifier” och väljer ”Displace”. Detta lägger till en modifier i en lista i verktygsfältet.
Här väljer du sedan ”New” och skriver in ett namn, exempelvis ”Höjddata” i fältet som exemplet i bilden nedan visar.

Längst till höger på samma rad finns en knapp för inställningar av ”texture” som tar dig till ett nytt verktygsfält.
I detta nya fält så skall du välja ”Open” och leta reda på din bild med höjddata.

Om allt fungerar så kommer troligen ditt plan i 3D vyn att bli lite mindre platt…
Gå tillbaka till fliken med ”u-nyckeln” och justera ”Strength” till något mera passande.
Om du tycker att bilden är lite väl ”grov” så kan du prova att lägga till en ny ”modifier” vid namn ”Subdivision Surface” som dynamiskt gör lite samma sak som delningen vi gjorde tidigare. Det går att justera hur många ytterligare delningar som skall göras i visningsfönstret och vid rendering. Det kan vara smart att dela färre gånger ”live” och sedan dela någon extra gång vid rendering, för att inte hanteringen i datorn skall bli allt för långsam. Subdivision måste också flyttas över Displace i listan med modifiers, så att delningen görs före det att höjddata appliceras. Detta gör du helt enkelt genom att klick-dra fälten med handtaget överst till höger i varje fält.
Vill du ytterligare ”jämna ut” 3D modellen så kan du högerklicka på den i 3D vyn och välja ”Shade Smooth”.

Du bör nu ha en skapligt detaljerad 3D modell som du fortfarande kan justera med inställningarna för modifiers om det skulle behövas senare.
För att drapera kartan på modellen så behöver vi lägga till ett ”material”. Inställningar för detta finns i verktygspanelerna till höger under fliken med en ”sfär” (Material Properties).

Klicka på ”New” och vid fältet med ”Base Color” så klickar du på den lilla punkten och väljer ”Image Texture”. Sedan är det som tidigare bara att välja ”Open” och leta reda på kartbilden som exporterades från QGIS tidigare. Om ditt fönster inte ser ut som bilden ovan så skall du kontrollera att ”Surface” är satt till ”Principled BSDF”.
Ingenting i 3D vyn ändras direkt, men det beror på att renderingen görs ”platt” och inte med texturer.

Klicka på den lilla knappen ”Material Preview” uppe till höger i 3D fönstret (markerad blått i övre mitten av bilden ovan), så bör texturen läggas till.
För att få till ljus och skuggor så duger dock inte detta, utan då behöver bilden ”renderas” och visningsläget för det är knappen till höger om preview, även kallad ”render view”.
Eftersom det inte finns någon ljuskälla så är resultatet ganska mörkt, och det finns många sätt att fixa detta på. Det sätt jag valt här är kanske inte det mest effektiva, men det kräver inte speciellt många handgrepp.

Först så måste ”Render Engine” sättas till ”Cycles” då den här metoden inte fungerar i den snabbare Eevee renderingsmotorn. Du hittar inställningen på fliken ”Render Properties” (bilden ovan).

På ”World Properties” fliken så väljs ”Sky Texture” genom att klicka på punkten vid fältet ”Color”. Detta belyser 3D vyn och ger en mängd inställningar för att justera ljuset i styrka och riktning (bland annat).

Och så enkelt var det…
För att ”rendera” en bild i lite bättre kvalité så behövs det dock en ”kamera”. Lägg till en kamera med shift+A och välj därefter ”Camera”. Kameran är ett objekt precis som det plan som terrängen består av. Den behöver därför ”placeras” så att den kan ta den bild som önskas.
Flytta 3D vyn till ett läge du tror blir bra. Se till att kameran är vald i objektlistan uppe till höger och tryck sedan Ctrl+Alt+num0. Om du saknar numeriskt tangentbord så går det i stället att växla till ”kameravy” med knappen som ser ut som en kamera uppe till höger i 3D vyn.

Expandera därefter menyn i den här kanten av 3D fönstret (se bilden ovan) och under ”View” så markerar du ”Camera to View”. Du kan nu flytta runt kameran på samma sätt som tidigare i 3D och välja ett utsnitt du är nöjd med. När du är klar så tar du bort krysset i rutan igen, vilket låser kamerans position.
Ytterligare kamerainställningar kan göras i verktygspanelen till höger under fliken med en kamerasymbol. Vill du justera resultatet i storlek, kanske göra det till en fyrkantig Instagram-bild, så gör du det på fliken för ”Output Properties”.
När du flyttat runt och justerat inställningar så kanske du är redo för en rendering av resultatet. Gå via ”Render” menyn i överkant, eller tryck på F12 för att rendera den aktuella kameravyn.

Nu behöver arbetet inte ta slut här. Det går att lägga till fler 3D objekt, eller varför inte lite atmosfär med dimma… Du kanske vill animera en rörelse och skapa en film? Allt detta är fullt möjligt, men då får du allt försöka hitta andra informationskällor. Det finns hur mycket som helst på Internet och inte minst på YouTube om Blender, och har du bara tiden och ambitionen så kan du i stort sett skapa precis vad du vill.


Som en gammal Blender-användare så kan jag ju säga att Blende och QGis är ungefär lika svåra att använda. 🙂
Det är dock ganska skilda kunskapsdomäner som vi har att göra med här. Så att bemästra bägge är svårt. Att fuska runt i bägge är dock inte så svårt, så länge det man skall göra inte är så avancerat.
Men Blender kan mycket mer än att göra animeringa, det går att göra postprocessing av videofilmer med. Och det går att lägga in animerade saker i vanliga videor. Så det är rätt så kapabelt. 🙂
Snyggt! Vad använder du för DEM? Upplösning?
I det här fallet är det Lantmäteriets nationella höjddata (nh50)
Nu har det kommit ut en svensk bok om Blender, som är skriven av en kollega.
Så är man intresserad av att komma igång med Blender, så kan jag rekommendera boken, och även kursen som han har här vid Högskolan i Gävle. Ja, den går på distans. 🙂
Boken om Blender: https://www.adlibris.com/se/bok/3d-grafik-med-blender-modellering-rendering-och-animation-9789144158969
Kursfilmen: https://www.youtube.com/user/open3dcourse