Obsah:
- Krok 1: Prekážky…
- Krok 2: Hlúpe kompas
- Krok 3: Konečne riešenie
- Krok 4: Nechajte aplikáciu fungovať
- Krok 5: Konfigurujte GameSparks
- Krok 6: Pridajte záverečné udalosti …
- Krok 7: Pridajte cloudový kód
- Krok 8: SME HOTOVO
Video: Umiestnenie objektov AR na súradnice GPS v rozšírenej realite: 8 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Tento návod sa chystá vytvoriť mobilnú aplikáciu na umiestnenie objektov AR na súradnice GPS pomocou ARkit a ARCore pomocou Unity3D. Prevediem vás nastavením projektu, ktorý som vytvoril pomocou programu Mapbox, ktorý nám umožňuje označovať správy na konkrétnych miestach GPS a zapisovať ich do databázy GameSparks.
Všetok softvér a projekty, ktoré tu použijeme, sú bezplatné.
Unity 3D si stiahnite tu, ak ho ešte nemáte:
unity3d.com/
Krok 1: Prekážky…
S aktuálnymi obmedzeniami mobilného GPS a mobilného kompasu to teda nie je najľahšia aplikácia.
Aby som bol úprimný, objekty sa ukazujú tam, kde by mali byť asi 50% času. Výsledky teda nie sú skvelé, ale stanú sa presnejšími, čím bližšie sa k objektom dostanete.
V každom prípade si myslím, že lepšou cestou k AR založenému na GPS by bolo v tomto prípade použiť mapu, ako to robí pokemon go, a keď sa priblížite k objektu, kamera sa otvorí a pred sebou vidíte iba tento objekt. V budúcnosti by som chcel urobiť kompletný návod na jednoduchšiu implementáciu, ako je táto.
Tak či tak som už predtým používal Mapbox a viem, že majú triedu prevodu, ktorá má funkcie na prevod súradníc GPS na svetové súradnice Unity. Myslel som si, že môžem zadať iba niektoré súradnice GPS a objavia sa tam, kde som ich chcel. Nefungovalo
Objekty sa vzájomne zobrazujú správne, ale nikdy neboli na správnom mieste. Urobil som malý prieskum a zistil som, že moja kamera Unity Camera musí byť zarovnaná so skutočným severom, aby sa objekty objavili na správnom mieste.
Problém je v tom, že kompas vo vašom telefóne nie je nikdy úplne presný.
Krok 2: Hlúpe kompas
Hlavným problémom je, keď umiestnite objekty ďaleko od fotoaparátu, ak je predstava vášho telefónu o skutočnom severe ešte o niekoľko stupňov vypnutá, objekty v diaľke sa budú javiť veľmi ďaleko.
Od tohto podniku som takmer upustil, ale priateľ mi povedal o tomto projekte GitHub:
github.com/mapbox/mapbox-ar-unity
Toto je pokus urobiť AR „vo svetovom meradle“z Mapboxu, kde sú objekty ukotvené na súradniciach GPS, aby zážitky z rozšírenej reality mohli fungovať vonku na dlhé vzdialenosti, a nie iba v malej miestnosti vo vašom dome.
Ich projekt používa delty polohy AR a delty polohy GPS na výpočet uhla, ktorý je posunutý od kamery AR k pravému severu. V zásade teda urobte jedno čítanie GPS, keď používateľ spustí aplikáciu, a nechajte ich kráčať po priamke a urobte ďalšie čítanie GPS. Potom pomocou týchto dvoch bodov môžete zistiť, ktorým smerom tá osoba kráčala (za predpokladu, že ich kamera ukazuje v smere, ktorým kráča). Zistili, že je to presnejšie ako používanie kompasu v telefóne.
Ďalším problémom, ktorý sa pokúšajú vyriešiť, je drift s ARkitom. Sledovanie je v poriadku v malej miestnosti, ale keď sa vonku pohybujete na dlhé vzdialenosti, objekty AR sa unášajú ďaleko od miesta, kde by mali byť.
Krok 3: Konečne riešenie
Tento projekt Mapbox teda ponúkol spôsob, ako získať spoľahlivý smer obrátenia vzhľadom na skutočný sever, takže zostalo iba umiestniť objekty na svete.
Nakoniec som tento príklad trochu rozšíril, aby som mohol označiť textovú správu na konkrétnom mieste GPS a potom tieto informácie zapísať do databázy GameSparks. Práve to vám ukážem, ako ich používať.
Jediným problémom tohto projektu je, že skôr, ako ho budete môcť použiť, musíte ho dobre zarovnať.
Zarovnaním mám na mysli to, že keďže Mapbox na výpočet smeru používa delty polohy, pri prvom otvorení aplikácie a uistení sa, že je detekovaná zemská rovina, a potom chvíľu kráčajte v priamke, kým sa nevypočíta správne zarovnanie.
V tomto zmysle je UX ďalšou prekážkou, ale vo vylepšeniach projektu uvádzajú príklad umiestnenia kociek pred užívateľa, ktorým majú prejsť, aby sa zaistilo dobré zarovnanie.
Teraz, keď poznáte obmedzenia tohto projektu, dovoľte mi ukázať vám, ako ho používať, aby sa chlapci mohli hrať. Nakoniec si budete musieť vytvoriť účet mapbox a účet gamesparks, pričom oba budú bezplatné. Použil som gamespark, aby som mohol niekde uložiť súradnice GPS, pretože počas testovania budete aplikáciu často reštartovať a znova vytvárať.
Tiež by to malo fungovať s ARkit aj ARcore, ale momentálne mám iba iPhone, takže to bolo všetko, čo som mohol otestovať.
Krok 4: Nechajte aplikáciu fungovať
Najprv si najskôr stiahnite tento projekt z GitHub:
Uložte súbor na plochu a otvorte ho v Unity.
Prejdite na súbor, vytvorte nastavenia a prepnite platformu na Android alebo IOS.
Teraz choďte na Mapbox.com a vytvorte si účet, ak ho ešte nemáte.
Vezmite si kľúč API a vráťte sa do Unity, kliknite na kartu Mapbox v hornej časti a kliknite na konfigurovať. Vložte tam svoj kľúč API.
Teraz si vytvorte účet na GameSparks.com a kliknutím na tlačidlo vpravo hore vytvorte novú aplikáciu.
Nazvite to, čo chcete, a skopírujte si kľúč API a tajomstvo aplikácie. Vráťte sa do Unity a v hornej časti nájdite kartu GameSparks. Kliknite tiež na konfiguráciu a prilepte tam svoje prihlasovacie údaje.
Krok 5: Konfigurujte GameSparks
Teraz, než bude aplikácia fungovať, musíme nakonfigurovať našu databázu.
GameSparks používa NoSQL, takže musíme najskôr vytvoriť kolekciu a pridať udalosti, ktoré naša aplikácia používa na čítanie, zápis a odstraňovanie zo servera.
Najprv vytvorte novú kolekciu na webových stránkach GameSparks a nazvite ju, ako chcete.
Teraz musíme vytvoriť 3 udalosti.
Prvá vec, ktorú musí aplikácia urobiť, je zapísať objekt správy do databázy.
Správa má zemepisnú šírku, dĺžku a potom text správy.
Choďte teda do konfigurátora a pridajte novú udalosť. Vytvorte krátky kód „SAVE_GEO_MESSAGE“.
Do názvu a popisu zadajte čo chcete.
Pridajte krátky kód pre 3 atribúty:
"LAT" "LON"
"TEXT"
Nastavte každý typ údajov na reťazec a predvolenú hodnotu na 0. Nastavte predvolený typ agregácie každého z nich na „použitý v skripte“.
Krok 6: Pridajte záverečné udalosti …
Aplikácia tiež musí načítať všetky správy z databázy a prečítať ich do Unity pri spustení aplikácie, aby sme mohli umiestniť správy AR, ktoré sú uložené v databáze.
Vytvorte ďalšiu udalosť a nazvite ju „LOAD_MESSAGE“
Táto udalosť nepotrebuje žiadne atribúty. Do názvu a popisu znova zadajte, čo chcete.
To isté urobte pre inú udalosť a nazvite ju „REMOVE_MESSAGES“
Ani to nepotrebuje žiadne atribúty.
Posledná vec, ktorú musíme urobiť, je pridať nejaký „cloudový kód“alebo kód na strane servera, ktorý sa zavolá pri spustení každej udalosti z našej aplikácie.
Krok 7: Pridajte cloudový kód
V GameSparks prejdite na konfigurátor a cloudový kód.
Ku každej udalosti, ktorú sme práve urobili, musíme pridať skript.
V prípade LOAD_MESSAGE pridajte tento kód a uložte ho:
var messageData = Spark.runtimeCollection ("GeoMessage");
var kurzor = messageData.find ();
var allMessages = ;
while (cursor.hasNext ()) {
var obj = cursor.next ();
vymazať (obj ["_id"]);
allMessages.push (obj);
}
Spark.setScriptData ("all_Messages", allMessages); // vráti všetky údaje
V prípade REMOVE_MESSAGES pridajte tento kód:
var messageData = Spark.runtimeCollection ("GeoMessage");
messageData.remove ({});
Nakoniec v udalosti SAVE_MESSAGES pridajte toto:
var geoMessageList = Spark.runtimeCollection ("GeoMessage");
var messageLat = Spark.getData (). LAT;
var messageLon = Spark.getData (). LON;
var messageText = Spark.getData (). TEXT;
var currentMessage = {
"messLat": messageLat,
"messLon": messageLon,
"messText": messageText,
};
geoMessageList.insert (currentMessage);
Krok 8: SME HOTOVO
Tento projekt používa jedinečný identifikátor vášho zariadenia na autentifikáciu na serveri GameSparks, takže sa teraz môžete vrátiť späť do Unity a kliknúť na tlačidlo Prehrať a v konzole by ste mali vidieť „zariadenie overené …“
Teraz prejdite na súbor, nastavenia zostavy a kliknite na položku zostaviť. Ak ste nikdy nevytvorili aplikáciu pre Android alebo IOS, možno si budete musieť vytvoriť vývojársky účet na Googli alebo na Apple.
Keď je aplikácia v telefóne, musíte sa najskôr uistiť, že ARKit alebo ARCore detekuje pozemnú rovinu. Teraz kliknite na tlačidlo denníka v ľavom dolnom rohu. Prejdite pár krokov vpred a uvidíte, že „vypočítané zarovnanie“sa zobrazí vo svetlo modrej farbe. Teraz by sa mali objaviť tlačidlá používateľského rozhrania a ak sú do vašej databázy načítané akékoľvek správy, budú umiestnené na svete.
Ak chcete niekde označiť novú správu GPS AR, prejdite na požadované miesto a kliknite na ikonu správy v pravom hornom rohu obrazovky. Napíšte akúkoľvek požadovanú správu a kliknite na tlačidlo pripináčika!
Odporúča:
GlobalARgallery - Globálna galéria rozšírenej reality: 16 krokov
#GlobalARgallery - Globálna galéria rozšírenej reality: #GlobalARgallery je príležitosťou pre školy (a ďalšie) asynchrónne sa spájať po celom svete a zdieľať skúsenosti, umelecké diela, príbehy, časové osi, výstavy, prezentácie a čokoľvek iné, čo si dokážete predstaviť. Všetky tieto položky sa objavujú v A
Robot na výber a umiestnenie základne Arduino: 8 krokov
Robot na vyberanie a umiestňovanie základov Arduino: Vyrobil som super lacné (menej ako 1 000 dolárov) priemyselné robotické rameno, ktoré študentom umožňuje hackovať robotiku väčšieho rozsahu a umožniť malým miestnym výrobcom používať vo svojich procesoch roboty bez toho, aby narušili banku. Je ľahké postaviť a urobiť
Aplikácia rozšírenej reality pre začiatočníkov: 8 krokov
Aplikácia rozšírenej reality pre začiatočníkov: Tento tutoriál vám ukáže, ako vytvoriť aplikáciu pre rozšírenú realitu pre začiatočníkov. Na vytvorenie aplikácie AR bez markerov pre Android alebo IOS použijeme pozemnú rovinu Unity3D a Vuforia. Prejdeme sa pridaním 3D modelu do Unity a jeho presunom
Ukážka produktu rozšírenej reality (TfCD): 11 krokov (s obrázkami)
Ukážka produktu rozšírenej reality (TfCD): Predaj výrobkov počas letu je v dnešnej dobe stále obľúbenejší. Avšak v lietadle je prvou a takmer jedinou informáciou, ktorú cestujúci (možný kupujúci) vidí, vytlačená brožúra. Tento návod ukáže spôsob inovácie na air
Jednoduché tlačidlo rozšírenej slovnej zásoby: 6 krokov
Rozšírená slovná zásoba Jednoduché tlačidlo: Jednoduché tlačidlo je k dispozícii od spoločnosti Staples za 5 dolárov a jednoducho sa v ňom píše „to bolo jednoduché“; zakaždým, keď to udrieš. Jednoduché tlačidlo je za tú cenu dobre skonštruované, ale vyžaduje si trochu práce a asi 10 dolárov súčiastok, aby bolo možné ho zaznamenať