Känner du till Unreal Engine? Det är en komplett utvecklingsmiljö för framför allt realistiska 3D spel, men används även för simuleringar och inom nöjesindustrin för att exempelvis skapa allt från reklamfilmer till fullängds spelfilmer.
Många har ”SDK” för Unreal som gör det enklare att inkludera funktioner för olika sakar i dessa konstruktioner och exempelvis Esri släppte nyligen en SDK för Unreal som gör det möjligt att hämta data från ArcGIS Online till Unreal och simulera dessa miljöer väldigt verklighetstroget med väldigt liten insats.
Jag har aldrig använt Unreal Engine och jag tror inte jag kommer att bli expert i närtid. Men jag är nyfiken och tänker testa vad jag kan åstadkomma genom att följa lite tutorials och instruktioner i detta inlägg.
För det första så är det en fråga om installation. För Windows så finns det färdiga installationsfiler som hämtas genom Epic Games Launcher. För Linux så behöver man hämta källkoden och bygga installationen med inkluderade skript för den version av Linux som används, vilket är lite mer involverat. En liten varning! Installationerna är enorma. Unreal Engine 5 är över 19 GB data att ladda ner. Hur mycket detta blir på disk vet jag inte, men det krävs rejält med utrymme på hårddisken.
Jag följer instruktioner som börjar på Unreal webbsida och för Linux så innebär det bland annat att man skall koppla ett GitHub konto till Epic Games med diverse login och konton för att bli en del av utvecklargruppen.

Det går att klona den Unreal Engine version man vill ha eller hämta zip-paketet med alla filer. Var dock beredd på att det kan ta ett tag då det som sagt är väldigt mycket data… Själva nedladdningen från GitHub kanske går lite raskare än väntat, men kompileringen av installationen hämtar ännu mera från Internet. Det mesta är automatiserat och körs med ett skript:

Som synes i bilden ovan skall 88’469 paket på 21’036.3 MiB (en mebi-byte är 1’048’576 byte, och används för att tydliggöra att det är just binära multiplikatorer det handlar om och inte ”en miljon byte” ). Det kommer med andra ord att ta ett litet tag att ladda ner. Det är sedan inte färdigt, eftersom först skall ”make-filer” skapas och först därefter kompileras, vilket kommer att ta ytterligare tid. På Windows är vägen lite rakare, men det tar ändå en evinnerlig tid att få färdigt.
När allt är klart, så är det inte riktigt klart. Dags att ”compiling shaders”.

Men sedan så börjar det närma sig dags att börja experimentera.

Unreal Engine har flera ”templates” med olika ”assets” förberedda som det bara är att välja när man skapar ett nytt projekt. Detta är utmärkt för att testa många funktioner och det verkar vara ett bra startläge. Jag provar först ett Architecture projekt med en tom mall, bara för att komma igång med gränssnittet och kika på plugin med mera.

Det jag framför allt är intresserad av är integreringen med punktmoln och det finns ett inbyggt plugin för detta. Jag använder Unreal Engine 5.0.3 här, men jag tror att detta tillägg funnits sedan 4.25 (typ).

Sedan är det faktiskt inte mycket mer än att lägga till punktmoln som resurs i biblioteket och därifrån i den ”level” som man skapat. Det går att göra lite med med ljus, skuggor och så vidare, men det här räcker för att kunna ”spela” nivån.

Om man vill ha en avatar som går runt i punktmolnet så kan man välja en template för det också. För att punktmolnet skall fungera att gå på, så behöver man dock ställa in ”kollisioner” för det och kanske ytterligare någon inställning, men inte heller detta är speciellt avancerat.
Nu har jag ingen Windows dator att testa på just nu, men om man har ett VR headset med rätt drivrutiner och eventuellt Unreal SDK så kan man även visualisera direkt i VR genom Unreal Engine.
Några problem som jag stött på är att exempelvis LAZ inte fungerar i min Linux distribution. LAS fungerar däremot utmärkt. Unreal verkar även vara lite ostabilt med punktmoln i tredjepersonsläge då punktmolnen i den typen av projekt blivit korrupta vid flera tillfällen.
Tänk nu om man kunde lära sig så mycket att man kunde ha ett ”spel” som man kan dra och släppa godtyckligt punktmoln i och sedan navigera runt i 3D i ett fönster eller VR/AR. Justera punktmolnets utseende och stil, göra mätningar, lägga till och placera ut 3D modeller, med mera. Då hade detta kunnat vara den ultimata punktmolnsvisaren för det jag behöver göra.