Përmbajtje:

Shfletuesi Web i Realitetit të Shtuar: 9 hapa
Shfletuesi Web i Realitetit të Shtuar: 9 hapa

Video: Shfletuesi Web i Realitetit të Shtuar: 9 hapa

Video: Shfletuesi Web i Realitetit të Shtuar: 9 hapa
Video: Teliti: Taksimi i sheshte, i duhuri per realitetin shqiptar| ABC News Albania 2024, Nëntor
Anonim
Shfletuesi në internet i Realitetit të Shtuar
Shfletuesi në internet i Realitetit të Shtuar
Shfletuesi në internet i Realitetit të Shtuar
Shfletuesi në internet i Realitetit të Shtuar

Sot ne do të kalojmë duke bërë një shfletues uebi të Realitetit të Shtuar për Android.

Kjo ide filloi kur ExpressVPN më kërkoi të bëja një video të sponsorizuar në YouTube. Meqenëse kjo është e para ime, doja të bëja diçka që ishte e rëndësishme për produktin e tyre. Pothuajse menjëherë mendova, oh, unë thjesht do të bëj një shfletues uebi të realitetit të shtuar në mënyrë që të mund të shfletojmë uebin në AR në një VPN. Nuk mund të jetë aq e vështirë, apo jo? E gabuar. I vura vetes disa kufizime për këtë projekt sepse doja ta përdorja për të mësuar disa gjëra të reja.

Numri një që doja të ishte për Android sepse gjithmonë bëj gjëra me IOS.

Numri dy nuk doja të përdorja ndonjë API të paguar, doja që të gjithë të ishin në gjendje ta shkarkonin këtë projekt dhe ta drejtonin atë pa pasur nevojë të paguajnë për ndonjë gjë në internet. Pra, asnjë IBM Watson, asnjë Google API dhe asgjë nga dyqani Unity Asset.

LE TË FILLOJMË!

Hapi 1: Gjërat e para Së pari

Gjërat e para në fillim
Gjërat e para në fillim

Gjëja e parë që doja të punoja ishte një zgjidhje e mirë për fjalimin në tekst, kështu që ne mund të bënim kërkimet në internet me zërin tonë. Gjithashtu unë mendoj se zëri është një metodë e shkëlqyer e ndërveprimit në AR, të paktën derisa të kemi një zgjidhje të mirë për gjurmimin e duarve. Unë e di që Android ka disa të folur amtare për funksionimin e tekstit, kështu që një kërkim i shpejtë në Google do të na ndihmojë të gjejmë disa shtojca për Unity.

Fillimisht hasa në këtë shtojcë për unitet:

www.google.com/search?rlz=1C5CHFA_enUS816U…

E provova dhe funksionoi shkëlqyeshëm. Problemi i vetëm ishte se kur e përdorni me ARCore ai gjeneron një kuti popup të lindur dhe duket se sfondon Unitetin dhe përfundoni duke humbur gjurmimin.

Kjo ishte më pak se ideale.

Hapi 2: Punimi i të folurit në tekst për Android

Punimi i fjalimit në tekst duke punuar për Android
Punimi i fjalimit në tekst duke punuar për Android

Kështu fillova të kërkoja për disa shtojca që nuk sollën pop -up box -in amtare dhe nuk mund të gjenin shumë, por përfundova duke gjetur këtë bibliotekë android:

github.com/maxwellobi/Android-Speech-Recog…

Tani nuk di asgjë për zhvillimin e Android -it amë, por doja ta sfidoja veten kështu që kuptova se do të përpiqesha të shkruaja një kod urë për këtë bibliotekë dhe ta kthej atë në një shtojcë Android për përdorim në Unity. Përsëri, ky ishte një gabim dhe udhëheqje deri në orë frustrimi.

Pastaj më në fund funksionoi…

Hapi 3: Mësimet e nxjerra

Mesimet e mesuara
Mesimet e mesuara

Pra, ka dy gjëra që kam mësuar në këtë proces, të cilat nuk janë të dukshme menjëherë nga kërkimi se si të krijoni një shtojcë Android për unitet.

Numri një është që ndoshta do t'ju duhet të merrni një referencë për kontekstin e aplikacionit Android nëse shtojca juaj do të bëjë ndonjë gjë interesante. Ju mund ta bëni këtë duke shtuar skedarin class.jar nga instalimi juaj Unity në projektin tuaj Android si bibliotekë. Pra, shkoni te struktura e projektit të skedarit dhe më pas zgjidhni skedën e varësive për modulin e aplikacionit. Këtu mund të klikoni butonin plus për të shtuar skedarin jar. Shko te krijimi i Unitetit tuaj, motorët e riprodhimit, androidplayer, variacionet, mono, zhvillimi, klasat dhe në fund klasat.jar. Ndryshoni fushën për të përpiluar vetëm. Tani, në një skedar të ri java ju mund të bëni:

UnityPlayer.currentActivity.getApplicationContext ();

dhe përdorni atë referencë kudo që të keni nevojë.

Çështja tjetër e çuditshme është se ky funksion i zërit mund të ekzekutohet vetëm në fijen kryesore, përndryshe do të merrni gabime. Për ta bërë këtë në Unity ju duhet të tregoni funksionet dhe shtojcën që të funksionojnë në UI Thread si një AndroidJavaRunnable si fotografia e mësipërme.

Hapi 4: Lufton

Lufton
Lufton

Në këtë pikë po mendoj se jam një ekspert Android, Unë jam duke aplikuar në internet për punë në android dev, jam duke porositur afishe dhe bluza android. Jeta eshte e mire. Tani jam gati të vazhdoj të kuptoj se si të krijoj një faqe në internet në Unity. Pasi bëra një hulumtim të vogël shoh se zgjidhja e pranuar është përdorimi i një WebView Android. Kjo është vetëm një klasë Android që ju lejon të bëni faqet e internetit që janë të ndërveprueshme brenda një aplikacioni Android pa ngarkuar gjithçka në shfletuesin. Në thelb, është kështu që ju mund t'i mbani përdoruesit në aplikacionin tuaj. Rendi i parë i biznesit është të shihni nëse dikush ka bërë një shtojcë uniteti për këtë që është me burim të hapur. Së pari provova këtë shtojcë:

github.com/gree/unity-webview

por vetëm i jep një WebView shtresës së Unity GUI kështu që nuk do të funksionojë. Pastaj gjej këtë shtojcë për VR:

github.com/IanPhilips/UnityAndroidVRBrowse…

kjo ju lejon të jepni një WebView në një cilësi dhe madje të ndërveprueshme, e cila është e mrekullueshme. Mendova se kjo ishte përgjigja derisa e provova dhe zbulova se po bllokonte të gjitha klikimet e mia nga uniteti.

Hapi 5: Kthehuni te Tabela e Vizatimit

Kthehu te Tabela e Vizatimit
Kthehu te Tabela e Vizatimit

Unë thjesht do të përpiqem të krijoj shtojcën time për këtë, sepse gjithçka që më duhet vërtet është të dërgoj një imazh të faqes në internet në unitet. Duke bërë disa kërkime për këtë, zbuloj se mund të ruaj një kanavacë android në një bitmap dhe pastaj ta kodoj atë në një-p.webp

Më në fund funksionoi.

Kështu që tani marr një pamje të ekranit nga një faqe në internet, kështu që le të shohim se si funksionon me arcore…

Nuk ka.

Dua të them që unë jam duke përdorur një galaxy s7 i cili nuk është telefoni më i ri, por këto gjëra në WebView janë akoma duke ngrirë të gjithë aplikacionin dhe në thelb të papërdorshëm. Supozoj se është sepse WebView dhe ARCore janë të dy duke mbingarkuar fijen kryesore, por nuk e di me të vërtetë. Kthehuni në tabelën e vizatimit. Nëse duam ta bëjmë këtë punë, do të na duhet të ngarkojmë ngarkesën e rëndë në një lloj serveri. Pasi të keni bërë një kërkim në Google, rezulton se mund të bëni një pamje të një faqeje interneti me një bibliotekë për Node.js të quajtur WebShot që përdor Phantom JS, i cili është një shfletues pa kokë që mund të shkruhet.

Hapi 6: Së fundi po arrijmë diku

Më në fund po arrijmë diku
Më në fund po arrijmë diku

Tani më duhet të kuptoj se si dreqin të përdor Node.js….

Rezulton se mund të bëni një skenar Node.js që dëgjon një numër të veçantë porti dhe kur goditet në atë port mund të kthejë disa informacione. Ne mund ta provojmë këtë duke krijuar një përshëndetje të vogël të shkrimit botëror që dëgjon në portin 3000. Ne mund të cd në drejtori me skriptin dhe ta ekzekutojmë duke bërë nyje dhe më pas emrin e shkrimit. Nëse lundrojmë në adresën tonë IP dhe pastaj portin 3000 në shfletuesin tonë, mund ta shohim atë të kthehet përshëndetje botë. Tani që kam një kuptim të vogël në nyje, mund ta marr atë duke punuar në serverin tim, ku unë pres faqet e mia të internetit në të cilat është hawkhost.com. Unë futem në serverin tim SSH dhe përpiqem të drejtoj disa skripta të botës node.js … dhe asgjë nuk funksionon. Pas disa orëve të tjera të ngatërrimit, zbuloj se serveri im i veçantë i pritjes ka vetëm dy porte të hapura për përdorim, domethënë 3000 dhe 12001.

Pra, duke përdorur ato porte dhe serverët e mi të pritjes IP, mund të marr një shembull të përshëndetjes botërore duke punuar. Tjetra unë instaloj modulin WebShot dhe krijoj një skript të vogël në të cilin mund të kaloj një URL dhe do të më kthejë një imazh të faqes së internetit në atë adresë uebi. Tani mund ta filloj atë skrip nyje dhe të dërgoj një kërkesë http POST nga Unity në IP -në dhe numrin e portit të serverit tim i cili do të më kthejë një grup byte që është imazhi i asaj faqeje interneti. Faleminderit Zotit. Tani një problem tjetër është kur mbyll terminalin tim procesi përfundon dhe pushon së dëgjuari. Unë bëj disa kërkime të tjera dhe gjej një modul të quajtur përgjithmonë. NPM instaloni përgjithmonë dhe tani mund të lundroj në përgjithmonë dhe të filloj përgjithmonë skriptin dhe ai do të vazhdojë të funksionojë derisa të regjistrohem dhe ta ndaloj përsëri.

Hapi 7: Punon

Punon!
Punon!

E madhe Por nuk është mjaft e ftohtë.

Kur mendoj për vlerën e shfletimit të uebit në AR kjo vjen nga shtimi i hapësirës. Ne nuk jemi më të kufizuar në një ekran të vetëm, kështu që unë dua të bëj diçka që më lejon të vizualizoj gjurmën time të kërkimit para meje. Pra, le të ngarkojmë atë faqe të parë kërkimi dhe pastaj të zvarritim atë faqe dhe të nxjerrim çdo rezultat kërkimi si një lidhje, të cilën më pas mund ta ngarkojmë si një imazh mbi ekranin tonë kryesor. Ne mund ta bëjmë këtë me një skript tjetër Node.js që heq faqen e parë të rezultateve të Google dhe e përdor atë vazhdimisht me përgjithmonë. Kjo mund të bëhet shumë më me efikasitet me Google API të kërkimit, por rregulli numër dy për këtë projekt nuk ishte API i paguar, kështu që ne do ta bëjmë këtë tani për tani. Tani që kemi imazhet për secilën lidhje mund t'i ngarkojmë në një ekran më të madh sa herë që i klikojmë dhe lulëzojmë, kemi një shfletues të vogël të bukur këtu. Nuk është plotësisht funksionale, por do ta marr. Në rregull, nëse doni ta drejtoni këtë projekt vetë, shkoni në Github tim dhe shkarkoni projektin expressVPN:

github.com/MatthewHallberg/ARBrowserExpres…

Hapi 8: Punoni gjithçka

Duke bërë që gjithçka të funksionojë
Duke bërë që gjithçka të funksionojë

Hapeni atë në Unity dhe le të bëjmë që gjithçka të funksionojë në vend në kompjuterin tuaj. Së pari ju duhet të gjeni adresën IP të makinës tuaj kështu që nëse jeni në mac thjesht mbani opsionin dhe klikoni simbolin wifi për të zbuluar IP -në tuaj.

Kthehuni te uniteti dhe hapni skriptin e kontrolluesit të shfletuesit dhe vendosni adresën tuaj IP atje dhe kopjoni atë në kujtesën tuaj. Gjeni dosjen nodeScripts dhe vendoseni në desktopin tuaj, hapni dosjen dhe ndryshoni të dyja zgjerimet në.js. Hapni secilin skript dhe ndryshoni adresën IP në IP -në tuaj. Tani hapni terminalin dhe ne duhet të instalojmë disa gjëra. Instaloni HomeBrew nëse nuk e keni tashmë.

-nyja e instalimit të birrës

-npm instaloni uebshot

-npm instaloni flatiron

-npm bashkimi i instalimit

-npm instaloni cheerio

Tani mund t'i fillojmë të dy skriptet në mënyrë cd në dosjen nodescripts dhe të bëjmë nyjen getimage.js Dhe pastaj hapim një dritare të re terminale dhe bëjmë nyje getlinks.js Lërini të dy dritaret e terminalit të funksionojnë dhe kthehuni te redaktuesi. Nëse shtypim play gjithçka duhet të funksionojë mirë. Ne gjithashtu mund të shkojmë te skedari, të krijojmë cilësimet dhe të godasim build dhe run për ta marrë atë në telefonin tonë! Nëse doni të ndaloni serverët, thjesht shtypni kontrollin c ose komandën q për të mbyllur të gjithë terminalin.

KJO ESHTE!

Recommended: