Interaktiv visualisering av villa (Ballad)

I februari råkade min syster och hennes familj ut för något av det värsta som kan hända, deras hem brann ner till grunden. Eftersom de bor på en gård och kommer bo där resten av sina liv så krävde valet av nytt hus lite eftertanke. Det är ju viktigt att det blir rätt.

Eftersom jag kan det där med interaktiva visualiseringar så erbjöd jag mig att modellera upp huset som de valt för att de skulle kunna bilda sig en bättre uppfattning om rymden i de olika rummen.

Nu när det är klart att det blir det här huset kan jag visa visualiseringen. Det kommer dock att bli lite ändringar jämfört med modellen, främst av placeringen av dörrarna vid groventrén. Det kommer bli så bra när det är klart.

Med hjälp av exteriöra bilder och en 2d-planlösning (se https://www.myresjohus.se/vara-hus/ballad/) modellerade jag upp huset i Revit, Revit är ju suveränt just för det ändamålet. Jag möblerade också med lite enkla möbler för att sedan exportera ut hela 3d-modellen till formatet fbx eftersom Blender kan importera det.

I Blender gjorde jag all UV-unwrapping och det var nog den procedur som tog längst tid i det här projektet. Exporterade åter till fbx för att sedan importera modellen i Unity.

I Unity fixade jag till alla material, ljussättning och la in first-person-funktionaliteten. Sen publlicerade jag projektet till WebGL för att det skulle gå att publicera på internet och vara lätt tillgängligt. Som vanligt fungerar inte WebGL i Internet Explorer utan du behöver använda antingen Chrome eller Firefox.

Klicka på bilden nedan för att köra visualiseringen.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

ballad

Annonser

Visualisering klar

Jag vet inte om jag ska bry mig om att göra fler detaljer. Ikväll har jag gjort delar till badrummet och toaletten, planterat några blommor vid huset, hängt upp några fler tavlor, bytt ut himlen och lagt lite svag mist.

screen15screen16screen18screen19screen17

Det finns en ny WebGL-applikation, klicka på följande länk.

Samma instruktioner som tidigare och som vanligt fungerar den inte i Internet Explorer.

Säg gärna vad ni tycker.

Nästa steg blir att göra om alltihopa till VR.

Visualisering – barnrum

Man hinner inte med så mycket på en kväll men jag har i alla fall modellerat ett skötbord och ett par leksaker till barnrummet, i Blender. Sen tar det ju en stund att baka ljuset, och blir det inte bra får man baka en gång till eller flera.

Så här blev i alla fall resultatet. Instruktioner enligt tidigare.

WebGL fungerar tyvärr inte i Internet Explorer.

Klicka på bilden för att starta applikationen.

screen14.jpg

Visualisering, ny version

Förutom bokhyllorna har jag också gjort en spjälsäng och sedan tagit ut en ny WebGL-applikation som du kan testa om du vill. Modellerna är som vanligt gjorda i Blender.

Som vanligt fungerar inte WebGL i Internet Explorer.

Klicka på bilden nedan för att köra visualiseringen.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

screen10

 

Visualisering – biblioteket

Sedär ja, jag han med lite på min egen visualisering idag också. Nu finns det böcker i biblioteket.

screen7screen8screen9

Jag började med att modellera de hyllor jag fysiskt har i mitt hem, dvs. Ikeas Billy och Kallax (fast jag har föregångaren med samma mått). Sedan fotade jag av hylla för hylla och använde mig av Skew för att se till att böckerna hamnade inom ett rektangulärt område även om det skevade lite i mina foton. Det blev 16 kvadratiska texturer och 6 rektangulära. Sen har jag blandat och gett men en av varje hylla ser  ut precis som mina hyllor med innehåll och allt. Vilka säger jag inte 😉

Bara barnrummet kvar och sedan modellera lite detaljer som saknas.

Visualiseringen växer fram

Jag har möblerat sovrummet med en himmelssäng. För att göra tyget som hänger runt sängen använde jag mig av cloth-simulering i Blender.

screen6.jpg

Jag har också gjort i ordning lite på altanen, med räcke och tak över två uteplatser.

Sen kan du ju testa och titta i vattnet, bara för skojs skull 😉

Jag tycker det börjar se rätt trevligt ut.

Instruktioner som tidigare. Klicka på bilden för att starta applikationen.

screen5.jpg

Terrängen är genererad

Jag ska bara…. tänkte jag. Så nu har jag genererat terrängen i ett program som heter L3DT. Man får då inte bara med sig topologin in i Unity utan även texturer för både mark och vatten. Det blev riktigt bra. Det är naturligtvis inte färdigt utan bara ett första test. Jag ska sätta ut lite träd och så vidare, men klockan är nästan midnatt och imorgon är det arbetsdag.

Gå gärna ut genom ytterdörren och titta på utsikten från altanen på framsidan. Skärmdumpen är tagen från ateljén. Det ska bli roligt att göra om hela scenen till VR när jag är klar!

Som vanligt fungerar inte WebGL i Internet Explorer.

Klicka på bilden nedan för att köra visualiseringen.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

screen3.jpg

Ljussättning visualisering

Jag har jobbat mycket med ljussättningen i min scen och jag tror att jag har fått till det. Titta och säg gärna vad du tycker, vad behöver förbättras? Scenen är inte klar, det är fortfarande 3 rum och landskapet utanför kvar att göra.

Klicka på bilden nedan för att köra visualiseringen.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

screen1

Interaktiv visualisering av verkstad

Det har varit ganska tyst här ett tag. Det beror dels på att jag blev så himla förkyld att jag inte orkade göra något. Men det beror också på att jag hamnat i något slags kreativ limbo. Jag vill göra en massa saker och fortsätta lära mig, bland annat om VR, men jag har inga bra idéer över huvudtaget.

Den här helgen är det dock en interaktiv visualisering för jobbet jag håller på med, så tyvärr kommer jag inte kunna visa er resultatet. Ville bara lämna ett livstecken från mig här i bloggen.

Igår jobbade jag med att preparera scenen. Den är ganska omfattande eftersom det är en hel verkstadslokal med alla maskiner, så det tog hela dagen att UV-unwrappa och sätta material. Många delar fick jag ersätta med förenklade objekt för att filen blev så tung och svårarbetad. Jag fick i alla fall ner filen från 560 Mb till 308 Mb.

Jag började med att exportera CAD-filen från Inventor till formatet .stl som Blender kan läsa. Jag trodde materialen skulle följa med men jag kom ihåg fel så när jag importerat filen till Blender så var hela scenen ett enda, objekt utan material.

Det jag fick börja med var att försöka separera de olika objekten och med tanke på att det var ganska många så var det väldigt tidsödande. När jag började innehöll det enda objektet 8 978 000 faces vilket säger sig självt att det blir oerhört trögt att jobba med även om man, som jag, har en splitter ny dator med ganska bra presetanda.

Jag började med att markera objektet, gå in i edit mode och välja att separera hela objektet till lösa delar, dvs. separera alla olika mesher som inte sitter ihop.

2017-05-13 09.20.56-2

Det var ju ganska lönlöst eftersom objektet var alldeles för stort. Jag fick stänga ner Blender och börja om från början. I Blender finns det ett kommando när man är i Edit mode, som känner av vilka mesher som sitter ihop. Om man trycker L samtidigt som man hovrar med pekaren över en vertex, linje eller yta (beroende vilket markeringssätt man valt) så markerar Blender hela den bit som sitter ihop. Jag kan ju säga så här, jag gick från 1 till  406 objekt. För att kunna baka ljuset i Unity i ett senare skede så måste alla objekt vara UV-unwrappade (vet inte om det finns något ord för det?) Man måste veckla ut varje objekt till en 2D-bild kan man väl enkelt säga. Har man en kub så är det ju inte så svårt, men har man 406 mer eller mindre komplicerade objekt så förstår man att det tar lite tid.

Filen innehåller ganska mycket stängsel som var onödigt högupplöst, det kommer ju från en CAD-fil så alla hål och böjar som finns i verkligheten finns med, det blir ganska många faces bara där. Så alla stolpar och stängselbitar gjorde jag om som förenklade objekt, som får funka lika bra.

2017-05-14 08.25.45.jpg

Originalet

2017-05-14 08.19.52.jpg

Förenklad variant

När jag var klar med Blenderfilen, jag separerade scenen i 3 olika lager, ett lager innehöll maskinerna, en själva byggaden och en innehöll alla stängselbitar. Byggnaden och stängslet ska ha colliders på sig, så man inte kan gå rakt igenom dem, därför exporterade jag dem till separata filer. Jag markerade de olika lagren och exporterade som fbx, som är ett format som Unity jobbar med. Då följer bland annat materialet med in i Unity.

2017-05-14 07.54.20

Nu har jag importerat de olika delarna och ska börja sätta ihop scenen. Sen blir det att baka ljuset, vilket förmodligen kommer ta lång tid med tanke på att det är en sån stor scen. Det kanske blir så att jag får kompromissa och endast baka byggnaden, vi får se.

Eventuellt ska jag använda det här projektet som VR-projekt, det vore spännande.

 

Uppdaterad interaktiv visualisering

Under helgen arbetade jag på belysningen för miljön, innan var det lite platt och det vita taket var för mörk.

Jag började med Precomputed Realtime GI men Unity kraschade några gånger och slutligen fick jag blåskärm på datorn.

Jag bestämde mig för att baka belysningen istället.

Precomputed Realtime GI innebär att Unity förberäknar hur indirekt ljus studsar mellan statiska objekt, men den slutliga belysning sker vid körning. Vilket innebär att du kan fortfarande animera eller flytta ljuset och skuggorna följer riktningen på ljuset.

Bakad GI innebär att Unity förberäknar både direkt och indirekt belysning för statiska objekt och sparar data i lightmaps för användning vid körning. Eftersom min interaktiva visualisering är ett statisk projekt, är detta alternativ tillräckligt bra.

Men jag tillbringade resten av lördagen med att baka belysningen och lyckades faktiskt ett par gånger men upptäckte att UV unwrappningen för de nedladdade objekten inte var optimal så jag fick göra om dem, men efter det fick jag samma resultat med datorkrascher och ett par blåskärmar (jag behöver verkligen en ny privat dator).

Så det slutade med att jag fick göra en kompromiss, jag dolde alla möbler och bakade själva lokalen för att sedan tända möblerna igen, bumpa upp intensiteten på skyboxen lite för att göra möblerna lite ljusare. Nu kastar inte möblerna någon skugga men väggar och tak ser mycket bättre ut än innan bakningen.

Härnäst tänker jag programmera vissa funktioner i visualisering. Jag kommer att placera broschyrer på fyra ställen, i soffan i lobbyn, cykeln på väggen och i vart och ett av konferensrummen. När man närmar dig broschyrerna kommer man få en indikation på att det finns ett objekt att undersöka. När man undersöker varje objekt kommer man få upp några informationstexter om Rejlers.

Hur som helst, här är den uppdaterade versionen med den bakade belysning.

Klicka på bilden nedan för att komma till WebGL-applikationen, tyvärr fungerar inte WebGL i IE så använd Firefox eller Chrome.

Instruktioner:

W = gå framåt
S = gå bakåt
A = gå vänster
D = gå höger
Håll ner shift för att springa och tryck på mellanslagstangenten för att hoppa.

Titta runt med musen och tryck på ESC för att få kontroll över muspekaren igen.

screen2