JavaRush /Java Blog /Random-TL /Java sa virtual reality. Totoo ba na ang VR/AR ay ang hin...

Java sa virtual reality. Totoo ba na ang VR/AR ay ang hinaharap, at mayroon bang lugar para sa Java dito?

Nai-publish sa grupo
Sa mga nakaraang artikulo ng seryeng ito, napagmasdan na namin ang halos lahat ng higit pa o mas kaunting mga usong teknolohiya ng modernong IT market, tulad ng artificial intelligence , blockchain , cloud services , big data , atbp., alamin kung paano ginagamit ang Java programming language sa mga niches na ito at hanggang saan siya gumaganap ng isang mahalagang papel. Java sa virtual reality.  Totoo ba na ang VR/AR ay ang hinaharap, at mayroon bang lugar para sa Java dito?  - 1Ngayon ay pag-uusapan natin ang tungkol sa isa pang uso at napaka-interesante na teknolohikal na segment - ibig sabihin, VR at AR, iyon ay, virtual at augmented reality. "Sa palagay ko, ang isang makabuluhang bahagi ng populasyon ng mga binuo na bansa ay malapit nang makipag-ugnayan sa mga solusyon sa AR sa patuloy na batayan araw-araw. Sa lalong madaling panahon, ang AR ay magiging bahagi ng ating pang-araw-araw na buhay. Tim Cook, CEO ng Apple

Ano ang VR at AR?

Una, alamin natin kung ano ang mga teknolohiyang ito, kung paano ginagamit ang mga ito at kung paano sila naiiba sa isa't isa. Magsimula tayo sa VR, iyon ay, virtual reality. Ang mga virtual reality na application ay tumatakbo sa mga espesyal na device na ganap na nakakakuha ng paningin ng user upang lumikha ng impresyon na sila ay nasa ibang lugar. Lahat ng sikat na VR headset, gaya ng HTC Vive o Oculus Rift, ay ganap na humaharang sa paningin ng user kapag isinuot. Kapag naka-on ang naturang device, ang mga panel ng LCD o OLED na nasa loob nito ay nire-refracte ng mga espesyal na lente upang ganap na punan ang field of view ng user ng ipinadalang content, ito man ay isang laro, 360-degree na video, o simpleng interface ng isang programa. . Karamihan sa mga VR headset, kabilang ang nabanggit na Oculus Rift, pati na rin ang Vive, PlayStation VR, Windows Mixed Reality at iba pa, ay gumagamit ng anim na antas ng kalayaan (6DOF) na teknolohiya sa pagsubaybay sa paggalaw, na nakakamit sa pamamagitan ng mga panlabas na sensor o camera. Nagbibigay-daan ito sa mga device na makita hindi lamang ang direksyon kung saan ka tumitingin, kundi pati na rin ang paggalaw na ginagawa ng user patungo sa direksyong iyon. Ito, kasama ng 6DOF motion detector, ay nagbibigay-daan sa mga user na lumipat sa virtual na espasyo, na ginagawang mas nakaka-engganyo ang mga naturang application. Tulad ng para sa AR, iyon ay, augmented reality, ang pagkakaiba nito sa VR ay ang AR ay hindi nagsusumikap na ganap na maunawaan ang iyong paningin, ngunit nagdaragdag ng ilang mga elemento dito. Ang mga AR device gaya ng Microsoft HoloLens at iba't ibang uri ng smart glasses ay nagbibigay-daan sa user na makita ang lahat ng bagay sa kanilang paligid sa pamamagitan ng pag-project ng mga larawan sa kung saan sila tumitingin. Kasama rin sa konseptong ito ang maraming smartphone app at laro tulad ng Pokemon Go, Temple Treasure Hunt, ARrrrrgh, Ingress at marami pa. Ginagamit nila ang camera ng isang mobile device upang subaybayan ang kapaligiran at dagdagan ito ng iba't ibang uri ng impormasyon na nakalagay sa screen. Ang mga AR display ay maaaring mag-overlay ng ilang napakasimpleng data sa ibabaw ng katotohanan, tulad ng isang watch dial, halimbawa, ngunit maaari rin nilang ipatupad ang mga kumplikadong bagay tulad ng mga hologram ng mga halimaw sa gitna ng isang silid. Halimbawa, ang larong Pokemon Go ay nagpapalabas ng mga Pokemon character sa screen ng iyong device, kung saan nakatutok ang lens ng camera. Habang ang iba't ibang uri ng augmented reality glasses ay nagbibigay-daan sa mga user na maglagay ng mga elemento ng interface at mga icon ng application sa ibabaw ng imahe ng realidad na kanilang nakikita. "Naniniwala ako na ang augmented reality ang magiging pinakamalaking teknolohikal na rebolusyon sa ating panahon." Tim Sweeney, American programmer at video game developer, founder ng Epic Games Java sa virtual reality.  Totoo ba na ang VR/AR ay ang hinaharap, at mayroon bang lugar para sa Java dito?  - 2

Ang VR at AR ay hindi pareho

Ito, sa katunayan, ang pangunahing kawalan ng augmented reality kumpara sa virtual reality. Kung ganap na pinapalitan ng VR ang imahe sa iyong view, ang AR ay pumupuno lamang dito, kadalasang sumasakop lamang sa isang napakaliit na bahagi ng paningin ng gumagamit. Ngunit ito rin ang pangunahing bentahe ng augmented reality, dahil ang pamamaraang ito ay nagbibigay sa mga developer ng halos walang limitasyong mga posibilidad. Halimbawa, ang mga mobile AR na application na maaaring makilala ang mga bagay sa isang imahe ng camera at magpadala ng impormasyon tungkol sa mga ito sa user ay nasa loob ng ilang taon. Ang mga espesyal na salamin sa AR, gaya ng HoloLens, ay nagbibigay-daan sa mga user na maglagay ng mga lumulutang na bintana sa kanilang paligid na maaaring matingnan sa display ng device. Hindi banggitin ang maraming laro na gumagamit ng augmented reality bilang pangunahing elemento ng gameplay (Pokemon Go, RoboRaid, Fragments) o bilang karagdagang feature. Kaya, ang virtual reality at augmented reality ay dalawang magkaibang teknolohiya na ginagamit para sa magkaibang layunin, bagama't karaniwang tinutukoy ang AR at VR bilang dalawang uri ng parehong diskarte. Kung ang layunin ng mga VR device at application ay palitan ang realidad at halos dalhin ang user sa ibang lugar, kung gayon, gumagana ang AR sa realidad, na nagdaragdag sa kung ano ang nasa harapan na natin ng bagong impormasyon. Pareho sa mga teknolohiyang ito ay nasa kanilang mga unang araw pa lamang, ngunit itinuturing na lubhang promising at may potensyal na baguhin ang paraan ng paggamit ng mga computer ng mga tao sa malapit na hinaharap. "Sa palagay ko sa malapit na hinaharap, maraming mga kuwento ang sasabihin sa loob ng virtual na espasyo." Joe Russo, direktor ng pelikulang Amerikano Java sa virtual reality.  Totoo ba na ang VR/AR ay ang hinaharap, at mayroon bang lugar para sa Java dito?  - 3

AR/VR at Java

Bagama't ang AR/VR niche ay gumagamit ng isang bilang ng mga programming language, kabilang ang C#, C/C++, JavaScript, Swift at maging ang Python, ang Java ay isa sa pinaka-in demand. Ang mga dahilan, sa katunayan, ay kapareho ng sa kaso ng iba pang mga teknolohiya: Ang Java code ay nagbibigay-daan sa mga application na tumakbo nang mabilis, ang object-orientation ay nagpapadali sa paggawa ng mga indibidwal na bahagi ng application, at ang pagsasarili ng platform ay ginagawang mas unibersal ang mga produkto ng AR/VR sa Java. Sa kaso ng AR, iyon ay, augmented reality, ang Java ay magiging isa sa mga pangunahing programming language, dahil ang karamihan sa mga AR application ay nilikha para sa mga mobile device. Alinsunod dito, ang Java ang pangunahing opsyon para sa mga AR application na nilikha para sa mga device batay sa Android mobile operating system, habang sa kaso ng mga produkto ng Apple, ang Objective-C at Swift na mga wika ay ginagamit. Sa ngayon, sinusuportahan ng mga AR application ang maraming iba't ibang device, kabilang ang mga helmet, salamin, mga handheld device at maging ang mga contact lens. Sa maraming paraan, ang Java ang nagbibigay-daan sa iyong lumikha ng mga solusyon sa AR na gagana sa iba't ibang, kadalasang ibang-iba, na mga platform. Sa ngayon, aktibong ipinapatupad ang mga application na AR na nakabase sa Java sa mga klinika, bangko, restaurant, museo, atbp. "Binabago na ng AR ang paraan ng paglapit namin sa commerce at pamimili, na lumilikha ng tulay sa pagitan ng digital at pisikal na mundo." Muchaneta Kapfunde, tagapagtatag ng FashNerd.com

Mga Uri ng AR Application

Ngayon, tingnan natin ang mga pangunahing hanay ng mga tool (SDK) at mga framework na makatuwirang gamitin para sa pagbuo ng mga AR application. Ngunit una, tingnan natin ang dalawang pangunahing uri ng mga application ng AR: mga application ng marker at geolocation.
  • Mga application ng marker AR.

    Ang mga application ng Marker AR ay batay sa teknolohiya sa pagkilala ng imahe. Gumagamit sila ng mga itim at puti na marker bilang mga trigger na nag-a-activate sa pagpapakita ng nilalamang AR sa user. Kaya, upang makita ang isang elemento ng augmented reality sa kanyang harapan, ang gumagamit ng naturang application ay dapat ituro ang camera sa kaukulang marker sa kanyang kapaligiran. Kapag nakilala ng device ang marker, ang application ay nag-o-overlay ng digital na data dito at nagpapakita sa user ng elemento ng augmented reality. Ang mga uri ng application na ito, sa partikular, ay malawakang ginagamit para sa mga layunin ng advertising ng mga tindahan, restaurant at iba pang negosyo kung saan naaangkop ang functionality na ito.

  • Mga aplikasyon ng geolocation.

    Ang pangalawang pangunahing uri ng AR app, batay sa lokasyon, ay gumagana nang walang mga marker, na umaasa sa halip sa impormasyon ng lokasyon ng user na ibinigay ng GPS, accelerometer, o digital compass, at nag-o-overlay ng mga AR na bagay sa ibabaw ng aktwal na mga pisikal na lokasyon. At muli, ginagamit namin ang Pokemon Go bilang isang halimbawa - marahil ito ang pinakasikat na geolocation AR application.

    "Ang pangunahing gawain para sa pagbuo ng mga teknolohiya ng AR at VR ay lumikha ng isang bukas na platform kung saan maaaring ipatupad ng mga developer ang lahat ng kanilang mga ideya."

    Mark Zuckerberg, tagalikha ng social network na Facebook

    Java sa virtual reality.  Totoo ba na ang VR/AR ay ang hinaharap, at mayroon bang lugar para sa Java dito?  - 4

Ang pinakamahusay na mga SDK para sa pagbuo ng mga AR application

  • Google ARCore

    Ang ARCore ay ang pangunahing platform ng Google para sa pagbuo ng AR app, na sumusuporta sa mga device batay sa Android mobile OS at nagtatrabaho sa Java/OpenGL, Unity at Unreal na mga library.

    Kabilang sa mga pangunahing kakayahan ng ARCore: pagsubaybay sa paggalaw (maaaring matukoy ng ARCore ang posisyon at punto ng direksyon ng aparato gamit ang built-in na camera), pagmomodelo sa kapaligiran (nagagawa ng platform na matukoy ang mga pahalang na ibabaw, na nagbibigay-daan, halimbawa, upang ilagay mga virtual na bagay sa mga mesa o sa sahig), pagtatantya ng pag-iilaw ( tinutukoy ang antas ng pag-iilaw, kung kinakailangan, pag-highlight ng mga virtual na bagay upang magmukhang natural ang mga ito sa kapaligiran), at iba pa.

  • ARToolKit

    Ang ARToolKit ay isang open-source na hanay ng mga tool para sa pagbuo ng mga AR application.

    Sa kabila ng katotohanan na ito ay isang bukas at libreng kit, ang ARToolKit ay may kasamang napakayamang hanay ng mga pag-andar, kabilang ang suporta para sa Unity3D at OpenSceneGraph, ang kakayahang lumikha ng mga real-time na AR application, pagsasama sa matalinong salamin, suporta para sa iba't ibang uri ng mga camera, awtomatikong pagkakalibrate ng camera at iba pa.

    Sinusuportahan ng ARToolKit ang isang hanay ng mga platform, kabilang ang Android, iOS, Linux, Windows at Mac OS.

  • Vuforia

    Ang Vuforia ay marahil ang pinakasikat at kilalang platform para sa pagbuo ng mga augmented reality na application.

    Kabilang sa mga pangunahing tungkulin ng Vuforia: pagkilala sa iba't ibang uri ng mga bagay at larawan; suporta para sa pagkilala sa mga pangunahing teksto, paglikha ng mga custom na marker, paglikha ng mga 3D na mapa ng iba't ibang lokasyon, suporta para sa mga serbisyo sa cloud at lokal na imbakan ng data, atbp.

    Sinusuportahan ng Vuforia ang mga platform gaya ng Android, Universal Windows Platform, Unity at iOS.

  • Apple ARKit

    Well, ang Apple ay mayroon ding sariling hanay ng mga tool para sa pagbuo ng mga AR application, na ipinakilala kasama ng iOS11 at tinatawag na ARKit. Naturally, sinusuportahan lamang nito ang mga iOS device at kasama ang lahat ng pangunahing functionality para sa paglikha ng mga augmented reality na application.

    "Ang aming kasalukuyang layunin ay gawing mas masaya at immersive ang mga karanasan sa VR, at payagan ang mga tao na maranasan ang mga karanasang ito nang magkasama."

    John Hanke, CEO ng Niantic

  • Ang pinakamahusay na mga platform at framework para sa pagbuo ng mga VR application

    At sa wakas, dumaan tayo sa ilang pinakasikat na open platform at frameworks para sa pagbuo ng mga virtual reality application.
    • GuriVR

      Ang GuriVR ay isang open source VR editor na nagbibigay-daan sa iyong i-convert ang mga text description ng 3D scenes sa totoong 3D models para sa VR applications. Sinusuportahan ang teksto, mga modelong 3D, mga larawan, mga pag-record ng audio, mga voiceover, mga 3D na chart at marami pang ibang function.

    • OpenSpace3D

      Ang OpenSpace3D ay isang libre at bukas na platform para sa pagbuo ng mga VR application at laro batay sa mga teknolohiya ng VR. Sinusuportahan ang maraming iba't ibang platform at device, kabilang ang Leap Motion, HTC Vive/Oculus, Google Cardboard at iba pa. Kasama rin dito ang functionality para sa paglikha ng mga AR application.

    • OSVR: Open Source Virtual Reality Platform

      Ang OSVR ay isa pang unibersal na platform para sa mga solusyon sa VR at AR. Binibigyang-daan ka nitong makita, i-configure at pamahalaan ang daan-daang mga VR/AR device, pati na rin ang iba't ibang uri ng peripheral na device. Sinusuportahan ng OSVR ang maraming game engine at operating system, at nagbibigay ng mga serbisyo tulad ng asynchronous time warping at direct mode upang suportahan ang low-latency rendering.

    • Primrose VR

      Ang Primrose VR ay isang bukas na balangkas ng browser para sa paglikha ng mga simpleng karanasan sa VR, tulad ng mga virtual na pagpapakita ng produkto, mga virtual na pagpupulong, o mga virtual na aktibidad. Ang Primrose VR ay tugma sa lahat ng modernong browser at tumatakbo sa WebGL.

    • IdeaSpace VR (CMS)

      Ang IdeaSpaceVR ay hindi isang framework o platform, ngunit isang bukas na content management system (CMS) para sa VR na nilalaman. Pinapatakbo ng PHP/MySQL, ang IdeaSpaceVR ay isang lokal na naka-install na modular system na may built-in na content player para sa mga virtual reality application.

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION