LANDASAN TEOR
2.2 Augmented Reality
Augmented Reality (AR) merupakat merupaka salah satu teknologi yang sedang berkembang diseluruh dunia. Augmented Reality (AR) adalah sebuah teknologi yang berguna untuk memvisualisasikan benda maya menjadi bagian dari lingkungan yang nyata sehingga ke dua benda dan atau lingkungan tersebut seakan dapat terhubung satu dengan yang lainnya. Tidak seperti Virtual Reality (VR) yang sepenuhnya menggantikan dunia nyata menjadi Virtual atau maya.
Augmented Reality adalah teknologi yang memungkinkan orang untuk memvisualisasikan dunia maya sebagai bagian dari dunia nyata yang ada di sekitar secara efektif sehingga membuat dunia nyata seakan-akan dapat terhubung dengan dunia maya dan dapat terjadi suatu interaksi (Jacobs, 2012).
Azuma (1997) mendefenisikan AR sebagai penggabungan benda-benda nyata dan maya di lingkungan nyata, berjalan secara interaktif dalam waktu nyata (reality), dan terdapat integrasi antar benda dalam tiga dimensi, yaitu benda maya terintegrasi dalam dunia nyata. AR juga bertujuan untuk menambahkan informasi dan arti kepada sebuah objek atau ruang yang nyata. Tidak seperti Virtual Reality (VR), AR tidak membuat sebuah simulasi kenyataan (simulation of reality). Sebaliknya, dibutuhkan sebuat objek atau ruang yang nyata sebagai pondasi dan teknologi incorporate yang menambahkan data konteksual untuk memperdalam pemahaman seseorang terhadap suatu objek.
Gambar 2.1 Arsitektur Augmented Reality (Evan,2012)
Penggunaan teknologi informasi Augmented Reality sangat luas antara lain dalam bidang kesehatan, manufaktur dan reparasi, hiburan pelatihan militer, navigasi, dll.
2.2.1 Cara Kerja Augmented Reality
Seperti yang ditunjukkan pada Gambar 2.1, cara kerja AR dalam menambahkan objek virtual ke lingkungan nyata adalah sebagai berikut :
1. Perangkat input menangkap video dan mengirimkannya ke processor. 2. Perangkat lunak di dalam prosessor mengolah video dan mencari suatu pola. 3. Perangkat lunak menghitung posisi pola untuk mengetahui dimana objek virtual
akan diletakkan.
4. Perangkat lunak mengidentifikasi pola dan mencocokkannya dengan informasi yang dimiliki perangkat lunak.
5. Objek virtual akan ditambahkan sesuai dengan hasil pencocokan informasi dan diletakkan pada posisi yang telah dihitung sebelumnya.
6. Objek virtual akan ditampilkan melalui perangkat tampilan.
2.2.2 Perangkat Keras Augmented Reality
Teknik perangkat keras pada teknologi Augmented Reality (AR) secara garis besar dibagi menjadi tiga bagian :
1. Perangkat Penangkapan Video merupakan piranti masukan yang menangkap video dari lingkungan nyata untuk diolah oleh prosesor. Contoh dari perangkat penangkapan video diantaranya: kamera perekam dan web cam.
2. Prosesor merupakan piranti yang mengolah hasil penangkapan dari perangkat penangkapan video dengan bantuan suatu perangkat lunak AR. Pada awalnya, prosesor akan melacak dan mengidentifikasi pola dari suatu atribut fisik yang ditangkap video, lalu prosesor akan menambahkan objek virtual sesuai dengan pola yang dikenali dan kemudian meletakkannya di atas titik koordinat virtual dari atribut fisik yang ditangkap video.
3. Perangkat Display merupakan piranti keluaran yang menampilkan objek virtual hasil dari pengolahan prosesor. Contoh dari perangkat tampilan diantaranya: monitor komputer, LCD, TV dan Proyektor.
2.3 3D Modelling
3D modeling dari suatu objek dapat dilihat sebagai proses lengkap yang dimulai dari mendapatkan data dan berahir dengan sebuah model 3D yang interaktif dalam sebuah computer. Kadang pemodelan 3D hanya diartikan sebagai proses konversi sebuah ukuran yang terbayang-bayang menjadi jarring jarring yang berbentuk segitiga (mesh) atau permukaan yang memiliki texture, walaupun hal tersebut harus menggambarkan proses yang kompleks dari rekontruksi dari sebuah objek.
Pemodelan 3D dibutuhkan di banyak bidang seperti inspections, navigation, object identifikcation, visualization, and animation. Membuat sebuah model 3D yang lengkap, detail, akurat dan realistis dari sebuah gambar masih merupakan hal yang sulit, terutama untuk model yang besar dan kompleks. Secara umum pemodelan 3D terdiri dari beberapa proses antara lain, desain, pengukuran secara 3D, kerangka dan pemodelan, pemberian texture dan visualisasi ( Remondino et all,2006).
Secara umum, ada 4 metode dalam proses pemodelan, yaitu Image-Based Rendering (IBR), image-based modelling (IBM), range-based modelling (RBM) dan kombinasi antara IBM dan RBM (Kadobayashi, 2004). Tetapi dalam penelitian ini,
metode yang digunakan adalah IBM karena sesuai dengan kebutuhan dan output yang diinginkan.
2.2.1 Image-based Rendering (IBR)
Sebenarnya metode ini tidak termasuk bagian pemodelan 3D geometris, tetapi untuk objek tertentu, kamera dan kondisi khusus dapat menjadi teknik bagus untuk menghasilkan tampilan virtual (Shum dan Kang, 2000). Output dari Image-based Rendering (IBR) adalah berupa gambar panorama yang menampilkan lingkungan memutar 360° dikarenakan IBM membuat tampilannya dari lingkungan 3D langsung dari gambar aslinya.
2.2.2 Image-based Modelling (IBM)
Pada metode ini bahan dasar dalam proses pemodelah adalah foto-foto objek dari hasil penelitian . hasil dari metode ini berupa model 3D awal yang sangat sederhana berdasarkan foto-foto yang telah di ambil.
Image-based modeling (IBM) adalah metode untuk menghasilkan objek tiga dimense (3D) dengan mengunakan set image suatu lokasi berbentuk dua dimensi (2D). Objek 3D tersebut dihasilkan dengan analisis bentuk geometri set image 2D.
2.2.3 Range-based Modelling (RBM)
Metode ini telah menggunakan sensor aktif (X-Ray, SAR, photogrammetry dan laser scanner) yang secara langsung akan menagkap informasi geometris dari sebuah objek, sehingga menghasilkan hasil yang akurat dan detail dari kebanyakan objek. Tetapi, sensor tersebut bergantung kepada pencahayaan buatan atau proyeksi pola.
2.2.4 Kombinasi IBM dan RBM
Pada banyak aplikasi, tidak ada metode tunggal yang dapat memenuhi semua kebutuhan dari sebuah proyek. Penelitian yang berbeda telah dilakukan untuk melakukan integrasi pada sensor yang ada. Photogrammetry dan pemindaian laser telah dikombinasikan untuk objek arsitektur yang besar dan kompleks, dimana tidak ada teknik secara tunggal dapat berjalan secara cepat dan efisien untuk menghasilkan model yang lengkap dan detail. Biasanya bangun dasar seperti permukaan planar
menggunakan image-based modelling, sedangkan untuk objek dengan detail yang cukup tinggi seperti permukaan terrain menggunakan teknik range-based modelling.
2.4 3D Modelling Software
Untuk membuat sebuah model 3D ada beberapa software yang dapat digunakan. Beberapa diantaranya yaitu yang tertera pada tabel 2.1 memperlihatkan beberapa aplikasi pemodelan 3D yang populer saat ini.
Tabel 2.1. Daftar dari beberapa aplikasi pemodelan 3D
Nama Lisensi Mendukung 3D rendering
BRL-CAD GNU LGPL Ya
Autodesk Maya Commercial software Ya
Blender GNU GPLv2+ Ya
Autodesk 123D Freeware Tidak
AutocCAD Commercial software Ya
Namun pada penelitian ini software yang digunakan untuk pembuatan model 3D adalah software blender. Pada software blender objek tunggal disebut sebagai mesh.. Mesh dasar yang terdapat pada Blender v2.76 menurut laman daring Wiki Blender terbagi menjadi beberapa bentuk, yaitu plain, cube, cylinder, UV sphere, Ico Sphere, Circle, Cone dan Torus. Objek-objek dasar tersebut dapat membentuk sebuah mesh baru dengan bentuk yang diinginkan dari proses modifikasi mesh yang dilakukan. Adapun modifikasi mesh dapat dilakukan dengan perintah standar maupun modifier yang terdapat pada Blender.
Perintah standar yang paling sering digunakan ialah duplicate, scale, rotate, transform, delete dan join. Perintah duplicate digunakan untuk menduplikasi mesh yang telah di seleksi. Untuk mengubah ukuran mesh yang telah terseleksi digunakan perintah scale. Rotate digunakan untuk melakukan sebuah rotasi pada mesh. Untuk memindahkan memindahkan koordinat dari mesh yang telah diseleksi digunakan perintah transform. sedangkan delete dapat digunakan untuk menghapus mesh yang telah terseleksi. Dan untuk mnggabungkan mesh yang terseleksi digunakan perintah join.
Selain itu, ada beberapa metode khusus yang dapat mempermudah dan mempercepat proses pemodelan, yaitu dengan menggunakan modifier. Modifier merupakan fitur yang terdapat pada Blender untuk melakukan modifikasi pada mesh terseleksi melalui perhitungan matematis.
Ada beberapa modifier yang digunakan ketika melakukan pemodelan objek 3D dengan Blender yaitu, miros, Boolean, bevel, dan array. Mirror berfungsi untuk membuat salinan dengan rotasi 180° terhadap sumbu yang dijadikan acuan. Salinan mengikuti cara kerja sebuah cermin. Boolean berfungsi untuk modifikasi dua buah objek dengan opsi intersect, union dan difference. Intersect berfungsi membuat mesh baru irisan dari kedua objek, union berfungsi membuat mesh baru gabungan kedua objek dengan membuang bagian yang beririsan dan difference berfungsi menghilangkan bagian mesh utama yang beririsan dengan mesh target. Untuk menciptakan lengkungan pada sudut sebuah imesh terseleksi, dimana pengguna dapat mengatur dimana dan dan bagaimana lengkungan yang diinginkan pada mesh digunakan bevel. Array berfungsi untuk membuat rangkaian salinan dari objek terseleksi, yang mana masing-masing salinan objek linear dari objek utama dengan arah yang ditentukan. Modifier ini cocok digunakan untuk mengembangkan scene yang besar.
2.5 Unity 3D
Unity 3D merupakan salah satu game engine yang mudah digunakan, hanya membuat objek dan diberikan fungsi untuk menjalankan objek tersebut. Dalam setiap objek mempunyai variabel, variabel inilah yang harus dimengerti supaya dapat membuat game yang berkualitas. Berikut ini adalah bagian-bagian dalam Unity: .Asset yang adalah tempat penyimpanan dalam Unity yang menyimpan suara, gambar, video, dan tekstur. Scenes adalah area yang berisikan konten-konten dalam game, seperti membuat sebuah level, membuat menu, tampilan tunggu, dan sebagainya. Game Objects adalah barang yang ada di dalam assets yang dipindah ke dalam scenes, yang dapat digerakkan, diatur ukurannya dan diatur rotasinya. Components adalah reaksi baru, bagi objek seperti collision, memunculkan partikel, dan sebagainya. Script, yang dapat digunakan dalam Unity ada tiga, yaitu Javascript, C# dan BOO. Prefabs adalah tempat untuk menyimpan satu jenis game objects, sehingga mudah untuk diperbanyak.
2.6 Vuforia
Vuforia adalah Augmented Reality Software Development Kit (SDK) untuk perangkat telepon genggam yang memungkinkan pembuatan aplikasi Augmented Reality. Dulunya lebih dikenal dengan QCAR (Qualcomm Company Augmentend Reality). Hal ini menggunakan teknologi Computer Vision untuk mengenali dan melacak gambar planar (Target Image) 2D dan objek 3D sederhana. Seperti kotak, secara real-time.
SDK Vuforia mendukung berbagai jenis target 2D dan 3D termasuk Target Gambar 'markerless', 3D Multi target konfigurasi, dan bentuk Marker Frame. Fitur tambahan dari SDK termasuk Deteksi Oklusi Lokal menggunakan 'Virtual Button', runtime pemilihan gambar target, dan kemampuan untuk membuat dan mengkonfigurasi ulang set pemrograman pada saat runtime. Vuforia menyediakan Application Programming Interfaces (API) di C++, Java, Objective-C. Vuforia SDK mendukung pembangunan untuk IOS dan android menggunakan vuforia karena itu kompatibel dengan berbagai perangkat telepon genggam termasuk iPhone (4/4S), iPad, dan telepon genggam android dan tablet yang menjalankan android sistem operasi versi 2.2 atau yang lebih besar dan prosesor ARMv6 atau 7 dengan FPU (Floating Point Unit ) kemampuan pengolahan. Dalam pengembangan aplikasi menggunakan Vuforia Qualcomm ini terdiri dari 2 komponen diantaranya adalah:
2.7.1 Target Manager System
Mengijinkan pengembang melakukan upload gambar yang sudah diregistrasi oleh marker dan kemudian melakukan download target gambar yang akan dimunculkan.
2.7.2 QCAR SDK Vuforia
Mengijinkan pengembang untuk melakukan koneksi antara aplikasi yang sudah dibuat dengan library static i.e libQCAR.a pada iOS atau libQCAR.so pada android. pembangunan aplikasi dengan qualcomm Augmented Reality platform dimana platform ini terdiri dari SDK QCAR dan Target System Management yang dikembangkan pada portal QdevNet. User meng-upload gambar masukan untuk target yang ingin dilacak dan kemudian men-download sumber daya target, yang dibundel dengan app. SDK QCAR menyediakan sebuah objek yang terbagi libQCAR.so yang harus dikaitkan dengan aplikasi.
Gambar 2.3 Arsitektur library QCAR SDK (Untung,2014)