Satura rādītājs:
- 1. darbība. Vispirms pirmās lietas
- 2. darbība. Runas pārvēršana tekstā Android ierīcēm
- 3. solis: gūtās atziņas
- 4. solis: Cīņas
- 5. darbība. Atpakaļ pie zīmēšanas dēļa
- 6. solis: beidzot mēs kaut kur nokļūstam
- 7. solis: tas darbojas
- 8. solis: lai viss darbotos
Video: Paplašinātās realitātes tīmekļa pārlūkprogramma: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šodien mēs gatavojamies izveidot paplašinātās realitātes tīmekļa pārlūkprogrammu Android ierīcēm.
Šī ideja sākās, kad ExpressVPN lūdza mani izveidot sponsorētu YouTube videoklipu. Tā kā šī ir mana pirmā, es gribēju darīt kaut ko tādu, kas attiecas uz viņu produktu. Gandrīz uzreiz es domāju: ohh, es vienkārši izveidošu paplašinātās realitātes tīmekļa pārlūkprogrammu, lai mēs varētu pārlūkot tīmekli AR, izmantojot VPN. Tas nevar būt tik grūti, vai ne? Nepareizi. Es izvirzīju sev dažus ierobežojumus šim projektam, jo vēlējos to izmantot, lai uzzinātu dažas jaunas lietas.
Pirmais, ko es gribēju, lai tas būtu paredzēts Android ierīcēm, jo es vienmēr daru lietas ar IOS.
Otrais - es negribēju izmantot nevienu apmaksātu API, es vēlējos, lai ikviens varētu vienkārši lejupielādēt šo projektu un to palaist, nemaksājot par jebkādām lietām tiešsaistē. Tātad ne IBM Watson, ne Google API un nekas no Unity Asset veikala.
SĀKSIM!
1. darbība. Vispirms pirmās lietas
Pirmā lieta, ko es vēlējos sākt strādāt, bija labs risinājums runai un tekstam, lai mēs varētu veikt meklēšanu tiešsaistē ar savu balsi. Es arī domāju, ka balss ir lieliska mijiedarbības metode AR, vismaz līdz brīdim, kad mums ir labs roku izsekošanas risinājums. Es zinu, ka operētājsistēmā Android ir zināma teksta funkcionalitāte, tāpēc ātra Google meklēšana palīdzēs mums atrast dažus Unity spraudņus.
Es pirmo reizi saskāros ar šo spraudni vienotībai:
www.google.com/search?rlz=1C5CHFA_enUS816U…
Es to izmēģināju, un tas strādāja lieliski. Vienīgā problēma bija tā, ka, lietojot to kopā ar ARCore, tas ģenerē vietējo uznirstošo lodziņu un, šķiet, pamato Unity, un jūs galu galā zaudējat izsekošanu.
Tas bija mazāk nekā ideāli.
2. darbība. Runas pārvēršana tekstā Android ierīcēm
Tāpēc es sāku meklēt dažus spraudņus, kas neizraisīja vietējo uznirstošo lodziņu un nevarēju atrast daudz, bet galu galā atradu šo android bibliotēku:
github.com/maxwellobi/Android-Speech-Recog…
Tagad es burtiski neko nezinu par vietējo Android izstrādi, bet es gribēju izaicināt sevi, tāpēc es sapratu, ka es vienkārši mēģināšu uzrakstīt tilta kodu šai bibliotēkai un pārvērst to par Android spraudni lietošanai Unity. Atkal, tā bija kļūda un rezultātā līdz neapmierinātības stundām.
Tad beidzot tas nostrādāja…
3. solis: gūtās atziņas
Tātad šajā procesā es uzzināju divas lietas, kuras nav uzreiz pamanāmas, vienkārši meklējot googlē, kā izveidot Android spraudni vienotībai.
Ja spraudnis darīs kaut ko interesantu, iespējams, jums būs jāsaņem atsauce uz Android lietotnes kontekstu. To var izdarīt, pievienojot class.jar failu no Unity instalācijas savam Android projektam kā bibliotēkai. Tāpēc dodieties uz failu projekta struktūru un pēc tam izvēlieties lietotņu moduļa cilni Atkarības. Šeit jūs varat noklikšķināt uz pluszīmes pogas, lai pievienotu jar failu. Dodieties uz savu Unity būvējumu, atskaņošanas dzinējiem, androidplayer, variācijām, mono, izstrādi, nodarbībām un visbeidzot nodarbībām.jar. Mainiet tvērumu tikai kompilēšanai. Tagad jaunā Java failā varat veikt šādas darbības:
UnityPlayer.currentActivity.getApplicationContext ();
un izmantojiet šo atsauci visur, kur jums to vajag.
Nākamā dīvainā problēma ir tā, ka šo balss funkcionalitāti var palaist tikai galvenajā pavedienā, pretējā gadījumā jūs saņemsit kļūdas. Lai to izdarītu programmā Unity, jums ir jāpasaka, ka funkcijas un spraudnis darbojas lietotāja saskarnes pavedienā kā AndroidJavaRunnable, kā parādīts attēlā.
4. solis: Cīņas
Šobrīd domāju, ka esmu Android eksperts, Es tiešsaistē piesakos Android izstrādātāju darbiem, es pasūtīju android uzlīmes un t-kreklus. Dzīve ir laba. Tagad es esmu gatavs pāriet pie tā, lai izdomātu, kā izveidot tīmekļa lapu vietnē Unity. Pēc nelielas izpētes es redzu, ka pieņemtais risinājums ir izmantot Android WebView. Šī ir tikai Android klase, kas ļauj renderēt vietnes, kas ir savstarpēji mijiedarbojamas Android lietotnē, neielādējot visu pārlūkprogrammā. Būtībā tas ir paredzēts, lai jūs varētu saglabāt lietotājus savā lietotnē. Pirmā darba kārtība ir noskaidrot, vai kāds šim nolūkam ir izveidojis vienotības spraudni, kas ir atvērtā koda. Vispirms izmēģinu šo spraudni:
github.com/gree/unity-webview
bet tas tikai padara WebView uz Unity GUI slāni, tāpēc tas nedarbosies. Tad es atrodu šo VR spraudni:
github.com/IanPhilips/UnityAndroidVRBrowse…
tas ļauj jums padarīt WebView par tekstūru un pat tā mijiedarbojamu, kas ir lieliski. Es domāju, ka šī bija atbilde, līdz es to izmēģināju un uzzināju, ka tas bloķē visus manus klikšķus no vienotības.
5. darbība. Atpakaļ pie zīmēšanas dēļa
Es tikai mēģināšu izveidot savu spraudni šim nolūkam, jo viss, kas man tiešām ir nepieciešams, ir nosūtīt vienotībai vietnes attēlu. Veicot dažus pētījumus par to, es uzzinu, ka es varu saglabāt android audeklu bitkartē un pēc tam kodēt to-p.webp
Beidzot tas izdevās.
Tagad es varu iegūt ekrānuzņēmumu no vietnes, tāpēc redzēsim, kā tas darbojas ar arcore…
Tā nav.
Es domāju, ka es izmantoju galaktiku s7, kas nav jaunākais tālrunis, taču šī WebView informācija joprojām iesaldē visu lietotni un būtībā nav izmantojama. Es pieņemu, ka tas ir tāpēc, ka gan WebView, gan ARCore pārslogo galveno pavedienu, bet es īsti nezinu. Atpakaļ pie zīmēšanas dēļa. Ja mēs vēlamies, lai šis darbs izdotos, mums būs jāpārkrauj smagā celšana uz kaut kādu serveri. Pēc tam, kad esat veicis Google meklēšanu, izrādās, ka varat uzņemt vietnes ekrānuzņēmumu ar Node.js bibliotēku ar nosaukumu WebShot, kas izmanto Phantom JS, kas ir skriptējams bezgalvains pārlūks.
6. solis: beidzot mēs kaut kur nokļūstam
Tagad man ir jāizdomā, kā pie velna izmantot Node.js….
Izrādās, ka varat izveidot skriptu Node.js, kas klausās konkrētu porta numuru, un, kad tas saņem trāpījumu, tas var atgriezt informāciju. Mēs to varam pārbaudīt, izveidojot mazu sveiciena pasaules skriptu, kas klausās portu 3000. Mēs varam ierakstīt direktorijā ar skriptu un palaist to, veicot mezglu un pēc tam skripta nosaukumu. Ja mēs pārlūkprogrammā nokļūstam savā IP adresē un pēc tam ostā 3000, mēs redzam, ka tā atgriežas sveika pasaule. Tagad, kad man ir neliela izpratne par mezglu, es varu to sākt strādāt savā serverī, kurā es mitinu savas vietnes, kurās ir hawkhost.com. Es SSH savā serverī un mēģinu palaist dažus sveikas pasaules node.js skriptus … un nekas nedarbojas. Pēc dažām stundām ilgas muļķošanās es uzzinu, ka manam konkrētajam mitināšanas serverim ir atvērti tikai divi porti, proti, 3000 un 12001.
Tātad, izmantojot šīs ostas un savus mitināšanas serveru IP, es varu iegūt labās pasaules piemēru. Tālāk es instalēju WebShot moduli un izveidoju nelielu skriptu, kuram varu nodot URL, un tas man atgriezīs vietnes attēlu šajā tīmekļa adresē. Tagad es varu sākt šo mezgla skriptu un nosūtīt http POST pieprasījumu no Unity uz mana servera konkrēto IP un porta numuru, kas man atgriezīs baitu masīvu, kas ir šīs vietnes attēls. Paldies Dievam. Tagad cita problēma ir tad, kad es aizveru termināli, process beidzas un beidz klausīties. Es veicu vēl dažus pētījumus un atrodu moduli ar nosaukumu mūžīgi. NPM instalēšana uz visiem laikiem, un tagad es varu pāriet uz visiem laikiem un uz visiem laikiem sākt skriptu, un tas turpinās darboties, līdz es pieteicos un atkal to pārtraucu.
7. solis: tas darbojas
Lieliski. Bet tas nav pietiekami vēss.
Kad es domāju par tīmekļa pārlūkošanas vērtību AR, tas nāk no vietas pievienošanas. Mēs vairs neaprobežojamies tikai ar vienu ekrānu, tāpēc es vēlos izveidot kaut ko tādu, kas ļauj man vizualizēt savu meklēšanas ceļu tieši manā priekšā. Tāpēc ielādēsim pirmo meklēšanas lapu un pēc tam pārmeklēsim šo lapu un izvilksim visus meklēšanas rezultātus kā saiti, ko pēc tam varēsim ielādēt kā attēlu virs galvenā ekrāna. Mēs to varam izdarīt ar citu Node.js skriptu, kas nokopē Google rezultātu pirmo lapu un nepārtraukti to palaiž. To varētu izdarīt daudz efektīvāk, izmantojot Google meklēšanas API, taču noteikums Nr. 2 šim projektam nebija apmaksāta API, tāpēc mēs to darīsim šādi. Tagad, kad mums ir katras saites attēli, mēs varam ielādēt tos uz lielāka ekrāna katru reizi, kad mēs uz tiem noklikšķinām un uzplaukums, šeit ir jauka, maza pārlūkprogramma. Tas nav pilnībā funkcionāls, bet es to pieņemšu. Labi, tāpēc, ja vēlaties pats vadīt šo projektu, dodieties uz manu Github un lejupielādējiet expressVPN projektu:
github.com/MatthewHallberg/ARBrowserExpres…
8. solis: lai viss darbotos
Atveriet to programmā Unity un ļaujiet jūsu datorā viss darboties lokāli. Vispirms jums jāatrod jūsu ierīces IP adrese, tāpēc, ja izmantojat Mac, vienkārši turiet opciju un noklikšķiniet uz wifi simbola, lai atklātu savu IP.
Atgriezieties vienotībā un atveriet pārlūkprogrammas kontrollera skriptu, ievadiet tur savu IP adresi un nokopējiet to starpliktuvē. Atrodiet mapi nodeScripts un ielieciet to uz darbvirsmas, atveriet mapi un nomainiet abus paplašinājumus uz.js. Atveriet katru skriptu un mainiet IP adresi uz savu IP. Tagad atveriet termināli, un mums ir jāinstalē dažas lietas. Instalējiet HomeBrew, ja jums tas vēl nav.
-brūves instalācijas mezgls
-npm instalēt tīmekļa attēlu
-npm uzstādīt dzīvokli
-npm instalēt savienību
-npm instalēt cheerio
Tagad mēs varam sākt abus skriptus, lai tie tiktu nodoti mapē nodescripts, un veikt mezglu getimage.js. Un pēc tam atveriet jaunu termināļa logu un veiciet mezglu getlinks.js. Atstājiet abus termināļa logus un dodieties atpakaļ uz redaktoru. Ja nospiežam play, visam vajadzētu darboties labi. Mēs varam arī doties uz failu, veidot iestatījumus un noklikšķināt uz veidot un palaist, lai to iegūtu savā tālrunī! Ja vēlaties apturēt serverus, vienkārši nospiediet vadības taustiņu c vai komandu q, lai aizvērtu visu termināli.
TIEŠI TĀ!
Ieteicams:
Uzlabojiet atmiņu, izmantojot paplašinātās realitātes prāta pili: 8 soļi
Uzlabojiet atmiņu, izmantojot paplašinātās realitātes prāta pili: prāta pilis, tāpat kā Šerloku Holmsu, izmantoja atmiņas čempioni, lai atgādinātu daudz informācijas, piemēram, kārtību kārtību sajauktā klājā. Prāta pils vai loci metode ir atmiņas tehnika, kurā vizuālā mnemonika ir
GlobalARgallery - Globālā paplašinātās realitātes galerija: 16 soļi
#GlobalARgallery - globālā paplašinātās realitātes galerija: #GlobalARgallery ir iespēja skolām (un citiem) asinhroni sazināties visā pasaulē un dalīties pieredzē, mākslas darbos, stāstos, grafikos, izstādēs, prezentācijās un jebko citu, ko varat iedomāties. Tas viss parādās A
Paplašinātās realitātes tālruņa pārnesums: 7 soļi
Paplašinātās realitātes tālruņa aprīkojums: lēts, vienkāršs, foršs
Paplašinātās realitātes mīkla: 11 soļi
Paplašinātās realitātes mīkla: Puzles spēles ir vienkārši brīnišķīgas. Ir visu veidu mīklas, tipiskā mozaīkmīkla, labirints, ar žetoniem un pat šī žanra videospēles (piemēram, kapteinis krupis). Mīklu spēles prasa spēlētājam izstrādāt problēmu risināšanas stratēģiju
Paplašinātās realitātes Vuforia 7 sauszemes plaknes noteikšana: 8 soļi
Paplašinātās realitātes Vuforia 7 zemes lidmašīnas noteikšana: Vuforia paplašinātās realitātes SDK Unity 3D izmanto ARCore un ARKit, lai noteiktu zemes lidmašīnas AR. Šodienas apmācībā tiks izmantota viņu vietējā integrācija Unity, lai izveidotu AR lietotni Android vai IOS. Mums mašīna nokritīs no debesīm uz grouna