Мазмуну:
- 1 -кадам: Тоскоолдуктар…
- 2 -кадам: Акылсыз компас
- 3 -кадам: Акыры чечим
- 4 -кадам: Колдонмонун иштешин камсыздайлы
- 5 -кадам: GameSparksти конфигурациялоо
- 6 -кадам: Акыркы окуяларды кошуу…
- 7 -кадам: Булут кодун кошуу
- 8 -кадам: БИЗ КЫЛДЫК
Video: GPS объектилерин GPS координаттарына жайгаштыруу: 8 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул үйрөтмө Unity3D аркылуу AR объекттерин ARkit жана ARCore менен GPS объектилерин GPS координаттарына жайгаштыруу үчүн мобилдик тиркеме жасоону көздөйт. Мен Mapboxтун жардамы менен жасаган долбоорумду түзүү аркылуу сизге жол көрсөтүп берем, ал бизге белгилүү GPS жерлеринде билдирүүлөрдү белгилөөгө жана аларды GameSparks маалымат базасына жазууга мүмкүндүк берет.
Биз колдоно турган бардык программалар жана долбоорлор бекер.
Эгерде сизде буга чейин жок болсо, Unity 3Dди бул жерден жүктөп алыңыз:
unity3d.com/
1 -кадам: Тоскоолдуктар…
Ошентип, бул мобилдик GPSтин жана мобилдик компастын учурдагы чектөөлөрү менен жасоо оңой колдонмо эмес.
Чынын айтсам, объектилер болжол менен 50% убакыттын өтүшү менен көрсөтүлөт. Ошентип, натыйжалар анча чоң эмес, бирок алар объектилерге жакындаган сайын такыраак болуп калат.
Кандай болбосун, мен ойлойм, бул учурда GPSке негизделген АРнын эң жакшы жолу pokemon go сыяктуу картаны колдонуу болмокчу жана объектке жакындаганда камера ачылат жана сиздин алдыңызда ошол объектти көрөсүз. Келечекте мен ушул сыяктуу жөнөкөй ишке ашыруу боюнча толук окуу куралын кылгым келет.
Кандай болбосун, мен мурда Mapboxту колдонгом жана аларда GPS координаттарын Unity дүйнөлүк координаттарына айландыруу функциялары бар конверсия классы бар экенин билем. Мен жөн гана кээ бир GPS координаттарын тапшыра алам деп ойлогом, алар мен каалаган жерде пайда болот. Иштеген жок.
Объекттер бири -бирине салыштырмалуу туура көрүнөт, бирок алар эч качан керектүү жерде болгон эмес. Ошентип, мен бир аз изилдеп көрдүм жана объектилердин туура жерде көрүнүшү үчүн менин Биримдик Камерам чыныгы түндүк менен тыгыз байланышта болушу керек экенин билдим.
Көйгөй - телефонуңуздагы компас такыр так эмес.
2 -кадам: Акылсыз компас
Негизги көйгөй - объектилерди камерадан алысыраак жайгаштыруу, эгерде телефонуңуздун түндүгү жөнүндө бир нече градус өчүк болсо, анда алыстагы объекттер абдан алыс көрүнөт.
Мен бул ишканадан дээрлик баш тарттым, бирок бир досум мага GitHub долбоору жөнүндө айтып берди:
github.com/mapbox/mapbox-ar-unity
Бул "дүйнөлүк масштабдагы" АРды жасоо аракети, бул жерде объекттер GPS координаттарына бекитилген, ошондуктан кеңейтилген чындык тажрыйбалары үйүңүздөгү кичинекей бөлмөдө эмес, алыс аралыкта иштей алат.
Алардын долбоорунда AR Position дельталары жана GPS Position дельталары AR камерасынан чыныгы түндүккө карай бурчту эсептөө үчүн колдонулат. Колдонуучу колдонмону баштаганда, негизинен, бир GPS окуусун алып, аларды түз сызык менен басып, башка GPS окуусун алыңыз. Андан кийин бул эки чекит менен сиз ал адамдын кайсы багытта баратканын айта аласыз (камерасы алар басып жаткан тарапты көрсөтүп турат деп ойлошот). Алар бул телефондогу компасты колдонууга караганда так экенин аныкташкан.
Алар чечүүгө аракет кылган башка маселе - бул ARkit менен болгон дрейф. Чакан бөлмөнүн ичинде көз салуу жакшы, бирок сыртыңыздан алыс аралыктарга басканда, AR объекттери керек жерден алыстап кетет.
3 -кадам: Акыры чечим
Ошентип, бул Mapbox долбоору чыныгы түндүккө салыштырмалуу ишенимдүү карама -каршы багытты алуунун жолун сунуштады, андыктан дүйнөдө объекттерди жайгаштыруу гана калды.
Мен бул мисалды бир аз жайылтуу менен аяктадым, андыктан GPSтин белгилүү бир жерине текст билдирүүсүн белгилеп, анан бул маалыматты GameSparks маалымат базасына жаза алгам. Мына мен муну кантип колдонууну көрсөтөм.
Бул долбоордун бирден -бир көйгөйү - аны колдонуудан мурун жакшы тегиздөө керек.
Тегиздөө деп айткым келгени, Mapbox позицияны эсептөө үчүн позициялардын дельтасын колдонгондуктан, колдонмону биринчи жолу ачканыңызда, жердеги учак табылганына ынанууңуз керек, андан кийин туура тегиздөө эсептелгенге чейин бир аз убакыт бою түз сызыкта жүрүңүз.
Бул жагынан алганда UX дагы бир тоскоолдук, бирок долбоордун өркүндөтүлүшүндө алар жакшы тегиздикти камсыз кылуу үчүн колдонуучунун алдына кубиктерди түшүрүү мисалын беришет.
Эми бул долбоордун чектөөлөрүн билгениңизден кийин, мен аны кантип колдонуу керектигин көрсөтүп берейин, ошондо балдар айланып ойношот. Сиз акыры mapbox эсебин жана gamesparks эсебин түзүшүңүз керек, экөө тең акысыз. Мен GPS координаттарын бир жерде сактап калуу үчүн оюн парктарын колдондум, анткени тестирлөө учурунда сиз колдонмону тез -тез өчүрүп, кайра түзөсүз.
Ошондой эле, бул ARkit менен да, ARcore менен да иштеши керек, бирок менде азырынча iPhone гана бар, ошондуктан мен сынап көрсөм болот.
4 -кадам: Колдонмонун иштешин камсыздайлы
Биринчи кезекте бул долбоорду GitHubдан жүктөп алыңыз:
Файлды рабочий столго сактаңыз жана Биримдикте ачыңыз.
Файлга өтүңүз, орнотууларды түзүңүз жана платформаңызды Android же IOSко которуңуз.
Эми Mapbox.com сайтына өтүңүз жана эгерде сизде жок болсо, каттоо эсебин түзүңүз.
API ачкычыңызды алып, Биримдикке кайтыңыз, жогорудагы Mapbox өтмөгүн чыкылдатыңыз жана конфигурациялоону чыкылдатыңыз. API ачкычыңызды ошол жерге чаптаңыз.
Эми GameSparks.comдо каттоо эсебин түзүңүз жана жаңы колдонмону түзүү үчүн жогорку оң жактагы баскычты басыңыз.
Каалаган нерсеңизге чалып, API ачкычыңызды жана колдонмо сырыңызды көчүрүңүз. Биримдикке кайтып, жогору жагындагы GameSparks өтмөгүн табыңыз. Конфигурациялоону чыкылдатыңыз жана ишеним грамотаңызды ошол жерге чаптаңыз.
5 -кадам: GameSparksти конфигурациялоо
Эми колдонмо иштей электе, биз маалымат базабызды конфигурациялашыбыз керек.
GameSparks noSQL колдонот, андыктан биз адегенде коллекция түзүп, биздин колдонмо серверден окуу, жазуу жана өчүрүү үчүн колдонгон окуяларды кошушубуз керек.
Алгач GameSparks веб -сайтында жаңы коллекция түзүңүз жана аны каалаган нерсеңиз деп атаңыз.
Эми биз 3 иш -чараны түзүшүбүз керек.
Колдонмого керек болгон биринчи нерсе - маалымат базасына билдирүү объектисин жазуу.
Билдирүүдө кеңдик, узундук, анан билдирүүнүн тексти болот.
Ошентип, конфигураторго барып, жаңы окуя кошуңуз. "SAVE_GEO_MESSAGE" кыска кодун түзүңүз.
Аты жана сүрөттөмөсү үчүн каалаган нерсеңизди салыңыз.
3 атрибут үчүн кыска кодду кошуңуз:
"КЕЧ" "ЛОН"
"ТЕКСТ"
Ар бир маалымат түрүн сапка коюңуз жана демейки маанини 0 деп коюңуз. Ар биринин демейки топтоо түрүн "сценарийде колдонулат" деп жазыңыз.
6 -кадам: Акыркы окуяларды кошуу…
Колдонмо ошондой эле маалымат базасынан бардык билдирүүлөрдү жүктөп, колдонмо башталганда Биримдикке окушу керек, ошондо биз маалымат базасында сакталган AR билдирүүлөрүн жайгаштыра алабыз.
Башка иш -чара түзүп, аны "LOAD_MESSAGE" деп атаңыз
Бул окуя эч кандай атрибуттарга муктаж эмес. Кайра атын жана сүрөттөмөсүн каалаганыңызды коюңуз.
Башка иш -чара үчүн да ушундай кылыңыз жана аны "REMOVE_MESSAGES" деп атаңыз
Бул атрибуттарга да муктаж эмес.
Эми биз кылышыбыз керек болгон акыркы нерсе, булут кодун же сервер тарабындагы кодду кошуу, ал ар бир иш -чара биздин колдонмодон башталганда чакырылат.
7 -кадам: Булут кодун кошуу
GameSparksта конфигураторго жана булут кодуна өтүңүз.
Биз жаңы эле жасаган ар бир окуяга сценарий кошушубуз керек.
LOAD_MESSAGE окуясында бул кодду кошуңуз жана сактаңыз:
var messageData = Spark.runtimeCollection ("GeoMessage");
var cursor = 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 (currentMessage);
8 -кадам: БИЗ КЫЛДЫК
Бул долбоор GameSparks серверинде аутентификациялоо үчүн түзмөгүңүздүн уникалдуу идентификаторун колдонот, андыктан сиз азыр Unity'ге кайтып келип, ойнотууну чыкылдатыңыз жана консолдо "түзмөк тастыкталды …"
Эми файлга өтүңүз, орнотууларды түзүңүз жана курууну басыңыз. Эгерде сиз эч качан Android же IOS үчүн тиркеме жасай элек болсоңуз, анда Google же Apple менен өнүгүү эсебин орнотушуңуз керек болот.
Колдонмо телефонуңузда болгондон кийин, биринчи кезекте ARKit же ARCore жердеги учакты аныкташын текшериңиз. Эми төмөнкү сол бурчтагы журнал баскычын чыкылдатыңыз. Бир нече кадам алдыга бассаңыз, ачык көк түстө "эсептелген тегиздөө" пайда болорун көрөсүз. Эми UI баскычтары пайда болушу керек жана эгер кандайдыр бир билдирүүлөр базаңызга жүктөлсө, алар дүйнөгө жайгаштырылат.
Жаңы GPS AR билдирүүсүн белгилөө үчүн, сиз каалаган жерге барыңыз жана экрандын жогорку оң жагындагы билдирүү сүрөтчөсүн басыңыз. Каалаган билдирүүңүздү жазыңыз жана пин кнопкасын басыңыз!
Сунушталууда:
IOT - ESP8266: Thingspeakке маалыматтарды жайгаштыруу: 3 кадам
IOT | ESP8266 аркылуу Thingspeakке маалыматтарды жайгаштыруу: Учурда IoT трендде жана көптөгөн машиналарда булутка жүктөө жана маалыматтарды талдоо үчүн маалыматтар бар. Чакан сенсорлор булуттагы маалыматтарды жаңыртат, ал эми дагы бир учунда кыймылдаткыч. Мен IoT мисалынын бирин түшүндүрөм. Мен бул макаланы жана мен
Резистордук сактоочу жайгаштыруу системасы "Resys": 7 кадам (сүрөттөр менен)
Resistor Storage жайгашуу системасы "Resys": Бул сиздин резисторлоруңузду табууну оңой кылган система. Керектүү мааниде издеңиз, жана туура тартма күйүп калат. Бул тутум керектүү санда чейин узартылышы мүмкүн
Raspberry Pi объектилерин аныктоо: 7 кадам
Raspberry Pi объектилерин аныктоо: Бул колдонмо Raspberry Piде TensorFlowдун объекттерди аныктоо API'син орнотуу боюнча этап-этабы менен көрсөтмөлөрдү берет. Бул колдонмодогу кадамдарды аткаруу менен сиз Raspberry Piңизди P ден түз видеодо объекттерди аныктоо үчүн колдоно аласыз
Raspberry Pi - Автономдуу Mars Rover OpenCV объектилерин көзөмөлдөө менен: 7 кадам (сүрөттөр менен)
Raspberry Pi - Автономдуу Mars Rover OpenCV объектилерине көз салуу менен: Raspberry Pi 3, ачык резюме объектилерин таануу, ультрадыбыштуу сенсорлор жана редуктурлуу DC моторлору менен иштейт. Бул ровер үйрөтүлгөн нерселерди көзөмөлдөп, каалаган жерде кыймылдай алат
Raspberry Pi объектилерин эсептөө: 5 кадам
Raspberry Pi объектилерин эсептөө: Компьютердин көрүүсү, албетте, фантастикалык нерсе! Муну колдонуп, компьютер " көрүү " жана айлана -чөйрөнү жакшыраак сезүү, бул татаал, пайдалуу жана салкын тиркемелерди иштеп чыгууга мүмкүндүк берет. Fa сыяктуу колдонмолор