Meditationsapp första VR-testet

Jag har gjort klart scenen, gjort om den till VR och testkört den. Vattnet är Unitys standardvatten och jag funderar på att göra ett eget, enklare vatten. Jag testade ju Driftwood för ett tag sedan och där hade de gjort vattnet som så att de tagit en skumtextur som de animerat i en vågrörelse in emot land och när texturen kommer närmare land så fadar den ut och försvinner. Jag ska testa och se om jag kan få till något liknande med en egen skumtextur. Jag tror det blir mindre krävande prestandamässigt att köra appen då.

Bungalowen ritade jag upp i Revit, sedan exporterade jag hela 3d-modellen, importerade den i Blender för att UV-unwrappa. Den exporterade jag sedan till fbx och importerad i Unity där jag satte texturerna.

Annonser

Meditationsapp i VR på gång

När jag mediterar använder jag mig ofta av en teknik där visualiserar att jag sitter bekvämt i ett rum. Ett rum som jag möblerat med saker som jag tycker är avslappnande. Där finns bland annat en liten fontän, eftersom jag tycker ljudet av rinnande vatten är väldigt avslappnande. Jag sitter framför öppna dubbeldörrar som leder ner mot en strand och jag hör mjuka vågor som slår in mot stranden.

För några dagar sedan, när jag mediterade och visualiserade att jag befann mig i mitt mentala rum, kom jag på att det borde fungera väldigt bra att bygga upp i VR. Så att jag kan sitta på en pall och bara vara, där i mitt mentala rum. Med vågor och rinnande vatten. Så det började jag bygga upp i Unity igår kväll. Det är roligt att ha ett privat projekt att ägna kvällarna åt igen!

screen2

Här är ett embryo till strand, det ska till många detaljer ännu, som små stenar, några snäckor och lite drivved. Men här ska jag i alla fall bygga upp min bungalow med stora, öppna dubbeldörrar.

Observationsdäcket

Jag har jobbat vidare med observationsdäcket. Jag modellerade stolar som jag texturerade i Substance Painter. Sen har jag modellerat lågupplösta stenar/asteroider vars rotation jag har animerat i C#. Hastigheten stenarna roterar med är slumpmässig mellan två värden.

Några av stenarna har jag tagit från The Rock Essentials-paketet jag köpte på Blender Guru för ganska länge sedan. Fast jag gjorde dem lite mer lågupplösta.

Det finns 10 olika stenar som jag gjort till prefabs. Asteroidbältet genereras delvis automatiskt från de prefabs jag gjorde, med lite kodande i C#. Eftersom stenarna  genereras utanför synfältet så tar det en liten stund innan de syns i fönstret, så de första stenarna har jag placerat ut manuellt.

Det sista jag gjort i scenen är att lägga på ambience-ljud. Två ljud som utgör rumsutrymmet och när man kommer närmare fönstren så tillkommer ett tredje ljud. Så man ska få intrycket att det ljudet kommer från rymden utanför.

Här är en capture jag gjorde, för er som inte vill eller kan testa WebGL-applikationen.

Vill du testa applikationen så är det samma instruktioner som tidigare och som vanligt funkar den inte i Internet Explorer. Klicka här för att testa.

Animerad planet

Den här helgen har jag tittat på en Blenderkurs som jag köpte för ett tag sedan. Space VFX Elements heter den och den går igenom allt man kan behöva för en rymdscen. Det är Aidy Burrows och Gleb Alexandrov som gjort kursen, båda är extremt kunniga i Blender. Mycket nyttigheter som går att applicera på annat än rymden också så jag kan verkligen rekommendera kursen.

Jag skapade en planet enligt min vision och jag valde att göra en procedurell planet, dvs. utan bilder som texturer utan med olika genererade funktioner i Cycles. Det har tagit mig hela helgen att få ordning på allting.

Planeten består av grundplaneten och två lager med moln som alla tre är animerade i rotationen med olika hastighet. För att verkligen se hur det blev så rekommenderar jag att du kör WebGL-applikationen.

screen4.jpg

Samma instruktioner som tidigare och applikationen funkar som vanligt inte i Internet Explorer.

Klicka här för att starta.

Planetarium

Jag har börjat med det första rummet i mitt rymdspel. Jag tänker mig ett utsiktsrum där man kan sitta bekvämt och titta på rymden utanför.

Jag har modellerat själva rummet och lagt lite material. Just nu är det bara en rymd-skybox utanför men jag kommer göra ett intressantare, animerat scenario med någon planet och kanske något mer utanför fönstret. Jag ska också göra möbler till utrymmet och jobba lite mer på luftslussen. Jag kanske gör rummen klara först innan jag gör ledtrådar och annat som ska låsa upp holodäckets dörrar.

Så här tänker jag mig själva utrymmet.

screen2screen3

Det ska placeras ut några diskreta lampor också men jag vill fylla utrymmet med de möbler som ska vara först och kanske också planeterna utanför fönstret.

Klicka här för att testa WebGL-applikationen.

Som vanligt fungerar inte WebGL i Internet Explorer. Instruktioner enligt tidigare.

Prototyp: Rymdspel

Jag fick en idé för ett spel som jag vill försöka mig på att göra. Det utspelar sig på ett rymdskepp med en korridor som går i en cirkel. På innerväggen ska det sitta dörrar, i det här stadiet har jag tänkt mig 4 stycken men vi får se hur många det blir. De dörrarna ska vara låsta och man får leta efter nycklar för att öppna respektive dörr. Från ytterväggen går det korridorer som leder till olika rum, utsiktsrum, matsal, lastrum och så vidare, där nycklarna ska finnas att hitta.

Bakom dörrarna på innerväggen ska det vara ett holodeck, som i Star Trek, med olika miljöer som ska vara betydligt större än man kan tro utifrån.

Jag har skissat på en layout och gjort olika moduler i Blender som jag sedan satt ihop i Unity. Jag köpte också ett materialpaket, från Asset Store, med olika sci-fi-material.

Jag har gjort en prototyp som enbart innehåller korridoren, dörrarna går inte att öppna ännu, bara för att få en känsla för storlek. säg gärna vad ni tycker om resultatet. Det skulle vara intressant att få lite feedback.

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.

screen1.jpg

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

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

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.

Spel Snowflakes, starten

Jag har börjat på spelprojektet i Unity, lagt in all grafik, ljud (både musik och egeninspelade ljudeffekter) och ett typsnitt som jag vill använda till poängräkningen. Jag har också tittat på några tutorials om animation i 2D och börjar förstå hur animationerna och animationskontrollen fungerar. Sonen är bollplank och hade lite synpunkter på animationen så jag ska ändra gubben lite imorgon och göra om gubbens animationer åt höger och vänster. Det går framåt 🙂

screenshot1.jpg

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.