Sådan kan du oprette en 360 VR-app på 10 minutter med Unity

Virtual Reality (VR) er spændende. Det er også den nye grænse for appudvikling.

VR er klar til at føde nye former for historiefortælling og følelsesmæssigt kraftige oplevelser. Alligevel opleves VR som skræmmende: det er dyrt og kræver både speciel hardware og færdigheder.

Men det ændrer sig, da intuitive værktøjer og overkommelig hardware gør VR-udvikling tilgængelig. Denne vejledning viser dig, hvordan du bygger en 360-videoapp på Android og Google Cardboard på få minutter. Og næppe nogen kodning krævet;)

VR-udvikling bør ikke være en barriere for at bringe dine ideer til liv. Lad os komme igang:

Hvad du har brug for

Her er vores dagligvareliste:

? En A ndroid telefon m ed et gyroskop til fornuft hoved bevægelser, der kører på KitKat eller nyere OS.

? AC ardboard headset. Hvis du ikke ejer en, kan du finde mange på Amazon til mindre end 10 dollars. Denne er min favorit.

? U nity3D, en platform på tværs af platforme, som du skal installere på din computer, version 5.6 eller nyere. Vi bruger denne software til at bygge hele vores projekt.

? Den GoogleVR SDK til Unity, som du kan downloade på forhånd.

? En 3 60 video. Skyd et med et 360-kamera (her er et, du kan tilslutte til din telefon), eller find et online.

Hvordan bygger vi denne app?

I modsætning til almindelig video, der har en rektangulær ramme, har 360-video form af en kugle. Så vi skal først oprette en sfærisk skærm til at projicere vores 360-video på. Afspilleren (eller seeren) vil være placeret inde i denne sfære og vil være i stand til at se videoen i alle retninger.

Trinene nedenfor skal få dig til at føle dig bemyndiget til at foretage dine egne ændringer ved at forklare, hvordan det hele fungerer under emhætten. For trinvise instruktioner henvises til videoen

Trin 1: Byg en sfære?

Lad os først åbne et nyt Unity-projekt, hvis du starter fra bunden (eller en ny scene, hvis du vil integrere 360-videoafspilleren i et eksisterende projekt.) Tænk på en scene som et niveau i et videospil og et projekt som et komplet spil.

Derefter tilføjes et kugleobjekt i scenen, placeret i midten ( position = 0, 0, 0 ) med en radius på 50 ( skala = 50, 50, 50 ). Kameraets position skal også indstilles til 0, 0, 0. Kameraet er afspillerens / betragterens øjne, så vi vil have det i midten af ​​sfæren. Hvis du placerer den et andet sted, ville videoen se forvrænget ud.

Når kameraet er placeret inde i sfæren, er sidstnævnte ikke længere synligt i scenen. Bare rolig, der er en forklaring på det! Faktisk gengiver de fleste spilmotorer som standard ikke den indvendige side af 3D-objekter. Dette er fordi vi sjældent har brug for at se dem, det ville være spild af ressource at gengive dem. Vi ordner det næste.

Trin 2: Vend kuglens normaler?

I vores tilfælde er vi nødt til at se vores sfære indefra. Det er hele pointen med appen, så vi vil vende den indefra og ud.

I Enhed er kugler faktisk ikke kugler (hvad? Vi er løjet for hele tiden!), De er polygoner lavet med tusindvis af teeny, små facetter. De ydre sider af facetterne er synlige, men ikke de indre. Af den grund vil vi lave et program til at vende disse små facetter som pandekager.

I 3D-geometri kalder vi denne transformation for "vendende normaler" eller "vendende normaler".

Vi bruger et program kaldet en Shader , at vi vil finde anvendelse på materiale af kuglen. Materialer styrer udseendet af objekter i Unity. Shaders er små scripts, der beregner farven på hver gengivet pixel baseret på belysning og information hentet fra deres materialer.

Opret derfor et nyt materiale til sfæren, derefter en ny skygge anvendt på dette materiale. Vi er nødt til at skrive brugerdefineret kode til Shader ... men er ikke bange, du kan kopiere og indsætte koden nedenfor:

Denne lille Shader vil dreje hver pixel af sfæren udad. Nu ser vores sfære ud som en stor hvid kugle, set indefra, inden for vores scene. Det næste trin er at gøre denne hvide kugle til en videoafspiller.

Trin 3: Projicere din 360-video inde i sfæren?

Her skal du have en 360 mp4-video ved hånden. Importer det i projektet, og træk det derefter til sfæren. Og det er her, magien sker: en 'Video Player' -komponent vises og boom, videoen er klar til afspilning.

Du kan spille med indstillingerne som sløjfer og lyd. Det understøtter også streaming!

Trin 4: Opsætte Google Cardboard?

I dette trin vil vi gøre oplevelsen virkelig føler overvældende. Derfor vil vi se det i et VR-headset, her et Google Cardboard.

Vi skal skabe en "stereoskopisk" visning (skærmen deles i to med nogle fiskeøjeeffekter på begge sider - den ene side til hvert øje) ved hjælp af GoogleVR SDK. Fiskeøjeeffekten på hvert øje kombineret med forvrængningen af ​​papens plastlinser er det, der giver dig en illusion af dybde og nedsænkning.

For at tilføje GoogleVR SDK til vores projekt skal du downloade og importere pluginet, så justerer vi en række Android-indstillinger:

  • Gå til menuen øverste bjælke> Filer> Byg indstillinger . Tilføj din åbne scene, hvis den ikke allerede er tilføjet, og vælg derefter Android på listen over understøttede platforme.
  • Klik på Skift platform . Det skal tage lidt tid første gang du skifter.
  • Klik på Player Settings . Komponenter vises i instruktørpanelet.

I instruktøren for spillerindstillinger under afsnittet 'Andre indstillinger':

  • Marker understøttet virtual reality . Under Virtual Reality SDK'er skal du vælge + ikonet og derefter vælge Cardboard for at føje det til listen.
  • Indtast et pakkenavn i feltet Bundle Identifier (f.eks. Com.yourdomain.demo360 ). Det skal være unikt og bruges til at skelne vores app fra andre i Google Play-butikken.
  • Indstil rullemenuen Minimum API-niveau til " Android 4.4 'Kit Kat' (API-niveau 19) ".

Bagefter skal du tage elementet ' GvrViewerMain ' fra mappen GoogleVR \ Prefabs i projektbrowseren og trække det ind i scenen. Giv inspektøren den samme position som kuglens centrum - ( 0, 0, 0 ).

De GvrViewerMain præfabrikerede styrer alle VR-tilstand indstillinger, f.eks tilpasse skærmen til Cardboard s objektiver. Det kommunikerer også med din telefons gyroskop for at spore dine hovedbevægelser. Når du drejer hovedet, drejer kameraet og det, du ser, også inde i 360-videoafspilleren.

Nu kan du se i alle retninger, når videoen er tændt, og skærmen er delt i to for at rumme begge linser på pap.

Trin 5: Kør appen på Android?

Til vores sidste trin kører vi appen på en Android-telefon og deler den med venner!

Der er to måder at gøre det på:

  • Gå tilbage til File> Build Setti ngs. Du kan tilslutte en Android-telefon med et USB-kabel til din computer og klikke på Build & Run. Dette installerer appen direkte på din telefon.
  • Den anden mulighed er kun at klikke på Byg . Dette installerer det ikke på en telefon, men genererer i stedet en APK-fil. Du kan dele APK via e-mail med alle, der ønsker at prøve det mesterværk, du lige har bygget. De skal dobbeltklikke på APK-vedhæftet fil for at installere det på deres telefoner.

Under byggeprocessen bliver du muligvis bedt om at vælge root Android SDK-mappen. Hvis det er tilfældet, skal du downloade Android SDK og derefter vælge dets mappeplacering.

Start appen, skub din telefon ind i et pap-headset, du er klar! Du kan erstatte videoen med alt i 360-format og opleve VR 360-nedsænkning derhjemme.

Går videre

Tillykke, du lavede en 360- videoapp, og du er et skridt væk fra at oprette en VR- videoapp! Mens begreberne ofte bruges ens, definerer 360 og VR to forskellige oplevelser:

  • 360-video optages fra alle vinkler med et specielt kamera eller en samling af flere. Brugeren kan se i enhver ønsket retning, men der er ingen interaktivitet med oplevelsen.
  • VR refererer normalt til et computergenereret miljø, hvor brugeren er nedsænket. Det er en interaktiv oplevelse: spilleren kan bevæge sig rundt og kontrollere objekter ud over at se i alle retninger.

Din nye app kan tjene som udgangspunkt for at opbygge en rigere VR-oplevelse. Enhed har masser af funktioner, du kan udnytte, såsom at tilføje 3D-elementer eller seje partikeleffekter ✨ for at overlejre og forbedre din video eller smide nogle interaktive elementer ind.

Du kan også placere et komplet 3D-miljø inde i 360-videoafspilleren og bruge sidstnævnte som en skybox. Brugeren kan navigere i landskabet ved hjælp af dette smarte gå-script.

Lad din fantasi løbe vild og vis mig dine kreationer: tweet mig @AdrianaVecc eller skriv en kommentar.

Det er svært at lave smukke VR-historier. At bygge dem burde ikke være.

Hvis du kunne lide denne artikel, skal du trykke på ? nedenfor, så andre mennesker kan se det.

Adriana er en kunstner og produktdesigner, der laver VR-oplevelser, der skaber empati. Hvis du vil bringe dine VR-ideer til liv, skal du skyde os en e-mail: [email protected]?