BAB V HASIL DAN PEMBAHASAN
2.4. Virtual Reality
Menurut situs website merrieam-webster.com (2015) (dalam Jerald 2016:9) Virtual Reality adalah sebuah lingkungan buatan yang dialami melalui rangsangan sensorik (pemandangan dan suara) yang disediakan oleh komputer dan dimana tindakan orang yang menggunakannya menentukan apa yang terjadi di lingkungan tersebut. Sedangkan menurut Jerald (2016:9), virtual reality didefinisikan sebagai sebuah lingkungan digital buatan komputer yang dapat dialami dan berinteraksi seolah-olah lingkungan tersebut nyata.
Virtual Reality memiliki satu tujuan, untuk meyakinkan penggunanya bahwa mereka ada di tempat lain. Virtual Reality melakukannya dengan menipu otak manusia khususnya korteks visual dan bagian otak yang merasakan gerak. Berbagai teknologi bekerja sama untuk menciptakan ilusi ini, termasuk (Parisi 2015:9):
UIN Syarif Hidayatullah Jakarta
Tampilan stereoskopis: Juga disebut 3D Displays, head mounted displays (HMDs) atau VR mounts. Tampilan ini menggunakan kombinasi beberapa gambar, distorsi optik yang realistis, dan lensa khusus yang membuat mata kita tafsirkan memiliki kedalaman tiga dimensi.
Motion Tracking Hardware: Giroskop, akselerometer dan komponen lainnya untuk merasakan ketika tubuh kita bergerak dan kepala kita berputar sehingga dapat memperbarui pandangan kita ke dalam pemandangan 3D.
Perangkat Masukan: Virtual Reality menciptakan tipe perangkat masukan baru diluar keyboard dan mouse, termasuk game controllers dan sensor pelacak tangan dan tubuh yang dapat mengenali gerakan.
Platform Desktop dan Mobile: Termasuk perangkat keras komputer, sistem operasi, perangkat lunak untuk antarmuka ke perangkat, kerangka kerja dan mesin yang menjalankan aplikasi, dan alat perangkat lunak untuk membangunnya.
Gambar 2.3. Beberapa HMDs (VR mounts) dengan pengguna seiring waktu
Sumber: Ellis (2014) (dalam Jerald 2016:16)
UIN Syarif Hidayatullah Jakarta Meskipun teknologi ini masih baru, virtual reality sudah digunakan dalam sejumlah aplikasi seperti game, edukasi, pariwisata (menunjukkan foto 360 panorama), arsitektur, konser-konser, dan situs web. Developers juga menciptakan produktivitas dan aplikasi perusahaan untuk meningkatkan nilai bisnis (Parisi 2015:14–16).
Ada dua jenis dasar penyetelan hardware untuk merasakan virtual reality yang utama, yaitu (Neelakantam & Pant 2017:2):
a. Computer-based: dalam penyetelan VR ini, sensor posisi dan HMD terkoneksi pada sistem komputer dan berbagai peralatan VR menggunakan sistem komputer untuk memproses pekerjaannya.
Gambar 2.4. Penyetelan VR Computer-based
Sumber: (Neelakantam & Pant 2017:2)
b. Mobile-based: penyetelan VR berbasis mobile (mobile-based) ini hanya terdiri dari HMD dan dibangun dengan bantuan smartphone, yang berfungsi sebagai layar serta memberikan output suara. Penyetelan ini menggunakan VR mount, yang menahan smartphone dan berisi lensa untuk menyampaikan tampilan stereoskopik kepada pengguna.
Gambar 2.5. Penyetelan VR mobile-based
Sumber: (Neelakantam & Pant 2017:2)
UIN Syarif Hidayatullah Jakarta 2.4.1. WebVR
Menurut situs resmi WebVR (WebVR.info), dijelaskan bahwa WebVR adalah spesifikasi terbuka yang membuat kita dapat merasakan VR melalui browser. Tujuannya ialah membuat semua orang dapat merasakan VR, apapun perangkat yang dimilikinya.
Pertama kali disusun pada musim semi 2014 di Mozilla, WebVR adalah sebuah JavaScript application programming interface (API) eksperimental yang menyediakan dukungan untuk berbagai macam perangkat virtual reality melalui web browser. WebVR mudah untuk dirasakan atau digunakan karena bekerja pada smartphone kebanyakan, dimana user’s experience terjadi sepenuhnya di dalam web browser. Anda tinggal mengirim tautan ke seseorang untuk membagikan pengalaman WebVR berbasis web anda kepada mereka (Neelakantam & Pant 2017:3).
Browser awalnya sudah memiliki kemampuan untuk merenderkan real-time 3D menggunakan WebGL, sebuah standar API untuk rendering grafis 3D menggunakan JavaScript. Dan ternyata menambahkan VR ke browser sebenarnya sangat diperlukan sedikit modifikasi. WebVR API terdiri dari inovasi-inovasi oleh browser ini (Parisi 2015:78):
Mengkoneksikan ke perangkat VR: Browser menyediakan API untuk developer agar terhubung ke perangkat VR yang terpasang ke komputer.
Mode fullscreen VR: Browser web sudah memiliki mode fullscreen untuk mendukung pengembangan game. Mode ini diperluas agar secara otomatis meletakkan perangkat VR, misalnya Rift, ke mode driver video yang benar pada komputer.
Head Tracking: API JavaScript baru untuk melacak posisi dan orientasi kepala sehingga kita dapat menyesuaikan kamera setiap frame sebelum kita render.
UIN Syarif Hidayatullah Jakarta Sejauh ini sudah ada beberapa frameworks dan tools yang tersedia untuk membuat sebuah WebVR, beberapa diantaranya adalah (Neelakantam & Pant 2017:6):
1. A-Frame: sebuah framework WebVR yang bersifat open source, di kembangkan oleh MozVR team untuk membuat virtual reality experiences melalui HTML.
2. WebVR-Boilerplate: adalah sebuah titik awal untuk WebVR berbasis three.js. Proyek ini menggunakan webvr-polyfill, yang merupakan implementasi JavaScript dari spesifikasi WebVR.
Webvr-polyfill memungkinkan kita melihat konten yang sama walau tanpa VR viewer. A-Frame menggunakan tools ini.
3. Vizor: adalah platform online untuk membuat dan menerbitkan konten WebVR. Vizor memungkinkan kita melihat konten tiga dimensi dalam virtual reality di ponsel anda atau dalam dua dimensi di browser web atau di tablet anda.
2.5. A-Frame
A-Frame merupakan sebuah framework WebVR untuk mengimplementasikan virtual reality dengan lebih cepat dan lebih mudah dengan membiarkan anda mengkodekan lewat HTML tanpa harus mengetahui WebGL (Neelakantam & Pant 2017:17).
Gambar 2.6. Logo A-Frame yang mengilustrasikan objek 3D yang simpel
Sumber: (Neelakantam & Pant 2017:17)
UIN Syarif Hidayatullah Jakarta Menurut situs resmi A-Frame (A-Frame.io), A-Frame adalah kerangka web untuk membangun virtual reality (VR) experiences. Berasal dari Mozilla, A-Frame dikembangkan untuk menjadi cara yang mudah namun ampuh untuk mengembangkan konten VR. Sebagai proyek open source yang independen, A-Frame telah berkembang menjadi salah satu komunitas VR terbesar dan paling ramah.
A-Frame hadir dalam building blocks dasar untuk suasana VR, seperti model, langit, kursor, animasi, dan sebagainya. Cara mengimplementasikan A-Frame di HTML adalah dengan sebuah tag khusus yaitu <a-scene> yang menampung semua konten VR. Tentunya sebelum mengkode anda perlu memasukkan JavaScript build script di tag <head> (Neelakantam & Pant 2017:18).
Gambar 2.7. Contoh pengkodean “Hello World” menggunakan A-Frame (kiri) dan hasil yang muncul di browser (kanan)
Sumber: (Neelakantam & Pant 2017:18)
A-Frame dibangun pada sistem entitas-komponen (ECS). Hal ini biasanya digunakan oleh pengembang game dan biasanya menekankan hubungan antar komponen. Entitas adalah placeholder generik yang tidak memiliki fungsi dengan sendirinya, tetapi memungkinkan kita untuk mengaitkan berbagai komponen dengannya untuk membuat penampilan dan fungsi yang diperlukan. Komponen menambahkan detail spesifik ke entitas tempat mereka dimasukkan (Neelakantam & Pant 2017:20).
UIN Syarif Hidayatullah Jakarta Komponen hanyalah setumpuk data yang menggambarkan atribut dari suatu entitas. Kita menggunakan atribut ini untuk mengubah tampilan dan fungsi entitas. Misalnya, mobil adalah entitas, dan jumlah roda gigi, tenaga kuda, dan sebagainya, adalah atributnya (Neelakantam & Pant 2017:21)
A-Frame juga menyediakan beberapa elemen seperti box> atau <a-sky> yang disebut primitives. Primitives membungkus pola entitas-komponen untuk membuatnya menarik bagi pemula (A-Frame.io). Primitives memiliki nama semantik seperti <a-box>. Mereka adalah entitas yang memiliki komponen yang telah disetel dengan beberapa nilai atribut default.
Mereka bertindak sebagai tools singkat untuk menyederhanakan entitas umum yang sulit diterapkan (Neelakantam & Pant 2017:22).
Berikut adalah macam-macam primitives yang diawarkan oleh A-Frame API:
Tabel 2.1. Macam-macam primitives dalam A-Frame API dengan contoh pengkodean dan beberapa outputnya
Sumber: (Neelakantam & Pant 2017:22–35) Nama
Primitive Fungsi Contoh pengkodean dan outputnya
<a-box> Membuat kotak (kubus, bata, dll)
<a-camera>
Menaruh kamera di posisi yang
diinginkan
UIN Syarif Hidayatullah Jakarta Nama
Primitive Fungsi Contoh pengkodean dan outputnya
<a-cursor>
Menambahkan fitur untuk dapat
mengklik di WebVR
<a-circle> Membuat lingkaran
<a-collada model>
Memasukkan 3D Collada models
<a-cone> Membuat kerucut
UIN Syarif Hidayatullah Jakarta Nama
Primitive Fungsi Contoh pengkodean dan outputnya
<a-curvedimag
e>
Melengkungkan gambar untuk 360
VR scene
<a-cylinder> Membuat tabung
<a-dodecahedr
on>
Membuat model 3D dengan 12 sisi
<a-image>
Menambah gambar di permukaan datar
<a-light>
Menyesuaikan pencahayaan di
A-Frame scene
UIN Syarif Hidayatullah Jakarta Nama
Primitive Fungsi Contoh pengkodean dan outputnya
<a-obj-model>
Memasukkan .obj model (bersamaan
dg .mtl nya)
<a-octahedron
>
Membuat 3D model dengan 8
sisi segitiga
<a-plane> Membuat permukaan datar
<a-ring> Membuat bentuk cincin
<a-sky>
Menambah gambar 360 derajat sebagai
latar belakang
UIN Syarif Hidayatullah Jakarta Nama
Primitive Fungsi Contoh pengkodean dan outputnya
<a-sound> Menambah suara
<a-sphere>
Menambah bidang bola, terdapat warna & pola
<a-tetrahedron
>
Menambah piramida
<a-torus>
Menambah bentuk yang menyerupai
donat
<a-torus-knot>
Menambah bentuk yang menyerupai
pretzel
<a-video>
Menambah video untuk permukaan
datar
UIN Syarif Hidayatullah Jakarta Nama
Primitive Fungsi Contoh pengkodean dan outputnya
HTML5 adalah versi terbaru dan terbesar dari bahasa inti World Wide Web dan merupakan salah satu perkembangan paling menarik yang terjadi di web dan komunitas web dalam waktu yang lama. HTML (HyperText Markup Language) adalah bahasa yang telah menjadi jantung dari semua dokumen web sejak konsepsinya di awal 1990-an.HTML5 juga mengubah makna dari beberapa elemen HTML yang ada, menghapus yang lain, dan yang lebih penting, menambahkan yang baru — beberapa di antaranya memungkinkan anda untuk menyediakan lebih banyak makna semantik ke konten anda (Devlin 2012:2).
2.7. Perangkat Keras Pendukung