Verkstadsmiljö i VR

Jag tänkte ta tillfället i akt och berätta om den senaste VR-applikationen jag jobbat med på arbetet. Det är en applikation som jag tänkt bygga ut med nya funktioner vartefter och använda för att visa kunder lite vad man kan göra i VR.

Applikationen består av en fiktiv verkstadsmiljö med ett kontrollrum, ett bansystem och en industrirobot.

Så här ser det ut i Unity, spelmotorn jag använt för att göra applikationen i.

Klossarna

När man startar applikationen står man i kontrollrummet. På skrivbordet ligger det klossar man kan bygga med.

Klossarna har ett fysiskt material som gör dem lite fjädrande, de har också ett ljud kopplat till sig så om de krockar med något så låter det.

Klossarna kan läggas på banorna i bansystemet. När de kommer till slutet av bansystemet transporteras de automatiskt tillbaka till skrivbordet i kontrollrummet.

Videoskärmen

På väggen i kontrollrummet hänger en videoskärm som visar en loopad animation. Animationen har också en ljudfil som spelas upp. Ljudet fungerar så att det är högre när man står närmare skärmen, om man vrider på huvudet så är ljudet också högre i det öra som är närmast skärmen. Sen har jag satt upp ljudet så att det inte hörs alls när man går utanför kontrollrummet.

Bansystemet

Banorna i bansystemet har ett script som ger boxarna en kraft så de rör sig längs med bansystemet. Varje box som går på banorna är taggad med vilken bana den tillhör och när boxen kommer till slutet, alldeles framför industriroboten förflyttas den tillbaka till sin startpunkt.

Bredvid bansystemet står en pall med boxar som man kan interagera med. De kan slängas i den stora trådbacken eller läggas på banorna i bansystemet. De har ett eget ljud och ett fysiskt material kopplat till sig. När boxarna kommer till slutet på bansystemet transporteras de automatiskt till den stora trådbacken.

Bollarna

I lokalen finns det basketbollar och en basketkorg. Bollarna har ett fysiskt material som gör att de studsar, de har också ett studsljud. I korgen har jag satt en kollider som gör att man får feedback i form av ett ljud när man får i bollen i korgen. Bollarna kan också läggas på banorna i bansystemet. När de kommer till slutet av systemet transporteras de automatiskt tillbaka till korgen med bollar.

Industriroboten

Industriroboten är en cadmodell som jag riggat och animerat i Blender.

När man sedan exporterar roboten till fbx, som är det format som Unity jobbar med, kan man ta med animationen som då redan är klar när den kommer in i Unity. Mycket praktiskt för lite större animationer. Enklare animationer är lättare att göra direkt i Unity.

Roboten har ett loopat robotljud kopplat till sig. Det fungerar så att ljudet blir högre ju närmare roboten man kommer. Längst bort i lokalen kan man fortfarande höra roboten, men väldigt svagt.

Annonser

AR-exempel

Jag testade att göra ett lite AR-exempel, bara för att se hur svårt det är.

Defintionen av AR enligt Wikipedia:

”Förstärkt verklighet (eller augmented reality, AR) är en live direkt eller indirekt betraktelse av en fysisk, verklighetstrogen miljö vars element förstärks (eller kompletteras) med datorgenererade sinnesintryck som ljud, video, grafik eller GPS-data. Det är relaterat till ett begrepp som kallas mediated reality (medierad verklighet), där en bild av verkligheten ändras (kanske till och med minskar i stället för förstärks) av en dator. Tekniken fungerar genom att öka den nuvarande verklighetsuppfattningen till skillnad från virtuell verklighet som ersätter den verkliga världen med en simulerad.”

Jag använde ett av mina visitkort som trigger och ett animerat legohus som jag gjort tidigare, som 3D-objekt.

Här är en skärmdump av hur det ser ut i kameran. Jag tycker det är rätt coolt.

screen

Ett annat exempel med två animerade industrirobotar:

screen2

Jag spelade in skärmen, så här ser man själva animationen också.

Interaktiv visualisering

Den här helgen testar jag att göra en interaktiv visualisering av Rejlers-kontoret i Karlstad.

För två år sedan modellerade jag upp våning 3 och 4 i Blender. Den modellen har jag jobbat vidare med, exporterat till fbx och sedan tagit in i Unity. Sedan har jag fyllt på med möbler, några är fria som jag har laddat ner från nätet och några har jag modellerat upp själv.

Lokalerna har efter modellen gjordes byggts om lite så det finns detaljer som inte längre stämmer med verkligheten, men på det stora hela ser det fortfarande ut så här. Fika- och lunchutrymmet ser i alla fall ut som i verkligheten.

Ta gärna en titt!

Instruktioner:
W = gå framåt
S = gå bakåt
A = gå åt vänster
D = gå åt höger
Håll in shift för att springa och mellanslag för att hoppa. För att komma upp för trappan måste man hoppa och gå framåt samtidigt.
Se dig omkring med hjälp av musen. Tryck ESC för att få kontroll över musen igen.

Klicka på någon av bilderna här nedanför för att komma till WebGL-applikationen. Tyvärr fungerar inte WebGL i Internet Explorer, men i Firefox och Google Chrome ska det fungera bra, jag har testat i Google Chrome.

screen

Samba Bus klar

Idag blev det intensivt, som det brukar bli när man är inne i ett flow. Jag satte mig redan vid 8 imorse och klockan 17:00 hade jag modellerat färdigt Sambabussen. Sen har jag suttit i några timmar till för att få till vettiga renderingar och för att få upp modellen på Sketchfab.

Här kommer i alla fall några renderingar, nu är klockan så mycket så jag får uppdatera med fler under morgondagen.

Samba36.jpg

Instrumentbrädan

Igår tog jag blenderpaus och idag har jag bara suttit i ett par timmar eftersom jag hade lite ont i huvudet när jag kom hem från jobbet. Jag började äta strikt LCHF för ett par dagar sedan så jag misstänker att huvudvärken beror på det.

I alla fall har jag gjort lite mer inne vid förarplatsen. Jag har gjort pedalerna och jobbat vidare med instrumentbräden.

Dock är jag inte helt nöjd med placeringen av hålen så jag kanske bestämmer mig för att göra om den.

Samba30.jpg

Detaljer tar tid

Det är ju många detaljer som jag vill göra rätt, det här är inte en lågupplöst game-modell utan den är tänkt för högupplösta renderingar. Och alla detaljer tar tid att göra.

Idag har jag hunnit med att modellera låset till motorrumsluckan.

Samba25.jpg

Förarplatsen börjar också ta form, men det är mycket kvar. Pedaler, tankmätare, klocka och friskluftsintag saknas fortfarande.

Samba26.jpg

Ratt, hastighetsmätare, växelspak, handbroms och blinkersspak är klar. Sen har jag också fixat till formen på sätena vid förar- och passagerar platsen, jag tyckte de såg lite platta ut.

Samba27.jpg

Sambabussen går framåt

Idag har jag gjort taket färdigt med takbox och fönster och allt. Jag har separerat framdörrarna (jag hade speglat alla delarna) och satt en empty så den högra kan öppnas. Jag har också importerat sidospeglarna från originalbuggyn. Jag bytte till en matt färg istället för den glittriga bilfärgen och jag tycker det blev bättre. Det går med andra ord framåt.

Måste fundera på vad som är kvar att göra. Lite detaljer på bakluckan, lister, några lampor, ratt, pedaler och mätare, tanklock och stötfångare.

Samba22.jpg

Samba23.jpg

Sambabuss uppdatering

Det är något väldigt meditativt med att sitta och modellera. Och när jag tänker tillbaka på när jag modellerade min första bil och hur osäker jag kände mig när jag började så vet jag på ett helt annat sätt idag hur jag ska göra för att detaljer ska se ut så som jag vill. Det är väldigt roligt att modellera.

Jag satte mig ganska sent idag eftersom jag hade annat att göra men jag har  gjort reservhjulet med förvaringsväska i bagaget, framsätena och så har jag gjort taket. Nästa gång ska jag göra fönstren i taket samt soltaket. Och så ska jag göra inredningen vid förarplatsen.

Samba19.jpg

Samba20.jpg

Sambabuss – Blenderprojekt

Nu när kurserna är slut så har jag några påbörjade projekt jag känner att jag vill avsluta. Bland annat har jag ju börjat modellera en Samba Bus i Blender. I somras kom jag så långt att sätena och innerväggarna inne i kupén blev klara.

Samba13.jpg

Så idag började jag på bakänden och har bland annat återanvänt motorn jag modellerade till Baja Bug:en. Motorluckan och bagageluckan är också klara. Det som är kvar bak är baklysena och diverse handtag till luckorna.

Samba17.jpg

Samba18.jpg

Sen ska det till en kromad list runt hela bussen. Och så är inte förarplatsen med alla instrument, ratt och pedaler påbörjad. Taket innehåller ett antal smårutor och eventuellt ska jag också göra en taklucka och en bagagehylla. När jag tänker efter är det rätt många detaljer kvar att göra. Men det är ju kul så det är väl det jag kommer ägna mig åt den närmaste tiden.

Det är bland andra den här jag har som referens:

Spel snowflake klart

Nu är jag faktiskt klar med spelet. Känner mig riktigt nöjd. Det jag är osäker på är svårighetsgraden. Jag har ju tänkt mig målgruppen någonstans kring 5-7 år så jag vill gärna att några barn testar spelet och berättar om det är för enkelt, eller för svårt. Eller till och med om det är roligt.

Klicka på bilden här nedanför och spela vetja!

screen.jpg

Jag laddade också upp hela scenen på Sketchfab så vill man titta på spelets komponenter i 3d så är det bara att klicka här nedanför och sedan vrida på modellen.

Grafik till sista speluppgiften

Nu när jag är klar med sista uppgiften i videoredigeringskursen (jag skrev och lämnade in reflektionen igår kväll) så måste jag sätta fart med den sista uppgiften i spelutvecklingskursen.

Jag har funderat mycket på vad jag ska välja för tema och fick många fina idéer när jag var i Bengtsfors. Jag tror det var Max, 6 år, som kom på det där med att fånga snöflingor med tungan, i alla fall gillade han idéen.

Så här står det i uppgiftsbeskrivningen:

Skapa ett spel där spelaren är en katträddare med korg längst ned på skärmen. Man kan flytta sig (och korgen) i sidled och fånga katter i korgen. Katterna ramlar slumpvist ned från ovan från en slumpad placering. Om en katt når marken är spelet slut. I detta spel skall katterna som ramlar ner animeras, så även benen på kattfångaren. Du väljer om du vill göra spelet i 2D eller i 3D.

Jag frågade dock om jag fick använda ett annat tema än just katter och kattfångare och fick ett positivt besked på det.

Så jag har modellerat en fantasifigur med stor tunga och figuren har godkänts av Max 🙂 Det kommer finnas tre olika flingor, en vit som ger minst poäng, en gul som är lite mindre och rör sig lite snabbare som ger lite mer poäng och en röd som är minst och rör sig snabbast som ger mest poäng. Tror jag. Alternativt så kommer man ha tre liv och den röda flingan fyller på liv. Jag har inte tänkt ut precis allt ännu.

Här är en skiss över hur spelscenen kommer se ut.

scene

All grafiken är modellerad i Blender och sedan renderad mot transparent bakgrund. Materialet är en toon-shader som jag gillar skarpt och som beskrivs av Dillon Gu på Blender Cloud. Så här ser spritesheetet ut.

spritesheet2

Det kommer bli intressant att programmera det här spelet. Till skillnad från de två tidigare spelen blir det här i 2D även om grafiken är gjord i 3D från början.

Roll a Ball, eller Fånga kaninerna

screenshot3

Jag fortsatte jobba med spelet och har nu gjort en knapp för att spela igen, den dyker upp när man fångat alla 12 kaninerna. Jag har lagt en liten bakgrundsmusik (går inte att stänga av i det här projektet) samt ljudeffekt för varje gång man fångar en kanin. Kaninen är gjord i Blender.

Rulla kulan med W, A,S, D eller piltangenterna. Själv föredrar jag piltangenterna. Målet är att ”fånga” alla tolv kaninerna så fort som möjligt.

Samma webbadress som förra gången, men klicka här eller på bilden ovan.