JavaRush /Blog Java /Random-MS /Java dalam realiti maya. Adakah benar bahawa VR/AR adalah...

Java dalam realiti maya. Adakah benar bahawa VR/AR adalah masa depan, dan adakah terdapat tempat untuk Java di dalamnya?

Diterbitkan dalam kumpulan
Dalam artikel sebelumnya dalam siri ini, kami telah meneliti hampir semua teknologi yang lebih kurang bergaya dalam pasaran IT moden, seperti kecerdasan buatan , rantaian blok , perkhidmatan awan , data besar , dsb., mencari tahu bagaimana bahasa pengaturcaraan Java digunakan dalam bidang ini dan sejauh mana dia memainkan peranan penting. Java dalam realiti maya.  Adakah benar bahawa VR/AR adalah masa depan, dan adakah terdapat tempat untuk Java di dalamnya?  - 1Hari ini kita akan bercakap tentang satu lagi segmen teknologi yang bergaya dan sangat menarik - iaitu, VR dan AR, iaitu realiti maya dan tambahan. “Saya fikir sebahagian besar penduduk negara maju akan berinteraksi dengan penyelesaian AR secara berterusan setiap hari tidak lama lagi. Tidak lama lagi, AR akan menjadi sebahagian daripada kehidupan seharian kita.” Tim Cook, Ketua Pegawai Eksekutif Apple

Apakah VR dan AR?

Mula-mula, mari kita fikirkan apakah teknologi ini, cara ia digunakan dan bagaimana ia berbeza antara satu sama lain. Mari kita mulakan dengan VR, iaitu realiti maya. Aplikasi realiti maya dijalankan pada peranti khas yang menangkap penglihatan pengguna sepenuhnya untuk mewujudkan tanggapan bahawa mereka berada di tempat lain. Semua set kepala VR yang popular, seperti HTC Vive atau Oculus Rift, menyekat sepenuhnya penglihatan pengguna apabila dipakai. Apabila peranti sedemikian dihidupkan, panel LCD atau OLED di dalamnya dibiaskan oleh kanta khas untuk mengisi sepenuhnya medan pandangan pengguna dengan kandungan yang dihantar, sama ada permainan, video 360 darjah atau hanya antara muka program. . Kebanyakan set kepala VR, termasuk Oculus Rift yang disebutkan di atas, serta Vive, PlayStation VR, Windows Mixed Reality dan lain-lain, menggunakan teknologi penjejakan gerakan enam darjah kebebasan (6DOF), yang dicapai melalui penderia atau kamera luaran. Ini membolehkan peranti mengesan bukan sahaja arah yang anda cari, tetapi juga pergerakan yang dibuat pengguna ke arah itu. Ini, bersama-sama dengan pengesan gerakan 6DOF, membolehkan pengguna bergerak dalam ruang maya, menjadikan aplikasi sedemikian lebih mengasyikkan. Bagi AR, iaitu realiti tambahan, perbezaannya daripada VR ialah AR tidak berusaha untuk menyerap sepenuhnya penglihatan anda, tetapi menambah elemen tertentu padanya. Peranti AR seperti Microsoft HoloLens dan pelbagai jenis cermin mata pintar membolehkan pengguna melihat segala-galanya di sekeliling mereka dengan menayangkan imej ke tempat yang mereka cari. Konsep ini juga merangkumi pelbagai aplikasi dan permainan telefon pintar seperti Pokemon Go, Temple Treasure Hunt, ARrrrrgh, Ingress dan banyak lagi. Mereka menggunakan kamera peranti mudah alih untuk memantau persekitaran dan menambahnya dengan pelbagai jenis maklumat yang diletakkan pada skrin. Paparan AR boleh menindih beberapa data yang sangat mudah di atas realiti, seperti dail jam tangan, contohnya, tetapi mereka juga boleh melaksanakan objek kompleks seperti hologram raksasa di tengah-tengah bilik. Sebagai contoh, permainan Pokemon Go menayangkan watak Pokemon pada skrin peranti anda, di mana lensa kamera dihalakan. Walaupun pelbagai jenis cermin mata realiti tambahan membolehkan pengguna meletakkan elemen antara muka dan ikon aplikasi di atas imej realiti yang mereka amati. "Saya percaya realiti tambahan akan menjadi revolusi teknologi terbesar pada masa kita." Tim Sweeney, pengaturcara dan pembangun permainan video Amerika, pengasas Epic Games Java dalam realiti maya.  Adakah benar bahawa VR/AR adalah masa depan, dan adakah terdapat tempat untuk Java di dalamnya?  - 2

VR dan AR bukanlah perkara yang sama

Ini, sebenarnya, adalah kelemahan utama realiti tambahan berbanding realiti maya. Jika VR menggantikan sepenuhnya imej dalam pandangan anda, maka AR hanya melengkapkannya, selalunya hanya menduduki kawasan yang sangat kecil dari penglihatan pengguna. Tetapi ini juga merupakan kelebihan utama realiti tambahan, kerana kaedah ini memberikan pemaju kemungkinan hampir tidak terhad. Contohnya, aplikasi AR mudah alih yang boleh mengecam objek dalam imej kamera dan menghantar maklumat tentangnya kepada pengguna telah wujud selama beberapa tahun. Cermin mata AR khas, seperti HoloLens, membolehkan pengguna meletakkan tingkap terapung di sekeliling mereka yang boleh dilihat pada paparan peranti. Belum lagi banyak permainan yang menggunakan realiti tambahan sebagai elemen permainan teras (Pokemon Go, RoboRaid, Fragmen) atau sebagai ciri tambahan. Oleh itu, realiti maya dan realiti tambahan ialah dua teknologi yang sangat berbeza yang digunakan untuk tujuan yang berbeza, walaupun AR dan VR biasanya dirujuk sebagai dua jenis pendekatan yang sama. Jika tujuan peranti dan aplikasi VR adalah untuk menggantikan realiti dan mengangkut pengguna secara maya ke tempat lain, maka AR berfungsi dengan realiti, menambah apa yang sudah ada di hadapan mata kita dengan maklumat baharu. Kedua-dua teknologi ini masih di peringkat awal, tetapi dianggap sangat menjanjikan dan berpotensi untuk merevolusikan cara orang ramai menggunakan komputer dalam masa terdekat. "Saya fikir dalam masa terdekat, banyak cerita akan diceritakan dalam ruang maya." Joe Russo, pengarah filem Amerika Java dalam realiti maya.  Adakah benar bahawa VR/AR adalah masa depan, dan adakah terdapat tempat untuk Java di dalamnya?  - 3

AR/VR dan Java

Walaupun niche AR/VR menggunakan beberapa bahasa pengaturcaraan, termasuk C#, C/C++, JavaScript, Swift dan juga Python, Java adalah salah satu yang paling diminati. Sebabnya, sebenarnya, adalah sama seperti dalam kes teknologi lain: Kod Java membolehkan aplikasi berjalan dengan cepat, orientasi objek menjadikannya lebih mudah untuk mencipta komponen aplikasi individu, dan kebebasan platform menjadikan produk AR/VR di Java lebih universal. Dalam kes AR, iaitu realiti tambahan, Java akan menjadi salah satu bahasa pengaturcaraan utama, kerana sebahagian besar aplikasi AR dicipta untuk peranti mudah alih. Sehubungan itu, Java ialah pilihan utama untuk aplikasi AR yang dibuat untuk peranti berdasarkan sistem pengendalian mudah alih Android, manakala dalam kes produk Apple, bahasa Objective-C dan Swift digunakan. Hari ini, aplikasi AR menyokong banyak peranti berbeza, termasuk topi keledar, cermin mata, peranti pegang tangan dan juga kanta sentuh. Dalam banyak cara, Java yang membolehkan anda mencipta penyelesaian AR yang akan berfungsi pada platform yang berbeza, selalunya sangat berbeza. Hari ini, aplikasi AR berasaskan Java sedang giat dilaksanakan di klinik, bank, restoran, muzium, dsb. "AR sudah merevolusikan cara kami mendekati perdagangan dan membeli-belah, mewujudkan jambatan antara dunia digital dan fizikal." Muchaneta Kapfunde, pengasas FashNerd.com

Jenis Aplikasi AR

Sekarang mari kita lihat dengan pantas set alat (SDK) dan rangka kerja utama yang masuk akal untuk digunakan untuk membangunkan aplikasi AR. Tetapi pertama-tama, mari kita lihat dua jenis aplikasi AR utama: aplikasi penanda dan geolokasi.
  • Aplikasi penanda AR.

    Aplikasi Marker AR adalah berdasarkan teknologi pengecaman imej. Mereka menggunakan penanda hitam dan putih sebagai pencetus yang mengaktifkan paparan kandungan AR kepada pengguna. Oleh itu, untuk melihat elemen realiti tambahan di hadapannya, pengguna aplikasi sedemikian mesti menghalakan kamera pada penanda yang sepadan dalam persekitarannya. Setelah peranti mengecam penanda, aplikasi menindih data digital padanya dan menunjukkan kepada pengguna elemen realiti tambahan. Aplikasi jenis ini, khususnya, digunakan secara meluas untuk tujuan pengiklanan oleh kedai, restoran dan perniagaan lain di mana fungsi ini sesuai.

  • Aplikasi geolokasi.

    Jenis aplikasi AR utama kedua, berasaskan lokasi, beroperasi tanpa penanda, sebaliknya bergantung pada maklumat lokasi pengguna yang disediakan oleh GPS, pecutan atau kompas digital dan menindih objek AR di atas lokasi fizikal sebenar. Dan sekali lagi kami menggunakan Pokemon Go sebagai contoh - ini mungkin aplikasi AR geolokasi yang paling terkenal.

    "Tugas utama untuk pembangunan teknologi AR dan VR adalah untuk mencipta platform terbuka tunggal di mana pembangun boleh melaksanakan semua idea mereka."

    Mark Zuckerberg, pencipta rangkaian sosial Facebook

    Java dalam realiti maya.  Adakah benar bahawa VR/AR adalah masa depan, dan adakah terdapat tempat untuk Java di dalamnya?  - 4

SDK terbaik untuk membangunkan aplikasi AR

  • Google ARCore

    ARCore ialah platform utama Google untuk pembangunan aplikasi AR, menyokong peranti berdasarkan OS mudah alih Android dan berfungsi dengan perpustakaan Java/OpenGL, Unity dan Unreal.

    Antara keupayaan utama ARCore: penjejakan gerakan (ARCore boleh menentukan kedudukan dan titik arah peranti menggunakan kamera terbina dalam), pemodelan persekitaran (platform ini dapat menentukan permukaan mendatar, yang membolehkan, sebagai contoh, meletakkan objek maya di atas meja atau di atas lantai), anggaran pencahayaan ( menentukan tahap pencahayaan, jika perlu, menonjolkan objek maya supaya ia kelihatan semula jadi dalam persekitaran), dan lain-lain.

  • ARToolKit

    ARToolKit ialah set alat sumber terbuka untuk membangunkan aplikasi AR.

    Walaupun pada hakikatnya ia adalah kit terbuka dan percuma, ARToolKit menyertakan set fungsi yang sangat kaya, termasuk sokongan untuk Unity3D dan OpenSceneGraph, keupayaan untuk mencipta aplikasi AR masa nyata, penyepaduan dengan cermin mata pintar, sokongan untuk pelbagai jenis kamera, penentukuran kamera automatik dan lain-lain.

    ARToolKit menyokong pelbagai platform, termasuk Android, iOS, Linux, Windows dan Mac OS.

  • Vuforia

    Vuforia mungkin merupakan platform yang paling popular dan terkenal untuk membangunkan aplikasi realiti tambahan.

    Antara fungsi utama Vuforia: pengecaman pelbagai jenis objek dan imej; sokongan untuk mengenali teks asas, mencipta penanda tersuai, mencipta peta 3D pelbagai lokasi, sokongan untuk perkhidmatan awan dan storan data tempatan, dsb.

    Vuforia menyokong platform seperti Android, Platform Windows Universal, Unity dan iOS.

  • Apple ARKit

    Nah, Apple juga mempunyai set alat sendiri untuk membangunkan aplikasi AR, yang diperkenalkan bersama iOS11 dan dipanggil ARKit. Sememangnya, ia hanya menyokong peranti iOS dan merangkumi semua fungsi asas untuk mencipta aplikasi realiti tambahan.

    "Matlamat semasa kami adalah untuk menjadikan pengalaman VR lebih menyeronokkan dan mengasyikkan, dan membolehkan orang ramai mengalami pengalaman ini bersama-sama."

    John Hanke, Ketua Pegawai Eksekutif Niantic

  • Platform dan rangka kerja terbaik untuk membangunkan aplikasi VR

    Dan akhirnya, mari kita lihat beberapa platform dan rangka kerja terbuka yang paling popular untuk membangunkan aplikasi realiti maya.
    • GuriVR

      GuriVR ialah editor VR sumber terbuka yang membolehkan anda menukar penerangan teks adegan 3D kepada model 3D sebenar untuk aplikasi VR. Menyokong teks, model 3D, imej, rakaman audio, alih suara, carta 3D dan banyak fungsi lain.

    • OpenSpace3D

      OpenSpace3D ialah platform percuma dan terbuka untuk membangunkan aplikasi dan permainan VR berdasarkan teknologi VR. Menyokong sebilangan besar platform dan peranti yang berbeza, termasuk Leap Motion, HTC Vive/Oculus, Google Cardboard dan lain-lain. Ia juga termasuk fungsi untuk mencipta aplikasi AR.

    • OSVR: Platform Realiti Maya Sumber Terbuka

      OSVR ialah satu lagi platform universal untuk penyelesaian VR dan AR. Ia membolehkan anda mengesan, mengkonfigurasi dan mengurus ratusan peranti VR/AR, serta pelbagai jenis peranti persisian. OSVR menyokong berbilang enjin permainan dan sistem pengendalian, dan menyediakan perkhidmatan seperti ledingan masa tak segerak dan mod langsung untuk menyokong pemaparan kependaman rendah.

    • Primrose VR

      Primrose VR ialah rangka kerja penyemak imbas terbuka untuk mencipta pengalaman VR mudah, seperti demonstrasi produk maya, mesyuarat maya atau aktiviti maya. Primrose VR serasi dengan semua penyemak imbas moden dan berjalan pada WebGL.

    • IdeaSpace VR (CMS)

      IdeaSpaceVR bukan rangka kerja atau platform, tetapi sistem pengurusan kandungan terbuka (CMS) untuk kandungan VR. Dikuasakan oleh PHP/MySQL, IdeaSpaceVR ialah sistem modular yang dipasang secara tempatan dengan pemain kandungan terbina dalam untuk aplikasi realiti maya.

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