Självstudiekurs om Mesh 201 Kapitel 4: Läsa in en URL från en 3D-tillgång
I det här kapitlet går vi vidare till Station 3 och utforskar ett sätt att läsa in data från webben till en WebSlate. Det finns en 3D GameObject i scenen som representerar planeten Jorden; Vi kallar det "världen". Vi uppdaterar ett skript så att när en deltagare i din upplevelse klickar på jorden registreras latitud och longitud för den klickade platsen och dessa koordinater införlivas i en URL för Bing Maps som parametrar. En HTTP-begäran körs med den här URL:en. Bing Maps innehåller en karta över det valda området och skickar den till en närliggande WebSlate.
Prova projektet
Justera vyn så att du är direkt framför och tittar på Station 3.
Som du ser finns det redan en WebSlate i scenen med viss informationstext ovanför den, liksom världen. Nu ska vi köra projektet och se vad som händer.
Klicka på knappen Spela upp i Unity-redigeraren. WebSlate visar webbplatsen för Bing Maps.
Klicka på flera olika platser på jordobjektet . Observera att oavsett var du klickar visar WebSlate samma Bing Maps-sida. Vi vill ändra detta så att det geografiska område som du klickade på visas på WebSlate när du klickar på jordobjektet . Vi kommer att lägga till en nod i ett skript som utför detta om en stund, men innan det tar vi en kort titt på skripten.
Klicka på knappen Spela upp i Unity-redigeraren för att avsluta uppspelningsläget.
Utforska Earth-skriptet
I hierarkin döljer du GameObject med namnet 2 – StaticContentWebslate.
Expandera 3 – LoadURL och observera att det har underordnade objekt med namnet EarthActions och Earth.
Vart och ett av dessa objekt har en skriptdator kopplad med källan inställd på "Graph".
Välj Earth GameObject. Skriptdiagrammet visas i fönstret Skriptdiagram .
Skriptdiagrammet, med namnet Globe location on Webslate, är utformat för att identifiera ett klick på världen och för att känna till den exakta geografiska platsen för det klicket (latitud och longitud) så att en karta över det området kan visas på WebSlate.
Som du ser är det mycket som händer i det här skriptdiagrammet. Vi behöver inte göra några ändringar i det, men om du är nyfiken kan du ta en stund här för att studera grafen och få en bättre förståelse för hur jordobjektet fungerar.
Utforska EarthActions-skriptet
Det här skriptet är där vi behöver göra vår uppdatering.
I hierarkin väljer du EarthActions GameObject. Skriptdiagrammet visas i fönstret Skriptdiagram .
Det här skriptdiagrammet heter Load Webslate from Globe click och har tre grupper: Custom Default Webslate Behavior och URL Builder och Update webslate.
Den första gruppen innehåller en nod med namnet Web Slate: Load med värdet för URL:en för Bing Maps.
Just nu är saker konfigurerade så att den här URL:en läses in i WebSlate varje gång du klickar på objektet Jord .
I gruppen URL Builder läser den första noden Get Variable: Object in variabeln som innehåller koordinaten som klickades på jordobjektet .
De närmaste noderna efter Noden Microsoft Mesh: Vid tillståndsförändring tar du koordinaten , konverterar den till en sträng och kopplar den som en parameter till slutet av URL:en för Bing Maps i noden String: Concat .
Noden Ange variabel initierar variabeln WebSlateURL med URL:en.
Nu behöver vi bara se till att den här URL:en (som naturligtvis ändras varje gång jorden klickas) läses in i WebSlate.
Uppdatera EarthActions-skriptet
Dra en anslutningsapp från kontrollutdataporten för noden Ange variabel: Objekt och skapa sedan en ny webbskiffer: Läs in noden. (I Fuzzy Finder söker du efterWebbskiffer: Läs in (URL).)
Dra en anslutningsapp från datautdataporten för set-variabeln: objektnoden med variabeln "WebSlateURL" och koppla den sedan till url-dataindataporten för noden Webbskiffer: Läs in .
Dra en anslutningsapp från datautdataporten för set-variabeln: objektnoden med variabeln "WebSlate" och koppla den sedan till den första dataindataporten för noden Webbskiffer: Läs in .
Testa ditt arbete
Spara projektet och tryck sedan på uppspelningsknappen för Unity-redigeraren.
Se till att du är placerad framför station 3.
Klicka på olika platser på jordobjektet . Som tidigare nämnts registreras latitud och longitud för den klickade platsen varje gång du klickar och dessa koordinater införlivas i en URL för Bing Maps som parametrar. En HTTP-begäran körs med den här URL:en. Bing Maps innehåller en karta över det valda området och skickar den till den närliggande WebSlate.
Anteckningar
WebSlate är interaktivt i en händelse. En deltagare kan klicka på knapparna +/- för att zooma in eller ut, eller dra kartan för att justera dess position eller klicka på länkar. Observera dock att andra deltagare i upplevelsen inte ser dessa ändringar. de ser bara en uppdatering när världen klickas igen.
Om du aktiverar funktionen Värden i fönstret Skriptdiagram och sedan tittar på skriptet när du klickar på jordgloben kan du se latitud och longitud för den klickade platsen som flödar ut från anslutningsapparna från noden Microsoft Mesh: On State Changed .