Բովանդակություն:
- Քայլ 1: Խոչընդոտներ…
- Քայլ 2: Հիմար կողմնացույց:
- Քայլ 3: Վերջապես լուծում:
- Քայլ 4: Թող ծրագիրը աշխատի:
- Քայլ 5. Կարգավորեք GameSparks- ը:
- Քայլ 6: Ավելացրեք վերջին իրադարձությունները…
- Քայլ 7: Ավելացրեք ամպի ծածկագիրը:
- Քայլ 8: ՄԵՆՔ ԿԱՏԱՐԵԼ ԵՆՔ:
Video: AR օբյեկտների տեղադրում GPS- ի կոորդինատների մեջ `ընդլայնված իրականության մեջ. 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Այս հրահանգը կանցնի բջջային հավելվածի ստեղծման համար AR- ի և ARCore- ի հետ AR- ի և ARCore- ի GPS կոորդինատներում տեղադրելու համար բջջային հավելված ստեղծելու համար `օգտագործելով Unity3D- ը: Ես ձեզ կներկայացնեմ Mapbox- ի միջոցով իմ պատրաստած նախագիծը ստեղծելու միջոցով, որը թույլ է տալիս մեզ ուղարկել GPS- ի որոշակի վայրերում հաղորդագրություններ և գրել դրանք GameSparks տվյալների բազայում:
Բոլոր ծրագրերը և նախագծերը, որոնք մենք կօգտագործենք այստեղ, անվճար են:
Ներբեռնեք Unity 3D- ն այստեղ, եթե այն արդեն չունեք.
unity3d.com/
Քայլ 1: Խոչընդոտներ…
Այսպիսով, սա ամենահեշտ ծրագիրը չէ, որը կարելի է անել բջջային GPS- ի և բջջային կողմնացույցի ներկայիս սահմանափակումներով:
Անկեղծ ասած, օբյեկտները հայտնվում են այնտեղ, որտեղ ենթադրվում է, որ ժամանակի մոտ 50% -ը: Այսպիսով, արդյունքները հիանալի չեն, բայց դրանք ավելի ճշգրիտ են դառնում, երբ մոտենում եք օբյեկտներին:
Ամեն դեպքում, ես կարծում եմ, որ GPS- ի վրա հիմնված AR- ի ավելի լավ միջոց կլինի օգտագործել քարտեզը, ինչպիսին է pokemon go- ը, և երբ մոտենում ես օբյեկտի, տեսախցիկը բացվում է, և տեսնում ես միայն այդ օբյեկտը քո առջև: Ապագայում ես կցանկանայի կատարել ամբողջական ձեռնարկ ՝ նման ավելի պարզ իրականացման վերաբերյալ:
Ամեն դեպքում, ես նախկինում օգտագործել եմ Mapbox- ը և գիտեմ, որ նրանք ունեն փոխակերպման դաս, որն ունի GPS կոորդինատները Unity համաշխարհային կոորդինատներ փոխարկելու գործառույթներ: Ես մտածեցի, որ կարող եմ պարզապես փոխանցել որոշ GPS կոորդինատներ, և դրանք կհայտնվեն այնտեղ, որտեղ ես ուզում էի: Չի աշխատել:
Օբյեկտները ճիշտ են երևում միմյանց համեմատ, բայց դրանք երբեք ճիշտ տեղում չեն եղել: Այսպիսով, ես որոշ հետազոտություններ կատարեցի և պարզեցի, որ իմ Unity Camera- ն պետք է համապատասխանեցվեր իրական հյուսիսին, որպեսզի օբյեկտները հայտնվեին ճիշտ տեղում:
Խնդիրն այն է, որ ձեր հեռախոսի կողմնացույցը երբեք ամբողջովին ճշգրիտ չէ:
Քայլ 2: Հիմար կողմնացույց:
Հիմնական խնդիրն այն է, երբ օբյեկտները դնում եք տեսախցիկից, եթե ձեր հեռախոսի պատկերացումն իրական հյուսիսի մասին նույնիսկ մի քանի աստիճանով անջատված է, հեռվում գտնվող օբյեկտները կհայտնվեն շատ հեռու:
Ես գրեթե հրաժարվեցի այս ձեռնարկումից, բայց ընկերս ինձ պատմեց այս GitHub ծրագրի մասին.
github.com/mapbox/mapbox-ar-unity
Սա «համաշխարհային մասշտաբով» AR կատարելու փորձ է Mapbox- ից, որտեղ օբյեկտները խարսխված են GPS կոորդինատներին, որպեսզի հավելյալ իրականության փորձը կարողանա աշխատել երկար հեռավորությունների սահմաններից դուրս ՝ ձեր տան փոքրիկ սենյակի ներսում:
Նրանց նախագիծը օգտագործում է AR դիրքորոշման դելտաները և GPS դիրքի դելտաները `անկյունը հաշվարկելու համար, որը փոխված է AR տեսախցիկից դեպի իսկական հյուսիս: Այսպիսով, հիմնականում վերցրեք մեկ GPS ընթերցում, երբ օգտվողը սկսում է ծրագիրը և հանձնարարեք նրան քայլել ուղիղ գծով և վերցնել մեկ այլ GPS ընթերցում: Հետո այս երկու կետերով դուք կարող եք ասել, թե որ ուղղությամբ էր այդ մարդը քայլում (ենթադրելով, որ իր տեսախցիկը ցույց է տալիս այն քայլը, որով քայլում է): Նրանք պարզել են, որ սա ավելի ճշգրիտ է, քան հեռախոսում կողմնացույցի օգտագործումը:
Մյուս հարցը, որը նրանք փորձում են լուծել, ARkit- ի հետ շեղումն է: Հետևելը նորմալ է փոքր սենյակի ներսում, բայց երբ ձեր դրսից երկար հեռավորության վրա քայլող AR առարկաները հայտնվում են այն վայրից, որտեղ պետք է լինեին:
Քայլ 3: Վերջապես լուծում:
Այսպիսով, Mapbox- ի այս նախագիծը առաջարկեց մի ուղի ՝ դեպի ճշմարիտ հյուսիսը երեսապատման հուսալի ուղղություն ստանալու համար, այնպես որ մնում էր միայն օբյեկտները տեղադրել աշխարհում:
Ավարտեցի այս օրինակի փոքր -ինչ ընդլայնումը, որպեսզի կարողանամ տեքստային հաղորդագրություն նշել GPS- ի որոշակի վայրում, այնուհետև գրել այդ տեղեկատվությունը GameSparks տվյալների բազայում: Դա այն է, ինչ ես պատրաստվում եմ ցույց տալ ձեզ, թե ինչպես օգտագործել:
Այս նախագծի միակ խնդիրն այն է, որ այն օգտագործելուց առաջ պետք է լավ հավասարեցում ստանալ:
Հավասարեցում ասելով ՝ այն, քանի որ Mapbox- ն օգտագործում է դիրքի դելտաները ՝ վերնագիրը հաշվարկելու համար, երբ առաջին անգամ բացում ես ծրագիրը և պետք է համոզվես, որ հայտնաբերված է ստորգետնյա ինքնաթիռ, այնուհետև որոշ ժամանակ քայլում ուղիղ գծով, մինչև հաշվարկվի համապատասխան հավասարեցում:
Այս իմաստով, UX- ը ևս մեկ խոչընդոտ է, սակայն նախագծի կատարելագործման մեջ նրանք տալիս են օրինակ ՝ օգտվողների առջև խորանարդներ տեղադրելու համար, որպեսզի նրանք անցնեն ՝ լավ հավասարեցում ապահովելու համար:
Այժմ, երբ դուք գիտեք այս նախագծի սահմանափակումները, թույլ տվեք ցույց տալ ձեզ, թե ինչպես օգտագործել այն, որպեսզի տղաները կարողանան խաղալ: Ի վերջո, ձեզ հարկավոր կլինի ստեղծել mapbox հաշիվ և խաղային պարկերի հաշիվ, որոնք երկուսն էլ անվճար են: Ես օգտագործել եմ խաղային պարկեր, որպեսզի կարողանամ ինչ -որ տեղ պահպանել GPS կոորդինատները, քանի որ փորձարկման ժամանակ դուք բավականին հաճախ կվերագործարկեք և կվերակառուցեք ծրագիրը:
Բացի այդ, սա պետք է աշխատի ինչպես ARkit- ի, այնպես էլ ARcore- ի հետ, բայց ես այս պահին միայն iPhone ունեմ, այնպես որ դա այն ամենն էր, ինչ կարող էի ստուգել:
Քայլ 4: Թող ծրագիրը աշխատի:
Առաջին բանը, առաջին հերթին, ներբեռնեք այս նախագիծը GitHub- ից ՝
Պահեք ֆայլը ձեր աշխատասեղանին և բացեք այն Unity- ում:
Գնացեք ֆայլ, ստեղծեք կարգավորումներ և փոխեք ձեր հարթակը կամ Android- ի կամ IOS- ի:
Այժմ գնացեք Mapbox.com և հաշիվ ստեղծեք, եթե արդեն չունեք:
Բռնեք ձեր API ստեղնը և վերադառնաք Unity, կտտացրեք Mapbox ներդիրին վերևում և կտտացրեք կազմաձևել: Տեղադրեք ձեր API բանալին այնտեղ:
Այժմ ստեղծեք հաշիվ GameSparks.com կայքում և կտտացրեք վերևի աջ կոճակին ՝ նոր ծրագիր ստեղծելու համար:
Անվանեք այն, ինչպես ցանկանում եք և պատճենեք ձեր API բանալին և ծրագրի գաղտնիքը: Վերադարձեք Unity և վերևում գտեք GameSparks ներդիրը: Կտտացրեք կազմաձևել և այնտեղ տեղադրեք նաև ձեր հավատարմագրերը:
Քայլ 5. Կարգավորեք GameSparks- ը:
Այժմ, մինչև ծրագիրը կաշխատի, մենք պետք է կազմաձևենք մեր տվյալների բազան:
GameSparks- ը օգտագործում է noSQL, այնպես որ մենք պետք է նախ հավաքածու ստեղծենք և ավելացնենք այն իրադարձությունները, որոնք մեր ծրագիրը օգտագործում է սերվերից կարդալու, գրելու և ջնջելու համար:
Սկզբում ստեղծեք նոր հավաքածու GameSparks կայքում և անվանեք այն ինչպես ցանկանում եք:
Այժմ մենք պետք է ստեղծենք 3 իրադարձություն:
Առաջին բանը, որ ծրագիրը պետք է անի, տվյալների բազայում հաղորդագրության օբյեկտ գրելն է:
Հաղորդագրությունն ունի լայնություն, երկայնություն, այնուհետև հաղորդագրության տեքստ:
Այսպիսով, գնացեք կազմաձևիչ և ավելացրեք նոր իրադարձություն: Կազմեք «SAVE_GEO_MESSAGE» կարճ կոդը:
Տեղադրեք այն, ինչ ցանկանում եք անվան և նկարագրության համար:
Ավելացրեք կարճ ծածկագիր 3 հատկանիշների համար.
«ՎԱAT» «ԼՈՆ»
«ՏԵՔՍՏ»
Տվյալների յուրաքանչյուր տիպ սահմանեք տողի վրա և կանխադրված արժեքը `0: Դարձրեք յուրաքանչյուրի կանխադրված համախմբման տեսակը« օգտագործված սցենարում »:
Քայլ 6: Ավելացրեք վերջին իրադարձությունները…
Հավելվածը նաև պետք է բեռնվի տվյալների բազայից բոլոր հաղորդագրությունները և դրանք կարդա Unity- ում, երբ ծրագիրը գործարկվի, որպեսզի մենք կարողանանք տեղադրել տվյալների բազայում պահվող AR հաղորդագրություններ:
Ստեղծեք այլ իրադարձություն և անվանեք այն «LOAD_MESSAGE»
Այս իրադարձությունը որևէ հատկանիշի կարիք չունի: Անվան և նկարագրության համար նորից դրեք այն, ինչ ցանկանում եք:
Նույնը կատարեք մեկ այլ իրադարձության դեպքում և անվանեք այն «REMOVE_MESSAGES»
Սա նույնիսկ ատրիբուտների կարիք չունի:
Այժմ վերջին բանը, որ մենք պետք է անենք, ավելացնել «ամպային ծածկագիր» կամ սերվերի կողային ծածկագիր, որը կոչվում է, երբ յուրաքանչյուր իրադարձություն սկսվում է մեր ծրագրից:
Քայլ 7: Ավելացրեք ամպի ծածկագիրը:
GameSparks- ում անցեք կազմաձևիչ և ամպի կոդ:
Մենք պետք է սցենար ավելացնենք մեր պատրաստած յուրաքանչյուր իրադարձության:
LOAD_MESSAGE իրադարձության մեջ ավելացրեք այս ծածկագիրը և պահեք այն.
var messageData = Spark.runtimeCollection («GeoMessage»);
var կուրսորը = messageData.find ();
var allMessages = ;
while (cursor.hasNext ()) {
var obj = cursor.next ();
ջնջել (obj ["_id"]);
allMessages.push (obj);
}
Spark.setScriptData ("all_Messages", allMessages); // վերադարձնել բոլոր տվյալները
REMOVE_MESSAGES իրադարձության մեջ ավելացրեք այս ծածկագիրը.
var messageData = Spark.runtimeCollection («GeoMessage»);
messageData.remove ({});
Վերջապես SAVE_MESSAGES միջոցառմանը ավելացրեք սա.
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 (ընթացիկ հաղորդագրություն);
Քայլ 8: ՄԵՆՔ ԿԱՏԱՐԵԼ ԵՆՔ:
Այս նախագիծը օգտագործում է ձեր սարքի եզակի ID- ն ՝ GameSparks սերվերի միջոցով նույնականացնելու համար, որպեսզի այժմ կարողանաք վերադառնալ Unity և սեղմել play- ը, և վահանակում պետք է տեսնեք «վավերացված սարքը …»:
Այժմ գնացեք ֆայլ, կառուցեք կարգավորումներ և կտտացրեք կառուցել: Եթե դուք երբևէ ծրագիր չեք պատրաստել Android- ի կամ IOS- ի համար, գուցե անհրաժեշտ լինի զարգացման հաշիվ ստեղծել Google- ում կամ Apple- ում:
Երբ ծրագիրը ձեր հեռախոսում է, նախ պետք է համոզվեք, որ ARKit- ը կամ ARCore- ը հայտնաբերում են գրունտային հարթություն: Այժմ կտտացրեք ներքևի ձախ անկյունում գրանցամատյանի կոճակին: Քայլեք մի քանի քայլ առաջ և կտեսնեք, որ «հաշվարկված հավասարեցումը» հայտնվում է բաց կապույտ գույնով: Այժմ UI կոճակները պետք է հայտնվեն, և եթե որևէ հաղորդագրություն բեռնվի ձեր տվյալների բազայում, դրանք կտեղադրվեն աշխարհում:
Նոր GPS AR հաղորդագրությունը ինչ -որ տեղ նշելու համար գնացեք այն վայրը, որտեղ ցանկանում եք լինել հաղորդագրությունը և կտտացրեք հաղորդագրության պատկերակին էկրանի վերին աջ մասում: Մուտքագրեք ցանկացած հաղորդագրություն, որը ցանկանում եք և կտտացրեք կոճակը:
Խորհուրդ ենք տալիս:
Բարձրացրեք ձեր հիշողությունը ընդլայնված իրականության մտքի պալատով `8 քայլ
Բարձրացրեք ձեր հիշողությունը ընդլայնված իրականության մտքի պալատով. Մտքի պալատների օգտագործումը, ինչպես Շերլոկ Հոլմսում, օգտագործվել է հիշողության չեմպիոնների կողմից `բազմաթիվ տեղեկություններ հիշեցնելու համար, ինչպիսիք են խառը քարտեզի տախտակամածի քարտերի հերթականությունը: Մտքի պալատը կամ տեղանքի մեթոդը հիշողության տեխնիկա է, որտեղ տեսողական հիշողությունները
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/դասավանդման մեթոդ/տեխնիկա ՝ օգտագործելով ձևի բռունցք. 5 քայլ
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/դասավանդման մեթոդ/տեխնիկա Shape Puncher- ի օգտագործմամբ. Սա միջոց է, որը թույլ է տալիս նրանց պատկերացնել և տեսնել դասերից օբյեկտների ստեղծման գործընթացը: Մասեր .1. EkTools 2 դյույմ մեծ դակիչ; ամուր ձևերն ամենալավն են: 2. Թղթի կտոր կամ գ
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/ուսուցման մեթոդ/տեխնիկա Մկրատների միջոցով. 5 քայլ
Օբյեկտների վրա հիմնված ծրագրավորում. Օբյեկտների ստեղծում Ուսուցման/ուսուցման մեթոդ/տեխնիկա Մկրատների օգտագործմամբ. Սա միջոց է, որը թույլ է տալիս նրանց պատկերացնել և տեսնել դասերից օբյեկտների ստեղծման գործընթացը: Մասեր. 1. Մկրատ (ցանկացած տեսակի կանի): 2. Թուղթ կամ թղթի կտոր: 3. Մարկեր
Arduino Glass - Բաց կոդով ընդլայնված իրականության ականջակալ. 9 քայլ (նկարներով)
Arduino Glass - Բաց կոդով ընդլայնված իրականության ականջակալ. Երբևէ մտածե՞լ եք ընդլայնված իրականության ականջակալներ ձեռք բերելու մասին: Մի՞թե դուք նույնպես հիացած էիք ընդլայնված իրականության հնարավորությամբ և կոտրված սրտով նայեցիք գինը: Այո, ես նույնպես: Բայց դա ինձ այնտեղ չկանգնեցրեց: Ես ամրապնդեցի իմ քաջությունը և փոխարենը ՝
Ընդլայնված իրականության արտադրանքի ցուցափեղկ (TfCD) ՝ 11 քայլ (նկարներով)
Ընդլայնված իրականության արտադրանքի ցուցափեղկ (TfCD). Թռիչքի ընթացքում ապրանքների վաճառքը մեր օրերում ավելի ու ավելի տարածված է դառնում: Այնուամենայնիվ, ինքնաթիռում առաջին և գրեթե միակ տեղեկատվությունը, որը տեսնում է ուղևորը (հավանական գնորդը), տպագիր գրքույկ է: Այս խրատական ուղին ցույց կտա ինքնաթիռում նորարարություն մտցնելու միջոց