Obsah:
- Krok 1: Překážky…
- Krok 2: Hloupý kompas
- Krok 3: Konečně řešení
- Krok 4: Nechte aplikaci fungovat
- Krok 5: Konfigurace GameSparks
- Krok 6: Přidejte závěrečné události…
- Krok 7: Přidejte cloudový kód
- Krok 8: JSME HOTOVO
Video: Umístění objektů AR na souřadnice GPS v rozšířené realitě: 8 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Tento instruktáž se chystá vytvořit mobilní aplikaci pro umístění objektů AR na souřadnice GPS pomocí ARkit a ARCore pomocí Unity3D. Provedu vás nastavením projektu, který jsem vytvořil pomocí Mapboxu, který nám umožňuje označovat zprávy na konkrétních místech GPS a zapisovat je do databáze GameSparks.
Veškerý software a projekty, které zde použijeme, jsou zdarma.
Stáhněte si Unity 3D zde, pokud jej již nemáte:
unity3d.com/
Krok 1: Překážky…
Nejde tedy o nejjednodušší aplikaci, kterou lze při současných omezeních pro mobilní GPS a mobilní kompas dělat.
Abych byl upřímný, objekty se objeví tam, kde mají být, asi 50% času. Výsledky tedy nejsou skvělé, ale stanou se přesnějšími, čím blíže se k objektům dostanete.
Ať tak či onak, myslím si, že lepší způsob, jak v tomto okamžiku využívat AR založené na GPS, by bylo použít mapu jako pokemon go a když se přiblížíte k nějakému objektu, kamera se otevře a uvidíte jen ten předmět přímo před vámi. V budoucnu bych chtěl udělat úplný návod na jednodušší implementaci, jako je tato.
Ať tak či onak, dříve jsem používal Mapbox a vím, že mají třídu převodu, která má funkce pro převod souřadnic GPS na světové souřadnice Unity. Myslel jsem si, že bych mohl jen předat nějaké GPS souřadnice a objevily by se tam, kde jsem je chtěl. Nefungovalo
Objekty se vůči sobě zobrazují správně, ale nikdy nebyly na správném místě. Provedl jsem tedy malý průzkum a zjistil jsem, že moje kamera Unity Camera musí být zarovnána se skutečným severem, aby se objekty zobrazily na správném místě.
Problém je v tom, že kompas v telefonu není nikdy zcela přesný.
Krok 2: Hloupý kompas
Hlavním problémem je, když umístíte předměty daleko od fotoaparátu, pokud je vaše představa telefonu o pravém severu vypnutá dokonce o několik stupňů, objekty v dálce se budou zdát velmi daleko.
Na tento podnik jsem téměř rezignoval, ale přítel mi řekl o tomto projektu GitHub:
github.com/mapbox/mapbox-ar-unity
Toto je pokus o AR ve „světovém měřítku“z Mapboxu, kde jsou objekty ukotveny k souřadnicím GPS, aby zážitky rozšířené reality mohly fungovat venku na dlouhé vzdálenosti místo jen uvnitř malé místnosti ve vašem domě.
Jejich projekt využívá delty polohy AR a polohy GPS k výpočtu úhlu, který je posunutím od kamery AR ke skutečnému severu. V zásadě tedy proveďte jedno načtení GPS, když uživatel spustí aplikaci, a nechte je jít po přímce a proveďte další čtení GPS. Pak pomocí těchto dvou bodů můžete zjistit, kterým směrem ta osoba šla (za předpokladu, že jejich kamera ukazuje ve směru, kterým kráčí). Zjistili, že to bylo přesnější než používání kompasu v telefonu.
Dalším problémem, který se snaží vyřešit, je drift s ARkitem. Sledování je v pořádku v malé místnosti, ale když se venku procházíte na dlouhé vzdálenosti, objekty AR skončí unášeny daleko od místa, kde by měly být.
Krok 3: Konečně řešení
Tento projekt Mapbox tedy nabídl způsob, jak získat spolehlivý směr obrácení vzhledem k pravému severu, takže nezbylo než objekty umístit na svět.
Nakonec jsem tento příklad trochu rozšířil, abych mohl označit textovou zprávu na konkrétním místě GPS a poté tyto informace zapsat do databáze GameSparks. To je to, co vám ukážu, jak používat.
Jediným problémem tohoto projektu je, že před jeho použitím musíte získat dobré zarovnání.
Zarovnáním mám na mysli to, že vzhledem k tomu, že Mapbox k výpočtu směru používá delty polohy, při prvním otevření aplikace a musíte se ujistit, že je detekována pozemní rovina a pak chvíli chodit v přímce, dokud není vypočítáno správné zarovnání.
V tomto smyslu je UX další překážkou, ale v vylepšeních projektu dávají příklad umístění kostek dolů před uživatele, aby prošli, aby zajistili dobré zarovnání.
Takže teď, když znáte omezení tohoto projektu, ukážu vám, jak ho používat, aby si kluci mohli hrát. Nakonec budete muset vytvořit účet mapbox a účet gamesparks, oba jsou zdarma. Hry jsem používal jen proto, abych mohl někde uložit souřadnice GPS, protože během testování budete aplikaci často restartovat a znovu sestavovat.
Také by to mělo fungovat jak s ARkitem, tak s ARcore, ale v tuto chvíli mám pouze iPhone, takže to bylo vše, co jsem mohl vyzkoušet.
Krok 4: Nechte aplikaci fungovat
Nejprve si nejprve stáhněte tento projekt z GitHub:
Uložte soubor na plochu a otevřete jej v Unity.
Přejděte na soubor, vytvořte nastavení a přepněte platformu na Android nebo IOS.
Nyní přejděte na Mapbox.com a vytvořte si účet, pokud ho ještě nemáte.
Popadněte klíč API a vraťte se zpět do Unity, klikněte na kartu Mapbox v horní části a klikněte na konfigurovat. Vložte tam klíč API.
Nyní si vytvořte účet na GameSparks.com a kliknutím na tlačítko vpravo nahoře vytvořte novou aplikaci.
Říkejte tomu jak chcete a zkopírujte si klíč API a tajný klíč aplikace. Vraťte se zpět do Unity a v horní části vyhledejte kartu GameSparks. Klikněte také na konfiguraci a vložte své přihlašovací údaje.
Krok 5: Konfigurace GameSparks
Nyní, než bude aplikace fungovat, musíme nakonfigurovat naši databázi.
GameSparks používá NoSQL, takže musíme nejprve vytvořit kolekci a přidat události, které naše aplikace používá ke čtení, zápisu a mazání ze serveru.
Nejprve vytvořte novou kolekci na webu GameSparks a pojmenujte ji, jak chcete.
Nyní musíme vytvořit 3 události.
První věc, kterou musí aplikace udělat, je zapsat objekt zprávy do databáze.
Zpráva má zeměpisnou šířku, délku a poté text zprávy.
Přejděte tedy do konfigurátoru a přidejte novou událost. Vytvořte krátký kód „SAVE_GEO_MESSAGE“.
Zadejte název a popis, co chcete.
Přidejte krátký kód pro 3 atributy:
"LAT" "LON"
"TEXT"
Nastavte každý datový typ na řetězec a nastavte výchozí hodnotu na 0. Nastavit výchozí typ agregace každého z nich na „použitý ve skriptu“.
Krok 6: Přidejte závěrečné události…
Aplikace také potřebuje načíst všechny zprávy z databáze a přečíst je do Unity při spuštění aplikace, abychom mohli umístit zprávy AR, které jsou uloženy v databázi.
Vytvořte další událost a pojmenujte ji „LOAD_MESSAGE“
Tato událost nepotřebuje žádné atributy. Znovu zadejte cokoli chcete pro název a popis.
Udělejte totéž pro jinou událost a pojmenujte ji „REMOVE_MESSAGES“
Ani to nepotřebuje žádné atributy.
Poslední věc, kterou musíme udělat, je přidat nějaký „cloudový kód“nebo kód na straně serveru, který se zavolá při spuštění každé události z naší aplikace.
Krok 7: Přidejte cloudový kód
V GameSparks přejděte do konfigurátoru a cloudového kódu.
Ke každé události, kterou jsme právě vytvořili, musíme přidat skript.
V události LOAD_MESSAGE přidejte tento kód a uložte jej:
var messageData = Spark.runtimeCollection ("GeoMessage");
var kurzor = messageData.find ();
var allMessages = ;
while (cursor.hasNext ()) {
var obj = cursor.next ();
odstranit (obj ["_id"]);
allMessages.push (obj);
}
Spark.setScriptData ("all_Messages", allMessages); // vrátí všechna data
V události REMOVE_MESSAGES přidejte tento kód:
var messageData = Spark.runtimeCollection ("GeoMessage");
messageData.remove ({});
Nakonec v události SAVE_MESSAGES přidejte 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: JSME HOTOVO
Tento projekt používá jedinečné ID vašeho zařízení k autentizaci na serveru GameSparks, takže se nyní můžete vrátit zpět do Unity a kliknout na Play a v konzole byste měli vidět „zařízení ověřeno…“
Nyní přejděte k souboru, nastavení sestavení a klikněte na sestavení. Pokud jste nikdy nevytvořili aplikaci pro Android nebo IOS, možná budete muset nastavit vývojářský účet u Googlu nebo Apple.
Jakmile je aplikace v telefonu, musíte se nejprve ujistit, že ARKit nebo ARCore detekuje pozemní rovinu. Nyní klikněte na tlačítko protokolu v levém dolním rohu. Udělejte pár kroků vpřed a uvidíte „vypočítané zarovnání“, které se objeví ve světle modré barvě. Nyní by se měla objevit tlačítka uživatelského rozhraní a pokud jsou do vaší databáze načteny nějaké zprávy, budou umístěny na světě.
Chcete -li někde označit novou zprávu GPS AR, přejděte na požadované místo a klikněte na ikonu zprávy v pravém horním rohu obrazovky. Zadejte jakoukoli zprávu, kterou chcete, a klikněte na tlačítko připnout!
Doporučuje:
Posilte svou paměť palácem mysli rozšířené reality: 8 kroků
Rozšiřte svou paměť pomocí paláce mysli rozšířené reality: Paláce mysli, jako v Sherlocku Holmesovi, využili šampioni paměti k vyvolání mnoha informací, jako je pořadí karet v zamíchaném balíčku. Palác mysli nebo metoda lokusů je paměťová technika, kde jsou vizuální mnemotechnické pomůcky
Systém umístění úložiště rezistoru „Resys“: 7 kroků (s obrázky)
Rezistorový skladovací systém „Resys“: Jedná se o systém, který usnadňuje nalezení vašich rezistorů. Vyhledejte požadovanou hodnotu a rozsvítí se pravá zásuvka. Tento systém lze rozšířit na požadovaný počet zásuvek
Aplikace rozšířené reality pro začátečníky: 8 kroků
Augmented Reality App pro začátečníky: Tento tutoriál vám ukáže, jak vytvořit aplikaci pro rozšířenou realitu pro začátečníky. K vytvoření aplikace AR bez značek pro Android nebo IOS použijeme detekci pozemní roviny Unity3D a Vuforia. Projdeme přidáním 3D modelu do Unity a jeho přesunem
Někdo mě miluje Umístění hodin: 6 kroků (s obrázky)
Někdo mě miluje Umístění hodin: U blízkých v zahraničí nebo mimo domov nic neříká, že na tebe myslím lépe než vždy vědět, kolik je pro něj hodin! Moji tchánové v důchodu se chystali sloužit na církevní misi v Berlíně v Německu a moje žena přišla s g
Představení produktů rozšířené reality (TfCD): 11 kroků (s obrázky)
Ukázka produktů rozšířené reality (TfCD): Prodej produktů za letu je v dnešní době stále oblíbenější. V letadle je však první a téměř jedinou informací, kterou cestující (možný kupující) vidí, tištěná brožura. Tento návod ukáže způsob, jak inovovat na airp