Anda di halaman 1dari 10

PRAKTIKUM 4

MAKE A QR CODE & QR CODE READER IN UNITY


1.1 TUJUAN PRAKTIKUM
Tujuan Umum
Dapat Membuat dan Mengintegrasikan AR dengan menggunakan Component
Scripting pada Unity.

Tujuan Khusus
Setelah membaca modul ini diharapkan mahasiswa dapat:
1. Membuat QR Code dan QR Code Reader yang terintegrasi dengan Android
2. Berinteraksi dengan AR menggunakan Scripting Unity

1.2 KOMPONEN USER INTERFACE DI UNITY


Di Dalam aplikasi unity sangat komplek dan banyak tools yang harus dan wajib
diketahui dalam pembuatan projek AR.
- Macam Windows di tampilan Unity
Ketika pertama kali membuka Unity dan setup project, akan muncul halaman yang
berisikan beberapa window terbuka. Ada lima window utama yang akan menjadi
fokus pengenalan kita dan yang akan paling sering kita gunakan ketika
mengembangkan game menggunakan Unity. Kelima window tersebut adalah window
Scene, Project, Hierarchy, Inspector, dan Game. Secara umum, berikut adalah
penjelasan dari masing-masing window :
o Scene: Untuk mengatur tata letak dari suatu object dalam game. Misal mengatur
letak kamera, atau object lain dan dapat memasukkan Object dengan melakukan
drag drop dari window Project.
o Game: Simulasi game ketika game/projek dijalankan. Window ini banyak
berfungsi pada proses debugging ketika menjalankan game/projek.
o Hierarchy: Berhubungan dengan window Scene. Apa yang ada dalam window
Scene akan ditampilkan secara list. Urutan game object bisa kita pindah posisinya
dan bisa kita gerakkan menjadi parent and child.
o Inspector: Seperti window Properties pada kebanyakan aplikasi lain. Pada
window ini disediakan berbagai pengaturan. Window ini bisa menampilkan
informasi properti atau component dari sebuah game object ataupun asset. Isi dari
window ini dapat berubah ubah ketika mengklik object yang berbeda.
o Project: Menampilkan hirarki dari folder-folder asset yang dimiliki. Asset biasa
digunakan dengan melakukan drag drop ke window scene
- Asset dan Package
Asset satu kesatuan dari banyak file dan bisa dibilang sebuah proyek. Package seperti
.rar/.zip/.tar, beberapa aset yang di export dari unity Asset dapat terdiri dari beberapa
package
- Component
Component adalah sekumpulan script C# dan Javascript. Di modul ini akan dibahas
juga secara singkat tentang Scripting yang merupakan bagian dari komponen pada
unity. Component ini bertujuan untuk menambahkan perilaku dari object, misalkan
gravity, collider, cloth, controller, dll.

1.3 AR DEVELOPMENT IN UNITY


Augmented Reality (AR) melibatkan serangkaian tantangan desain baru dibandingkan
dengan VR atau aplikasi 3D real-time tradisional. Secara definisi, aplikasi augmented
reality melapisi konten dunia nyata di sekitar pengguna. Untuk menempatkan objek di
dunia nyata, Anda harus terlebih dahulu menentukan dimana akan meletakkannya.
Misalnya, Anda mungkin ingin menempatkan lukisan virtual di dinding fisik. Jika
Anda menempatkan tanaman pot virtual, Anda mungkin menginginkan objek virtual
itu muncul di atas meja fisik atau lantai. Aplikasi AR menerima informasi tentang
dunia dari perangkat pengguna, seperti lokasi permukaan planar (planar surfaces),
deteksi objek, orang, wajah, dan sebagainya; dan harus memutuskan bagaimana
menggunakan informasi ini untuk menciptakan pengalaman yang baik bagi pengguna.
Ketika Anda membuka scene AR di Unity, Anda tidak akan menemukan banyak
objek 3D di dalam scene atau tampilan Hierarchy – Scene adalah tempat dimana
konten ditampilkan dalam unity. Sebaliknya, Anda akan lebih sering berinteraksi
dengan GameObject di dalam scene untuk menentukan pengaturan dan logika
aplikasi, – Game Objects adalah objek dasar di Unity yang mewakili karakter,
properti, dan pemandangan. Objek-objek ini tidak melakukan banyak hal dalam
dirinya sendiri, tetapi mereka bertindak sebagai wadah untuk komponen yang
mengimplementasikan fungsionalitas. Konten 3D biasanya dibuat sebagai prefab
yang ditambahkan ke adegan pada saat runtime sebagai respons terhadap peristiwa
terkait AR – Prefab merupakan jenis asset yang memungkinkan Anda untuk
menyimpan GameObject secara lengkap dengan components dan propertiesnya.
OCCLUSION
Occlusion terjadi ketika sebuah objek menghalangi pandang objek lainnya.
Menambahkan komponen AR Occlusion Manager ke Kamera dengan komponen
ARCamera Background secara otomatis memungkinkan background rendering pass
untuk memasukkan informasi kedalaman yang tersedia saat merender buffer
kedalaman. Hal ini memungkinkan geometri yang dirender tersumbat oleh geometri
yang terdeteksi dari dunia nyata.
Komponen AR Occlusion Manager mengekspos gambar per-frame yang mewakili
kedalaman gambar (depth) atau gambar stencil. Memasukkan kedalaman gambar ini
ke dalam proses rendering sering kali merupakan pendekatan terbaik untuk mencapai
pencampuran konten augmented dan dunia nyata yang terlihat realistis dengan
memastikan bahwa objek fisik di dekatnya menutupi konten virtual yang terletak di
belakangnya dalam ruang AR bersama.

1.4 SCRIPTING
Sebagian besar aplikasi membutuhkan skrip untuk merespons input dari pemain dan
mengatur kejadian dalam gameplay agar terjadi pada waktu yang tepat. Selain itu,
skrip dapat digunakan untuk membuat efek grafis, mengontrol perilaku fisik objek,
atau bahkan mengimplementasikan sistem AI khusus untuk karakter dalam game.
Unity memungkinkan Anda untuk membuat Komponen Anda sendiri menggunakan
script. Hal ini memungkinkan Anda untuk memicu kejadian dalam game,
memodifikasi properti Component dari waktu ke waktu, dan merespon masukan dari
pengguna dengan cara apa pun yang Anda inginkan. Unity mendukung bahasa
pemrograman C# secara native. C# (dibaca C-sharp) adalah bahasa standar industri
yang mirip dengan Java atau C++.
- Membuat Scripts
Tidak seperti kebanyakan aset lainnya, skrip biasanya dibuat di dalam Unity secara
langsung. Anda dapat membuat skrip baru dari menu Create di bagian kiri atas panel
Project atau dengan memilih Assets > Create > C# Script dari main menu.

Klik dua kali pada script Asset di Unity, script tersebut akan dibuka di sebuah text
editor. Secara default, Unity akan menggunakan Visual Studio, tetapi kita dapat
memilih editor apapun yang kamu suka dari panel External Tools di preferensi Unity
(buka Unity > Preferences).
Skrip ini terhubung dengan mengimplementasikan kelas yang berasal dari build-in
class yang disebut MonoBehaviour. Nama kelas dan nama file harus sama agar
komponen skrip dapat dilampirkan ke GameObject.
Hal utama yang perlu diperhatikan adalah dua fungsi yang didefinisikan di dalam
kelas. Fungsi Update adalah tempat untuk menaruh kode yang akan menangani
pembaruan frame untuk GameObject. Hal ini dapat mencakup pergerakan, memicu
aksi, dan merespons input pengguna, pada dasarnya apa pun yang perlu ditangani dari
waktu ke waktu selama bermain game.
Fungsi Start akan dipanggil oleh Unity sebelum permainan dimulai (yaitu, sebelum
fungsi Update dipanggil untuk pertama kalinya) dan merupakan tempat yang ideal
untuk melakukan inisialisasi.
- Mengontrol GameObject
Anda dapat melampirkan skrip dengan menyeret aset skrip ke GameObject di panel
hierarki atau ke inspektor dari GameObject yang sedang dipilih. Ada juga submenu
Scripts pada menu Component yang akan berisi semua skrip yang tersedia dalam
proyek, termasuk yang telah Anda buat sendiri.

Setelah Script terpasang, skrip akan mulai bekerja ketika Anda menekan Play dan
menjalankan game. Anda dapat memeriksanya dengan menambahkan kode berikut ini
di fungsi Start:-

Debug.Log adalah sebuah perintah sederhana yang hanya mencetak sebuah pesan ke
output console Unity. Jika Anda menekan Play sekarang, Anda akan melihat pesan di
bagian bawah jendela utama editor Unity dan di jendela Console (menu: Window >
General > Console).
- Variabel dan Inspector
Ketika Anda membuat script di Editor, Unity secara otomatis menyediakan script
template yang diwarisi dari kelas MonoBehaviour yang berarti skrip Anda dapat
berperilaku seperti jenis komponen, dan Anda dapat melampirkannya ke Game
Objects seperti komponen lainnya.
Ketika skrip Anda diwarisi dari MonoBehaviour, Anda dapat menyertakan properti
dan nilai dalam skrip Anda yang kemudian dapat diedit dari Inspector editor seperti
yang dapat Anda lakukan pada komponen lainnya.
Contoh kode di bawah ini mendeklarasikan variabel publik bernama myName. Ketika
Anda menempatkan skrip ini pada GameObject di scene Anda variabel tersebut akan
terlihat di Inspector sebagai sebuah field berlabel " myName ". Nilai default "none"
yang dideklarasikan dalam skrip menjadi nilai default dalam field di Inspector, yang
kemudian dapat Anda ubah dengan mengetik ke dalam field tersebut.

Setiap GameObject tempat Anda menempatkan komponen skrip Anda dapat memiliki
nilai uniknya sendiri untuk field tersebut.

(A public string field editable in the inspector window.)


Pada Inspector, jika Anda mengedit nilai My Name dan menekan Play, console
message sekarang akan menyertakan teks yang Anda masukkan.
1.5 PELAKSANAAN PRAKTIKUM
Pada pelaksanaan praktikum kali ini akan membutuhkan waktu yang cukup panjang.
1. Set Up Asset pada file project di Unity
a. Pada Folder assets buat 2 folder baru dan beri nama Plugin dan Script

b. Pada folder Plugin tambahkan Plugin Zxing.unity yang dapat anda download di
https://codewithilyasoft.blogspot.com/2022/09/how-to-qr-code-scanner-in-unity.html
c. Lalu Tambahkan Beberapa Komponen yang dibutuhkan yaitu Raw Image (untuk show
camera), Image (untuk menandai Scan Zone), Button Mesh Pro (untuk memulai scan
QR Code), Label Mesh Pro (untuk melihat hasil Scan QR Code), dan Object (untuk QR
Code Reader). Jangan lupa atur build setting ke Android (jika belum install dahulu
dengan Unity Hub)
d. Atur beberapa pengaturan sesuai kebutuhan untuk masing-masing komponen yang
telah ditambahkan, sehingga seperti pada gambar dibawah

e. Setelah komponen utama terbuat, kita akan melanjutkan ke bagian Scripting


menggunakan C# di Visual Studio 2019
f. Pertama kita buat file C# di folder Script, lalu masukan Script dibawah ini
g. Save jika sudah, lalu seret file Script pada folder Script ke Komponen “QR Code
Reader”

h. Pada “QR Code Script (Script)” seret komponen-komponen sesuai dengan


keterangannya agar dapat terbaca dan diatur oleh Script yang kita buat
i. Jika sudah, simpan file ke penyimpanan lokal dan pilih Build and Run

2. Buat File PNG QR CODE


a. Buat file QR Code, banyak tools yang dapat digunakan, disini kami membuat dengan
QR Code Generator
b. Hasilnya seperti dibawah ini
3. Mencoba membaca QR Code dengan Project yang telah dibuat di UNITY
a. Buka file project yang sudah dibuat di UNITY (jangan lupa koneksikan perangkat
Android terlebih dahulu ke UNITY)
b. Coba Scan QR Code yang telah disediakan dengan Project QR Code Reader yang
sudah dibuat
c. Maka hasilnya seperti dibawah ini

1.6 LATIHAN
Sejauh ini platform yang kita gunakan dalam praktikum masih menggunakan
PC/Windows/Mac cobalah kerjakan praktikum ini dengan platform android. Lalu
kompilasikan ke dalam bentuk instalasi android. Anda dapat memanfaatkan Scene In
Build.
Scene In Build adalah tempat di mana semua Scene akan dimasukkan dalam 1
aplikasi .apk Simulasikan ke ponsel masing-masing

Anda mungkin juga menyukai