Innehållsförteckning:

360 VR -app på 10 minuter med enhet: 8 steg
360 VR -app på 10 minuter med enhet: 8 steg

Video: 360 VR -app på 10 minuter med enhet: 8 steg

Video: 360 VR -app på 10 minuter med enhet: 8 steg
Video: Йога для начинающих дома с Алиной Anandee #2. Здоровое гибкое тело за 40 минут. Универсальная йога. 2024, November
Anonim
360 VR -app på 10 minuter med enhet
360 VR -app på 10 minuter med enhet

Hur bygger vi den här appen?

Till skillnad från vanlig video som har en rektangulär ram, har 360 -video form som en sfär. Så vi måste först skapa en sfärisk skärm för att projicera vår 360 -video på. Spelaren (eller tittaren) kommer att placeras inuti denna sfär och kommer att kunna titta på videon i vilken riktning som helst. Stegen nedan ska få dig att känna dig bemyndigad att göra dina egna ändringar genom att förklara hur allt fungerar under huven. För steg-för-steg-instruktioner

Steg 1: Vad du behöver

Vad du behöver
Vad du behöver

En Android -telefon med ett gyroskop för att känna huvudrörelser, körs på KitKat eller nyare operativsystem.

Ett headset i kartong. Om du inte äger en kan du hitta många på Amazon för mindre än 10 dollar.

Unity3D, en plattformsoberoende spelmotor, som du måste installera på din dator, version 5.6 eller senare. Vi kommer att använda denna programvara för att bygga hela vårt projekt.

GoogleVR SDK för Unity, som du kan ladda ner i förväg.

En 360 -video. Skjut en med en 360 -kamera eller så kan du hitta 360 -video på Youtube, Facebook eller någon 360 -videosida

Steg 2: Bygg en sfär

Bygg en sfär
Bygg en sfär

Låt oss först öppna ett nytt Unity -projekt om du börjar från början (eller en ny scen om du vill integrera 360 -videospelaren i ett befintligt projekt.) Tänk på en scen som en nivå i ett tv -spel och ett projekt som ett fullt spel.

Lägg sedan till ett sfärobjekt i scenen, placerad i mitten (position = 0, 0, 0), med en radie på 50 (skala = 50, 50, 50). Kamerans position bör också ställas in på 0, 0, 0. Kameran är spelarens/betraktarens ögon så vi vill ha den i mitten av sfären. Att placera den någon annanstans skulle göra att videon ser förvrängd ut. När kameran väl har placerats inuti sfären är den senare inte längre synlig i scenen. Oroa dig inte, det finns en förklaring till det! Faktum är att de flesta spelmotorer inte standardiserar som standard insidan av 3D -objekt. Detta beror på att vi sällan behöver se dem, det skulle vara slöseri med resurser att återge dem. Vi fixar det här.

Steg 3: Vänd sfärens normaler

Vänd sfärens normaler
Vänd sfärens normaler

I vårt fall behöver vi se vår sfär inifrån. Det är hela poängen med appen, så vi kommer att vända den ut och in.

I Unity är sfärer egentligen inte sfärer (vad? Vi har ljugits för hela tiden!), De är polygoner gjorda med tusentals små, små fasetter. Fasetternas yttre sidor är synliga, men inte de inre. Av den anledningen kommer vi att göra ett program för att vända dessa små aspekter som pannkakor. Inom 3D -geometri kallar vi denna omvandling för "omvända normaler" eller "flippande normaler". Vi kommer att använda ett program som kallas en Shader, som vi kommer att tillämpa på Materialet i sfären. Material styr utseendet på föremål i Unity. Shaders är små skript som beräknar färgen på varje pixel som återges, baserat på belysning och information från deras material. Skapa därför ett nytt material för sfären, sedan appliceras en ny skuggare på detta material. Vi måste skriva anpassad kod för Shader … men var inte rädd, du kan kopiera och klistra in koden nedan:

Klicka på denna länk för kodlänk

Denna lilla Shader kommer att vända varje pixel av sfären ut och in. Nu ser vår sfär ut som en stor vit boll, sett inifrån, inom vår scen. Nästa steg är att göra denna vita sfär till en videospelare.

Steg 4: Projicera din 360 -video inuti sfären

Här måste du ha en 360 mp4 -video till hands. Importera det i projektet och dra det sedan till sfären. Och det är då magin händer: en "Video Player" -komponent visas och boom, videon är klar att spela. Du kan spela med inställningarna som loopar och ljud. Det stöder också streaming!

Steg 5: Konfigurera Google Cardboard?

I det här steget kommer vi att få upplevelsen att kännas uppslukande. Det är därför vi vill se det i ett VR -headset, här ett Google Cardboard.

Vi kommer att skapa en "stereoskopisk" vy (skärmen delas i två, med några fisheye -effekter på båda sidor - en sida för varje öga), med hjälp av GoogleVR SDK. Fisheye -effekten på varje öga, i kombination med förvrängning av kartongens plastlinser, är det som ger dig en illusion av djup och nedsänkning.

För att lägga till GoogleVR SDK i vårt projekt, ladda ner och importera tillägget, sedan justerar vi en massa Android -inställningar:

  • Gå till den översta menyn> Arkiv> Bygginställningar. Lägg till din öppna scen om den inte redan har lagts till, välj sedan Android i listan över plattformar som stöds.
  • Klicka på Byt plattform. Det bör ta lite tid första gången du byter.
  • Klicka på Spelarinställningar. Komponenter visas i instruktörspanelen.

I instruktören för spelarinställningar under avsnittet "Andra inställningar":

  • Kontrollera Virtual Reality som stöds. Under SDK för Virtual Reality, välj + -ikonen och välj sedan Kartong för att lägga till den i listan.
  • Ange ett paketnamn i fältet Paketidentifierare (t.ex. com.din domän.demo360). Den måste vara unik och används för att skilja vår app från andra i Google Play -butiken.
  • Ställ in rullgardinsmenyn Minsta API-nivå till "Android 4.4 'Kit Kat' (API-nivå 19)".

Ta sedan elementet ‘GvrViewerMain’ från mappen GoogleVR / Prefabs i projektbläddraren och dra det till scenen. Ge inspektören samma position som sfärens centrum - (0, 0, 0).

GvrViewerMain -prefabriken styr alla VR -lägesinställningar, till exempel att anpassa skärmen till kartongens linser. Det kommunicerar också med telefonens gyroskop för att spåra dina huvudrörelser. När du vrider på huvudet vrider kameran och det du ser inuti 360 videospelaren. Nu kan du titta i alla riktningar när videon är på och skärmen är uppdelad i två, för att rymma båda linserna på kartongen.

Steg 6: Kör appen på Android?

Kör appen på Android?
Kör appen på Android?

För vårt sista steg kör vi appen på en Android -telefon och delar den med vänner! Det finns två sätt att göra det: Gå tillbaka till Arkiv> Bygginställningar. Du kan ansluta en Android -telefon med en USB -kabel till din dator och klicka på Build & Run. Detta installerar appen direkt till din telefon. Det andra alternativet är att klicka bara på Bygg. Detta installerar inte det på en telefon, utan genererar istället en APK -fil. Du kan dela APK -filen via e -post med alla som vill prova mästerverket du just byggt. De måste dubbelklicka på APK-bilagan för att installera den på sina telefoner. Under byggprocessen kan du bli ombedd att välja rot-Android-SDK-mappen. Om så är fallet, ladda ner Android SDK och välj dess mappplats. Starta appen, sätt in din telefon i ett kartongheadset, du är klar att gå! Du kan ersätta videon med allt i 360 -format och uppleva VR 360 -nedsänkning hemma.

Går längre

Grattis, du har gjort en 360 -videoapp och du är ett steg från att skapa en VR -videoapp! Även om termerna ofta används lika, definierar 360 och VR två olika upplevelser: 360 -video spelas in från alla vinklar, med en speciell kamera eller en samling av flera. Användaren kan titta i vilken riktning som helst, men det finns ingen interaktivitet med upplevelsen. VR hänvisar vanligtvis till en datorgenererad miljö där användaren är nedsänkt. Det är en interaktiv upplevelse: spelaren kan flytta runt och styra objekt, förutom att titta i alla riktningar.

Steg 7:

Din nya app kan fungera som en utgångspunkt för att bygga en rikare VR -upplevelse. Unity har massor av funktioner du kan utnyttja, till exempel att lägga till 3D -element eller coola partikeleffekter ✨ för att överlagra och förbättra din video, eller slänga in några interaktiva element.

Steg 8: Not a Step Walking Script (valfritt)

Du kan också placera en full 3D -miljö inuti 360 videospelaren och använda den senare som en skybox. Användaren kan navigera i landskapet med hjälp av det här fina vandringsskriptet.

Rekommenderad: