JavaRush /Java Blog /Random-ID /Java dalam realitas virtual. Benarkah VR/AR adalah masa d...

Java dalam realitas virtual. Benarkah VR/AR adalah masa depan, dan apakah ada tempat untuk Java di dalamnya?

Dipublikasikan di grup Random-ID
Dalam artikel sebelumnya dalam seri ini, kami telah memeriksa hampir semua teknologi yang kurang lebih trendi di pasar TI modern, seperti kecerdasan buatan , blockchain , layanan cloud , data besar , dll., mencari tahu bagaimana bahasa pemrograman Java digunakan. di ceruk ini dan sejauh mana dia memainkan peran penting. Java dalam realitas virtual.  Benarkah VR/AR adalah masa depan, dan apakah ada tempat untuk Java di dalamnya?  - 1Hari ini kita akan berbicara tentang segmen teknologi lain yang trendi dan sangat menarik - yaitu VR dan AR, yaitu virtual dan augmented reality. “Saya pikir sebagian besar penduduk negara-negara maju akan segera berinteraksi dengan solusi AR secara berkelanjutan setiap hari. Dalam waktu dekat, AR akan menjadi bagian dari kehidupan kita sehari-hari.” Tim Cook, CEO Apple

Apa itu VR dan AR?

Pertama, mari kita cari tahu apa itu teknologi, cara penggunaannya, dan perbedaannya satu sama lain. Mari kita mulai dengan VR, yaitu realitas virtual. Aplikasi realitas virtual dijalankan pada perangkat khusus yang sepenuhnya menangkap penglihatan pengguna untuk menciptakan kesan bahwa mereka berada di tempat lain. Semua headset VR populer, seperti HTC Vive atau Oculus Rift, sepenuhnya menghalangi penglihatan pengguna saat dipakai. Saat perangkat tersebut dihidupkan, panel LCD atau OLED di dalamnya dibiaskan oleh lensa khusus untuk memenuhi sepenuhnya bidang pandang pengguna dengan konten yang dikirimkan, baik itu game, video 360 derajat, atau sekadar antarmuka program. . Sebagian besar headset VR, termasuk Oculus Rift yang disebutkan di atas, serta Vive, PlayStation VR, Windows Mixed Reality, dan lainnya, menggunakan teknologi pelacakan gerak enam derajat kebebasan (6DOF), yang dicapai melalui sensor atau kamera eksternal. Hal ini memungkinkan perangkat untuk mendeteksi tidak hanya arah yang Anda lihat, tetapi juga pergerakan yang dilakukan pengguna ke arah tersebut. Hal ini, bersama dengan detektor gerakan 6DOF, memungkinkan pengguna untuk bergerak di ruang virtual, menjadikan aplikasi tersebut jauh lebih mendalam. Sedangkan untuk AR yaitu augmented reality, perbedaannya dengan VR adalah AR tidak berusaha untuk sepenuhnya menyerap penglihatan Anda, tetapi menambahkan elemen tertentu ke dalamnya. Perangkat AR seperti Microsoft HoloLens dan berbagai jenis kacamata pintar memungkinkan pengguna melihat segala sesuatu di sekitar mereka dengan memproyeksikan gambar ke tempat yang mereka lihat. Konsep ini juga mencakup berbagai aplikasi dan game ponsel pintar seperti Pokemon Go, Temple Treasure Hunt, ARrrrrgh, Ingress dan masih banyak lagi. Mereka menggunakan kamera perangkat seluler untuk memantau lingkungan dan melengkapinya dengan berbagai jenis informasi yang ditempatkan di layar. Tampilan AR dapat menampilkan beberapa data yang sangat sederhana di atas kenyataan, seperti dial jam tangan, misalnya, namun mereka juga dapat mengimplementasikan objek kompleks seperti hologram monster di tengah ruangan. Misalnya, game Pokemon Go memproyeksikan karakter Pokemon ke layar perangkat Anda, ke tempat lensa kamera diarahkan. Sedangkan berbagai jenis kacamata augmented reality memungkinkan pengguna menempatkan elemen antarmuka dan ikon aplikasi di atas gambar realitas yang mereka amati. “Saya yakin augmented reality akan menjadi revolusi teknologi terbesar di zaman kita.” Tim Sweeney, programmer dan pengembang video game Amerika, pendiri Epic Games Java dalam realitas virtual.  Benarkah VR/AR adalah masa depan, dan apakah ada tempat untuk Java di dalamnya?  - 2

VR dan AR bukanlah hal yang sama

Faktanya, inilah kelemahan utama augmented reality dibandingkan dengan virtual reality. Jika VR sepenuhnya menggantikan gambar dalam tampilan Anda, maka AR hanya melengkapinya, seringkali hanya menempati area yang sangat kecil dari penglihatan pengguna. Namun ini juga merupakan keuntungan utama dari augmented reality, karena metode ini memberikan kemungkinan yang hampir tidak terbatas kepada pengembang. Misalnya, aplikasi AR seluler yang dapat mengenali objek dalam gambar kamera dan mengirimkan informasi mengenai objek tersebut kepada pengguna telah ada selama beberapa tahun. Kacamata AR khusus, seperti HoloLens, memungkinkan pengguna menempatkan jendela mengambang di sekitar dirinya yang dapat dilihat di layar perangkat. Belum lagi banyaknya game yang menggunakan augmented reality sebagai elemen inti gameplay (Pokemon Go, RoboRaid, Fragments) atau sebagai fitur tambahan. Jadi, realitas virtual dan realitas tertambah adalah dua teknologi berbeda yang digunakan untuk tujuan berbeda, meskipun AR dan VR biasanya disebut sebagai dua jenis pendekatan yang sama. Jika tujuan perangkat dan aplikasi VR adalah untuk menggantikan kenyataan dan secara virtual memindahkan pengguna ke tempat lain, maka AR bekerja dengan kenyataan, melengkapi apa yang sudah ada di depan mata kita dengan informasi baru. Kedua teknologi ini masih dalam tahap awal, namun dianggap sangat menjanjikan dan berpotensi merevolusi cara orang menggunakan komputer dalam waktu dekat. “Saya pikir dalam waktu dekat, banyak cerita akan diceritakan di ruang virtual.” Joe Russo, sutradara film Amerika Java dalam realitas virtual.  Benarkah VR/AR adalah masa depan, dan apakah ada tempat untuk Java di dalamnya?  - 3

AR/VR dan Jawa

Meskipun ceruk AR/VR menggunakan sejumlah bahasa pemrograman, termasuk C#, C/C++, JavaScript, Swift, dan bahkan Python, Java adalah salah satu yang paling diminati. Faktanya, alasannya sama dengan teknologi lainnya: kode Java memungkinkan aplikasi berjalan dengan cepat, orientasi objek memudahkan pembuatan komponen aplikasi individual, dan kemandirian platform membuat produk AR/VR di Java lebih universal. Dalam kasus AR, yaitu augmented reality, Java akan menjadi salah satu bahasa pemrograman utama, karena sebagian besar aplikasi AR dibuat untuk perangkat seluler. Oleh karena itu, Java adalah pilihan utama untuk aplikasi AR yang dibuat untuk perangkat berbasis sistem operasi seluler Android, sedangkan untuk produk Apple, bahasa Objective-C dan Swift digunakan. Saat ini, aplikasi AR mendukung banyak perangkat berbeda, termasuk helm, kacamata, perangkat genggam, dan bahkan lensa kontak. Dalam banyak hal, Java-lah yang memungkinkan Anda membuat solusi AR yang akan bekerja pada platform yang berbeda, seringkali sangat berbeda. Saat ini, aplikasi AR berbasis Java aktif diterapkan di klinik, bank, restoran, museum, dll. “AR telah merevolusi cara kita mendekati perdagangan dan belanja, menciptakan jembatan antara dunia digital dan fisik.” Muchaneta Kapfunde, pendiri FashNerd.com

Jenis Aplikasi AR

Sekarang mari kita lihat sekilas kumpulan alat utama (SDK) dan kerangka kerja yang dapat digunakan untuk mengembangkan aplikasi AR. Namun pertama-tama, mari kita lihat dua jenis utama aplikasi AR: aplikasi penanda dan geolokasi.
  • Aplikasi penanda AR.

    Aplikasi Marker AR didasarkan pada teknologi pengenalan gambar. Mereka menggunakan penanda hitam putih sebagai pemicu yang mengaktifkan tampilan konten AR kepada pengguna. Jadi, untuk melihat elemen augmented reality di hadapannya, pengguna aplikasi tersebut harus mengarahkan kamera ke penanda yang sesuai di lingkungannya. Setelah perangkat mengenali penanda, aplikasi akan melapisi data digital di dalamnya dan menunjukkan kepada pengguna elemen augmented reality. Aplikasi semacam ini, khususnya, banyak digunakan untuk tujuan periklanan oleh toko, restoran, dan bisnis lain yang memerlukan fungsi ini.

  • Aplikasi geolokasi.

    Jenis utama aplikasi AR yang kedua, berbasis lokasi, beroperasi tanpa penanda, melainkan mengandalkan informasi lokasi pengguna yang disediakan oleh GPS, akselerometer, atau kompas digital, dan melapisi objek AR di atas lokasi fisik sebenarnya. Dan sekali lagi kami menggunakan Pokemon Go sebagai contoh - ini mungkin aplikasi AR geolokasi paling terkenal.

    “Tugas utama pengembangan teknologi AR dan VR adalah menciptakan platform terbuka tunggal di mana pengembang dapat mengimplementasikan semua ide mereka.”

    Mark Zuckerberg, pencipta jejaring sosial Facebook

    Java dalam realitas virtual.  Benarkah VR/AR adalah masa depan, dan apakah ada tempat untuk Java di dalamnya?  - 4

SDK terbaik untuk mengembangkan aplikasi AR

  • Google ARCore

    ARCore adalah platform utama Google untuk pengembangan aplikasi AR, mendukung perangkat berbasis OS seluler Android dan bekerja dengan perpustakaan Java/OpenGL, Unity, dan Unreal.

    Di antara kemampuan utama ARCore: pelacakan gerak (ARCore dapat menentukan posisi dan titik arah perangkat menggunakan kamera internal), pemodelan lingkungan (platform dapat menentukan permukaan horizontal, yang memungkinkan, misalnya, untuk menempatkan benda maya di atas meja atau di lantai), estimasi pencahayaan (menentukan tingkat penerangan, bila perlu menyorot benda maya agar terlihat alami di lingkungannya), dan lain-lain.

  • ARToolKit

    ARToolKit adalah seperangkat alat sumber terbuka untuk mengembangkan aplikasi AR.

    Terlepas dari kenyataan bahwa ini adalah kit terbuka dan gratis, ARToolKit mencakup serangkaian fungsi yang sangat kaya, termasuk dukungan untuk Unity3D dan OpenSceneGraph, kemampuan untuk membuat aplikasi AR real-time, integrasi dengan kacamata pintar, dukungan untuk berbagai jenis kamera, kalibrasi kamera otomatis dan lain-lain.

    ARToolKit mendukung berbagai platform, termasuk Android, iOS, Linux, Windows dan Mac OS.

  • Vuforia

    Vuforia mungkin merupakan platform paling populer dan terkenal untuk mengembangkan aplikasi augmented reality.

    Di antara fungsi utama Vuforia: pengenalan berbagai jenis objek dan gambar; dukungan untuk mengenali teks dasar, membuat penanda khusus, membuat peta 3D dari berbagai lokasi, dukungan untuk layanan cloud dan penyimpanan data lokal, dll.

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

  • Apple ARKit

    Apple juga memiliki seperangkat alatnya sendiri untuk mengembangkan aplikasi AR, yang diperkenalkan bersama dengan iOS11 dan disebut ARKit. Tentu saja, ini hanya mendukung perangkat iOS dan mencakup semua fungsi dasar untuk membuat aplikasi augmented reality.

    “Tujuan kami saat ini adalah menjadikan pengalaman VR lebih menyenangkan dan mendalam, serta memungkinkan orang untuk merasakan pengalaman ini bersama-sama.”

    John Hanke, CEO Niantic

  • Platform dan kerangka kerja terbaik untuk mengembangkan aplikasi VR

    Dan terakhir, mari kita lihat sejumlah platform dan kerangka kerja terbuka paling populer untuk mengembangkan aplikasi realitas virtual.
    • GuriVR

      GuriVR adalah editor VR sumber terbuka yang memungkinkan Anda mengubah deskripsi teks adegan 3D menjadi model 3D nyata untuk aplikasi VR. Mendukung teks, model 3D, gambar, rekaman audio, sulih suara, bagan 3D, dan banyak fungsi lainnya.

    • OpenSpace3D

      OpenSpace3D adalah platform gratis dan terbuka untuk mengembangkan aplikasi dan permainan VR berdasarkan teknologi VR. Mendukung sejumlah besar platform dan perangkat berbeda, termasuk Leap Motion, HTC Vive/Oculus, Google Cardboard, dan lainnya. Ini juga mencakup fungsionalitas untuk membuat aplikasi AR.

    • OSVR: Platform Realitas Virtual Sumber Terbuka

      OSVR adalah platform universal lainnya untuk solusi VR dan AR. Ini memungkinkan Anda mendeteksi, mengonfigurasi, dan mengelola ratusan perangkat VR/AR, serta berbagai jenis perangkat periferal. OSVR mendukung beberapa mesin permainan dan sistem operasi, dan menyediakan layanan seperti pembengkokan waktu asinkron dan mode langsung untuk mendukung rendering latensi rendah.

    • Primula VR

      Primrose VR adalah kerangka browser terbuka untuk menciptakan pengalaman VR sederhana, seperti demonstrasi produk virtual, pertemuan virtual, atau aktivitas virtual. Primrose VR kompatibel dengan semua browser modern dan berjalan di WebGL.

    • IdeaSpace VR (CMS)

      IdeaSpaceVR bukanlah kerangka kerja atau platform, melainkan sistem manajemen konten terbuka (CMS) untuk konten VR. Didukung oleh PHP/MySQL, IdeaSpaceVR adalah sistem modular yang dipasang secara lokal dengan pemutar konten bawaan untuk aplikasi realitas virtual.

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