Mündəricat:
- Addım 1: maneələr…
- Addım 2: Axmaq Pusula
- Addım 3: Nəhayət bir həll
- Addım 4: Tətbiqi işə salaq
- Addım 5: GameSparks -ı konfiqurasiya edin
- Addım 6: Son Hadisələri əlavə edin…
- Addım 7: Bulud Kodunu əlavə edin
- Addım 8: BİZ BİZDİR
Video: Artırılmış Reallıqda AR Obyektlərini GPS Koordinatlarına Yerləşdirmək: 8 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Bu təlimat, Unity3D istifadə edərək ARkit və ARCore ilə AR cisimlərini GPS koordinatlarına yerləşdirmək üçün bir mobil tətbiq hazırlamağı planlaşdırır. Xüsusi GPS yerlərində mesajları etiketləməyimizə və GameSparks verilənlər bazasına yazmağımıza imkan verən Mapbox -dan istifadə edərək hazırladığım bir layihəni qurmaqda sizə yol göstərəcəyəm.
Burada istifadə edəcəyimiz bütün proqram və layihələr pulsuzdur.
Əgər sizdə hələ yoxdursa, Unity 3D -ni buradan yükləyin:
unity3d.com/
Addım 1: maneələr…
Bu, mobil GPS və mobil kompasın mövcud məhdudiyyətləri ilə etmək üçün ən asan tətbiq deyil.
Düzünü desəm, cisimlər vaxtın təxminən 50% -nin lazım olduğu yerdə görünür. Nəticələr böyük deyil, ancaq obyektlərə yaxınlaşdıqca daha dəqiq olur.
Hər halda, düşünürəm ki, bu nöqtədə GPS əsaslı AR üçün daha yaxşı bir yol, pokemon go kimi bir xəritədən istifadə etmək olar və bir obyektə yaxınlaşanda kamera açılır və qarşınızda yalnız o obyekti görürsünüz. Gələcəkdə bunun kimi daha sadə bir tətbiq haqqında tam bir təlimat vermək istərdim.
Hər halda, əvvəllər Mapbox -dan istifadə etmişəm və GPS koordinatlarını Unity dünya koordinatlarına çevirmək üçün funksiyaları olan bir dönüşüm sinifinə sahib olduqlarını bilirəm. Bəzi GPS koordinatlarını keçə biləcəyimi düşündüm və istədiyim yerdə görünəcəklər. İşləmədi.
Cisimlər bir -birinə nisbətən düzgün görünür, lakin heç vaxt doğru yerdə deyildilər. Bir az araşdırma apardım və obyektlərin doğru yerdə görünməsi üçün Birlik Kameramın əsl şimala uyğunlaşdırılması lazım olduğunu gördüm.
Problem telefonunuzdakı pusulanın heç vaxt tam dəqiq olmamasıdır.
Addım 2: Axmaq Pusula
Əsas problem, obyektləri kameradan çox uzaqda yerləşdirdiyinizdə, telefonlarınızın əsl şimal düşüncəsi bir neçə dərəcə də olsa, uzaqdakı obyektlər çox uzaqda görünəcək.
Demək olar ki, bu işdən vaz keçdim, amma bir dostum bu GitHub layihəsi haqqında mənə dedi:
github.com/mapbox/mapbox-ar-unity
Bu, genişlənmiş reallıq təcrübələrinin evinizdəki kiçik bir otaqda deyil, uzaq məsafələrdə işləyə bilməsi üçün obyektlərin GPS koordinatlarına bağlandığı Mapbox -dan "dünya miqyasında" AR etmək cəhdidir.
Layihələri, AR kamerasından əsl şimala doğru olan bir açı hesablamaq üçün AR Position deltaları və GPS Position deltalarından istifadə edir. İstifadəçi tətbiqi başlatdıqda və bir düz yolda gəzib başqa bir GPS oxumasını götürəndə əsas etibarilə bir GPS oxu edin. Sonra bu iki nöqtə ilə həmin şəxsin hansı istiqamətdə getdiyini (kamerasının getdiyi istiqamətə işarə etdiyini düşünərək) deyə bilərsiniz. Bunun telefondakı kompas istifadə etməkdən daha doğru olduğunu tapdılar.
Həll etməyə çalışdıqları digər problem, ARkit ilə olan sürüşmələrdir. Kiçik bir otaqda izləmə qaydasındadır, ancaq xaricdən uzun məsafələrə gedərkən AR obyektləri lazım olduğu yerdən uzaqlaşır.
Addım 3: Nəhayət bir həll
Beləliklə, bu Mapbox layihəsi həqiqi şimala nisbətən etibarlı bir üzləşmə istiqaməti əldə etmək üçün bir yol təqdim etdi, buna görə qalanları yalnız dünyadakı obyektləri yerləşdirmək idi.
Müəyyən bir GPS yerində mətn mesajını etiketləmək və sonra bu məlumatı GameSparks verilənlər bazasına yazmaq üçün bu nümunəni bir qədər genişləndirdim. Necə istifadə edəcəyimi sizə göstərəcəyəm.
Bu layihənin yeganə problemi, istifadə edilməzdən əvvəl yaxşı bir uyğunlaşma əldə etməyinizdir.
Hizalamaqla demək istədiyim odur ki, Mapbox başlığı hesablamaq üçün mövqe deltalarından istifadə etdiyindən, proqramı ilk dəfə açdığınızda və yer səthinin aşkarlandığından əmin olmalısınız və sonra düzgün uyğunlaşma hesablanana qədər bir müddət düz bir xəttdə gəzməlisiniz.
Bu mənada UX başqa bir maneədir, lakin layihənin təkmilləşdirmələrində yaxşı bir uyğunlaşma təmin etmək üçün istifadəçinin qarşısına keçmək üçün kubların qoyulmasına nümunə verirlər.
İndi bu layihənin məhdudiyyətlərini bildiyiniz üçün uşaqların oynaya bilməsi üçün bundan necə istifadə edəcəyinizi sizə göstərim. Nəticədə, hər ikisi də pulsuz olan bir mapbox hesabı və bir gamesparks hesabı yaratmalısınız. GPS koordinatlarını bir yerdə saxlaya biləcəyim üçün oyun parklarından istifadə etdim, çünki test zamanı proqramı tez -tez yenidən başladıb yenidən quracaqsınız.
Ayrıca, bu həm ARkit, həm də ARcore ilə işləməlidir, amma bu anda yalnız bir iPhone var, buna görə sınaya bildim.
Addım 4: Tətbiqi işə salaq
İlk olaraq bu layihəni GitHub -dan yükləyin:
Faylı masaüstünüzdə saxlayın və Unity -də açın.
Dosyaya gedin, parametrlər qurun və platformanızı ya Android, ya da IOS -a keçirin.
İndi Mapbox.com saytına gedin və hesabınız yoxdursa hesab yaradın.
API açarınızı götürün və Birliyə qayıdın, yuxarıdakı Mapbox sekmesini basın və konfiqurasiya et düyməsini basın. Orada API açarınızı yapışdırın.
İndi GameSparks.com saytında bir hesab yaradın və yeni bir tətbiq yaratmaq üçün sağ üstdəki düyməni basın.
İstədiyinizə zəng edin və API açarınızı və tətbiq sirrinizi kopyalayın. Birliyə qayıdın və yuxarıdakı GameSparks sekmesini tapın. Konfiqurasiya et və etimadnamənizi ora yapışdırın.
Addım 5: GameSparks -ı konfiqurasiya edin
İndi tətbiq işləməzdən əvvəl verilənlər bazamızı konfiqurasiya etməliyik.
GameSparks noSQL istifadə edir, buna görə əvvəlcə bir kolleksiya yaratmalı və tətbiqimizin serverdən oxumaq, yazmaq və silmək üçün istifadə etdiyi hadisələri əlavə etməliyik.
Əvvəlcə GameSparks saytında yeni bir kolleksiya yaradın və istədiyinizə zəng edin.
İndi 3 hadisə yaratmalıyıq.
Tətbiqin etməli olduğu ilk şey verilənlər bazasına mesaj obyekti yazmaqdır.
Mesajda bir enlem, uzunluq və sonra mesajın mətni var.
Beləliklə, konfiquratora gedin və yeni bir hadisə əlavə edin. "SAVE_GEO_MESSAGE" qısa kodunu yaradın.
Adı və təsviri üçün istədiyinizi qoyun.
3 xüsusiyyət üçün qısa kodu əlavə edin:
"LAT" "LON"
"Mətn"
Hər bir məlumat növünü simli olaraq təyin edin və default dəyərini 0 olaraq təyin edin. Hər birinin standart yığma növünü "skriptdə istifadə etmək" olaraq təyin edin.
Addım 6: Son Hadisələri əlavə edin…
Tətbiq eyni zamanda verilənlər bazasında olan bütün mesajları yükləməli və tətbiq başladıqda onları Birliyə oxumalıdır ki, verilənlər bazasında saxlanılan AR mesajlarını yerləşdirə bilək.
Başqa bir hadisə yaradın və ona "LOAD_MESSAGE" deyin
Bu hadisənin heç bir atributa ehtiyacı yoxdur. Yenə ad və təsvir üçün istədiyinizi qoyun.
Başqa bir hadisə üçün də eyni şeyi edin və "REMOVE_MESSAGES" adlandırın
Bunun hətta heç bir atributa ehtiyacı yoxdur.
İndi etməyimiz lazım olan son şey, hər bir hadisə tətbiqimizdən başlayanda çağırılan bir "bulud kodu" və ya server tərəfi kodu əlavə etməkdir.
Addım 7: Bulud Kodunu əlavə edin
GameSparks -da konfiquratora və bulud koduna keçin.
Yeni hazırladığımız hər bir hadisəyə bir skript əlavə etməliyik.
LOAD_MESSAGE tədbirində bu kodu əlavə edin və qeyd edin:
var messageData = Spark.runtimeCollection ("GeoMessage");
var imleci = messageData.find ();
var allMessages = ;
while (cursor.hasNext ()) {
var obj = cursor.next ();
sil (obj ["_id"]);
allMessages.push (obj);
}
Spark.setScriptData ("all_Messages", allMessages); // bütün məlumatları qaytarın
REMOVE_MESSAGES hadisəsinə bu kodu əlavə edin:
var messageData = Spark.runtimeCollection ("GeoMessage");
messageData.remove ({});
Nəhayət SAVE_MESSAGES tədbirində bunu əlavə edin:
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": mesajLon,
"messText": messageText,
};
geoMessageList.insert (currentMessage);
Addım 8: BİZ BİZDİR
Bu layihə, GameSparks serverində identifikasiya etmək üçün cihazınızın bənzərsiz identifikatorundan istifadə edir, buna görə də indi Unity -ə qayıda və oyuna klikləyə bilərsiniz və konsolda "cihazın təsdiqləndiyini…" görürsünüz.
İndi fayla gedin, parametrləri qurun və qurmağı basın. Heç vaxt Android və ya IOS üçün bir tətbiq etməmisinizsə, Google və ya Apple ilə bir inkişaf hesabı qurmalısınız.
Tətbiq telefonunuzda olduqdan sonra əvvəlcə ARKit və ya ARCore -un yerüstü təyyarə algıladığından əmin olmalısınız. İndi sol alt küncdəki qeyd düyməsini basın. Bir neçə addım irəli gedin və açıq mavi rəngdə "hesablanmış hizalanmanın" gəldiyini görəcəksiniz. İndi UI düymələri görünməlidir və verilənlər bazanıza hər hansı bir mesaj yüklənərsə, dünyada yerləşdiriləcəklər.
Yeni bir GPS AR mesajını etiketləmək üçün mesajın olmasını istədiyiniz yerə gedin və ekranın sağ üst hissəsindəki mesaj simgesini vurun. İstədiyiniz mesajı yazın və pin düyməsini basın!
Tövsiyə:
Noku.js Tətbiqini Heroku -da necə yerləşdirmək olar: 3 addım
Noku.js Tətbiqini Herokuda necə yerləşdirmək olar: NodeJS Tətbiqimi pulsuz hesabdan istifadə edərək Herokuda necə yerləşdirdiyim budur. Lazımi proqramları yükləmək üçün bağlantıları vurun: İstifadə olunan proqram: VSCode (və ya seçdiyiniz hər hansı bir mətn redaktoru) HerokuCLIGit
Google Xəritələri Veb sayta necə yerləşdirmək olar: 4 addım
Google Xəritələri Veb Sayta Necə Yerləşdirmək olar: Xəritələr Çağırışında mənə səs verin! Bu yaxınlarda Google Xəritələrdən istifadə edən bir veb sayt yaratdım. Google Xəritələri veb saytımda yerləşdirmək olduqca asan idi və bunu etmək o qədər də çətin deyildi. Bu Təlimat kitablarında sizə Googl -u yerləşdirməyin nə qədər asan olduğunu göstərəcəyəm
Kovan İşıqlarını Yerləşdirmək: 7 Adım (Şəkillərlə birlikdə)
Kovan İşıqlarını Yerləşdirmə: Fərdin moda kimi bir piksellə yüngül şəkillər çəkməsinə imkan verən interaktiv işıq ekranı yaratmaq istədim. Lite-Brite ilə böyüdükdən sonra bunu bir fikir başlanğıc nöqtəsi olaraq istifadə etdim. İşıqların daha böyük ölçüsü ph
Google Chrome istifadə edərək kompüterinizdən Instagram -da şəkillər necə yerləşdirmək olar: 9 addım
Google Chrome istifadə edərək kompüterinizdən İnstaqramda Şəkilləri Necə Göndərə bilərsiniz: İnstagram hazırda sosial media aparıcı platformalarından biridir. Bu platformadan istifadə edən insanlar Instagram mobil tətbiqindən istifadə edərək yüklənə biləcək foto və qısa videoları paylaşa bilərlər. Instagram istifadəçilərinin qarşılaşdıqları əsas problemlərdən biri də
Öz WordPress blogunuzu necə yerləşdirmək olar: 6 addım
Öz WordPress blogunuzu necə yerləşdirmək olar: Wordpress -i öz serverinizə yükləmək blogunuza daha çox nəzarət edir. Bu Təlimat, tamamilə pulsuz və heç bir kodlaşdırma bacarığına ehtiyac olmadan bunu necə edəcəyinizə dair addım-addım bələdçidir