Takafumi Horiuchi

Pengembangan sistem VR bagi anak-anak untuk membuat prototipe objek interaktif

Ringkasan

Smart Codesign VR adalah prototipe platform untuk membangun dan menguji “objek pintar” interaktif dalam realitas virtual. Pemain memilih tiga kartu, masing-masing untuk lingkungan, masukan, dan keluaran, lalu menggunakan gerakan tubuh untuk menentukan kapan objek merespons dan apa yang dilakukannya. Objek virtual yang sudah selesai dapat ditempatkan di taman untuk diuji perilakunya.

Proyek ini berangkat dari SNaP (The Smart Nature Protagonists), permainan papan yang dikembangkan i3Lab di Politecnico di Milano. Dalam SNaP, anak-anak menggabungkan kartu untuk menciptakan objek pintar dan mendeskripsikannya dalam satu kalimat di atas kertas. Proyek ini bertujuan mengubah deskripsi tersebut menjadi objek virtual yang dapat dirakit dan dioperasikan anak-anak melalui gerakan mereka sendiri.

Tim kami yang beranggotakan empat orang merancang dan mengimplementasikan sistem ini sebagai proyek akhir mata kuliah Advanced User Interfaces di Politecnico di Milano pada tahun akademik 2020–21. Sistem dirancang untuk anak-anak berusia 11–13 tahun, dengan perhatian khusus pada anak dengan gangguan perkembangan saraf (NDD). Dibangun dengan Unity dan C# untuk Oculus Quest 2, prototipe ini mendukung alur lengkap dari pemilihan kartu hingga interaksi di taman virtual.

Video demonstrasi: memilih kartu, menetapkan syarat masukan dan perilaku keluaran, lalu menjalankan objek pintar yang sudah jadi di taman virtual.

SNaP dan konteks desain

Permainan yang menjadikan anak sebagai perancangnya

Dalam SNaP, dua hingga empat anak berperan sebagai “desainer”, sementara fasilitator dewasa berperan sebagai “wali kota”. Wali kota memperkenalkan misi, lalu anak-anak mendiskusikan ide dan menggabungkan kartu untuk merancang objek pintar yang menjawab misi tersebut. Permainan ini bertujuan mengembangkan kreativitas, kolaborasi, dan kemampuan menyampaikan ide. Penggunaannya oleh anak dengan gangguan perkembangan saraf juga dipertimbangkan, tetapi proyek ini tidak mengevaluasi efek terapeutik maupun pendidikannya.

Lingkungan, masukan, keluaran — tiga jenis kartu

SNaP memiliki tiga jenis kartu, masing-masing dengan perannya sendiri.

Kartu lingkungan (Environment) mewakili objek yang akan dijadikan pintar: pohon, bangku, ayunan, perairan, batu, lampu jalan, tempat sampah, sepeda, jembatan, tangga, atau tas sekolah. Semuanya merupakan benda dan unsur yang akrab dijumpai di taman serta jalan. Kartu lingkungan menentukan objek yang akan memuat fungsi masukan dan keluaran.

Kartu masukan (Input) menentukan apa yang dideteksi atau direspons objek, seperti tombol, gerakan, sentuhan, jarak, suhu, kelembapan, kecerahan, warna, suara, api, ketinggian air, atau ramalan cuaca. Kartu ini mewakili masukan objek pintar, dengan peran yang menyerupai sensor.

Kartu keluaran (Output) menentukan respons objek: menyala, berbunyi, bergetar, bergerak, menampilkan, merekam, atau mengirim informasi. Kartu ini mewakili fungsi keluaran, dengan peran yang menyerupai aktuator.

Kartu lingkungan memberi konteks pada pasangan masukan–keluaran. Jika masukannya gerakan dan keluarannya suara, tempat sampah dapat berbunyi ketika lemparan seseorang meleset, sedangkan lampu jalan dapat memberi tahu bahwa seseorang mendekat. Masukan dan keluaran menentukan perilaku perangkat; penambahan lingkungan menghubungkan perilaku tersebut dengan situasi sehari-hari.

Kartu lingkungan “Trash can”, kartu masukan “Motion”, dan kartu keluaran “Make sound” dihubungkan tanda “&”, dengan panah menuju kalimat “Missing the trash bin creates a sound.”
Perpaduan tiga kartu menjadi kalimat penjelas satu objek pintar. Warna bingkai kartu menunjukkan jenisnya: hijau untuk lingkungan, biru muda untuk masukan, kuning untuk keluaran.
Tabel yang memuat seluruh 49 kartu SNaP. Dua baris teratas adalah 20 kartu lingkungan berbingkai hijau, dua baris tengah dan ujung kiri baris terbawah adalah 21 kartu masukan berbingkai biru muda, dan sisa baris terbawah adalah 8 kartu keluaran berbingkai kuning.
Seluruh 49 kartu SNaP: 20 kartu lingkungan, 21 masukan, dan 8 keluaran. Kemungkinan kombinasinya menentukan ruang desain permainan.

Mengubah ide tertulis menjadi objek virtual interaktif

Pada saat proyek ini berlangsung, sesi SNaP berakhir dengan deskripsi tertulis tentang objek pintar yang dirancang anak-anak. Secara bersamaan, i3Lab mengembangkan “papan fisik” yang memadukan tablet dengan Arduino untuk mengubah deskripsi tersebut menjadi prototipe fisik. Smart Codesign VR mengeksplorasi pendekatan lain menggunakan realitas virtual, medium yang saat itu belum diteliti tim untuk tujuan ini.

VR menawarkan dua peluang. Pertama, anak-anak dapat membuat prototipe melalui gerakan seluruh tubuh: menggenggam, membawa, menyorotkan cahaya, dan melukis dengan kuas menjadi cara untuk menetapkan kondisi serta perilaku. Kedua, ide mereka dapat terwujud sebagai objek virtual yang terlihat dan langsung dapat dioperasikan. Deskripsi tertulis dapat menjadi objek dengan ukuran dan bentuk di hadapan mereka.

Untuk siapa ini dirancang

Pengguna yang dituju adalah anak-anak berusia 11–13 tahun, dengan perhatian khusus pada anak dengan gangguan perkembangan saraf. Merancang objek pintar memerlukan penalaran logis pada taraf tertentu, sehingga SNaP dan versi VR-nya dirancang untuk rentang usia tersebut.

Proyek ini bertujuan membantu anak-anak mengungkapkan ide melalui pembuatan prototipe dan interaksi langsung. Hal tersebut merupakan tujuan desain, bukan hasil terapeutik atau pendidikan yang telah terbukti; prototipe ini belum dievaluasi bersama anak-anak.

Merancang ruang yang nyaman

Berdasarkan materi yang dirujuk dalam proyek, kami menggunakan empat aspek sebagai panduan desain ruang: suara, cahaya dan warna, penataan ruang, serta material. Untuk mengakomodasi kepekaan pendengaran, kami mempertimbangkan isolasi kebisingan, volume yang dapat diatur, dan audio yang tenang serta konsisten. Untuk cahaya dan warna, kami mempertimbangkan latar yang tenang dengan saturasi rendah, sementara warna terang bersaturasi tinggi dibatasi pada area kecil. Batas ruang yang jelas, tata letak teratur, bentuk yang sederhana dan mudah dipahami, serta jalur gerak yang bebas hambatan juga menjadi pertimbangan. Lingkungan virtual memungkinkan desainer mengendalikan aspek-aspek ini. Proyek ini tidak mengevaluasi dampaknya terhadap kenyamanan pengguna.

Batasan dan risiko VR

Proyek ini juga mempertimbangkan batasan dan risiko VR: biaya perangkat keras, mabuk gerak, beban pada kepala dan leher akibat bobot headset, kecelakaan ketika headset menghalangi pandangan terhadap lingkungan fisik, kelelahan mata selama penggunaan berkepanjangan, serta kekhawatiran ketergantungan akibat terlalu larut dalam pengalaman virtual.

Pertimbangan tersebut mendasari tiga keputusan desain: menjaga interaksi tetap sederhana dengan tantangan yang cukup untuk mendukung pembelajaran; membuat tampilan dan audio jelas tanpa rangsangan berlebihan; serta memberikan akhir yang pasti bagi pengalaman. Setelah pembuatan prototipe dan pengujian di taman selesai, kegiatan berakhir, sehingga pengguna tidak didorong untuk terus berada di VR tanpa batas waktu.


Prototipe: Pengalaman dan implementasi

Empat tahap pengalaman

Aplikasi ini memiliki empat tahap: layar tunggu, pemilihan kartu, pembuatan prototipe, dan interaksi di taman virtual.

1. Layar tunggu

Aplikasi dibuka pada layar judul dan menunggu tombol pengendali ditekan sebelum melanjutkan. Jeda yang disengaja ini memberi pemain waktu untuk mengenakan headset dan menyiapkan posisi sebelum pengalaman utama dimulai.

2. Pemilihan kartu — menggenggam lalu memasukkannya ke kotak

Pemain memilih satu kartu lingkungan, satu kartu masukan, dan satu kartu keluaran dengan menggenggam objek yang mewakili setiap kartu dan menempatkannya di kotak yang sesuai. Interaksi menggenggam dan menempatkan ini memanfaatkan ruang tiga dimensi VR. Setelah ketiga kotak terisi, panduan suara mengarahkan pemain ke tahap pembuatan prototipe. Kartu dapat dipilih dalam urutan apa pun, tetapi ketiganya wajib dipilih sebelum melanjutkan.

Layar pemilihan kartu di VR. Di depan papan berisi kartu berdiri tiga kotak tembus pandang berlabel input, environment, dan output, dan sebuah tangan sedang menggenggam objek berbentuk pengeras suara.
Pemilihan kartu. Ketiga kotak mewakili lingkungan, masukan, dan keluaran. Menempatkan objek di dalam kotak mengonfirmasi pilihan; kartu yang tidak tersedia ditampilkan samar.

3. Pembuatan prototipe: Menentukan kondisi dan perilaku melalui gerakan

Pembuatan prototipe merupakan inti sistem. Pemain menentukan kondisi pemicu untuk kartu masukan yang dipilih dan respons untuk kartu keluarannya. Setiap kartu memiliki interaksi tersendiri dengan gerakan yang memerlukan pelacakan enam derajat kebebasan.

Sebagai contoh, memilih “ramalan cuaca” menampilkan objek yang mewakili matahari, awan, hujan, petir, dan salju dalam jangkauan pemain. Pemain menggenggam salah satunya dan mengarahkan berkas cahayanya ke objek sasaran untuk menetapkan kondisi. Jika keluaran “menyala” dipilih, pemain mengambil kuas, mencelupkannya ke kaleng cat, lalu mengecat objek sasaran untuk memilih warna nyalanya. Untuk menghapus warna yang telah diterapkan, pemain mencelupkan kuas ke kaleng “air” dan menyapukannya kembali pada objek.

Salah satu keputusan implementasi utama adalah mendukung beberapa pasangan masukan–keluaran pada satu objek. Rencana awal hanya mengizinkan satu aturan, misalnya “menyala merah saat cerah”. Dengan dukungan beberapa pasangan, objek dapat merespons kondisi yang berbeda secara berbeda pula: merah saat cerah, biru saat hujan, dan putih saat bersalju. Pemain dapat menguji setiap pasangan sebelum mengonfirmasinya dan kembali menyunting jika diperlukan.

Layar pembuatan purwarupa. Di kiri panel petunjuk pengoperasian kartu masukan “Weather”; di tengah tiga balon teks bertuliskan “When it is about to be sunny / rain / snow”; di kanan balon-balon keluaran; dan di depan ada objek pohon serta kaleng-kaleng cat. Layar yang sama dilihat dari kanan. Di kiri dan kanan objek lampu jalan yang dicat kuning, balon masukan dan balon keluaran berjajar berpasangan, dan di ujung kanan ada panel petunjuk pengoperasian kartu keluaran “Light up”.
Tangkapan layar prototipe tahun 2021 (bahasa Inggris). Balon bernomor memasangkan kondisi masukan dengan perilaku keluaran. Tombol plus menambah pasangan, sedangkan tombol minus menghapusnya. Panel masukan menampilkan “Maximum number of instances: 5”, yaitu batas lima instans.

4. Taman: Menguji objek

Setelah mengonfirmasi objek, pemain memasuki taman virtual, menempatkan objek tersebut, memicu kondisi masukan yang telah ditentukan, dan mengamati responsnya. Perayaan menandai keberhasilan objek beroperasi dan mengakhiri pengalaman.

Alur keseluruhan

Diagram aktivitas UML berikut merangkum pengalaman tersebut. Diagram atas menunjukkan alur keseluruhan; dua diagram di bawahnya merinci interaksi “ramalan cuaca” dan “menyala”. Percabangan menunjukkan bahwa pemain dapat kembali ke pemilihan kartu setelah menerima petunjuk, serta kembali menyunting setelah mengonfirmasi dan menguji objek.

Diagram aktivitas UML. Bagian atas, “Overall Activity”, memuat alur dari layar tunggu, pemilihan tiga kartu, petunjuk, penetapan syarat masukan dan perilaku keluaran, pemastian, pemeriksaan kerja, hingga pengujian di taman. Kiri bawah menguraikan pengoperasian kartu ramalan cuaca, kanan bawah kartu menyala.
Diagram aktivitas UML yang menggambarkan tindakan pengguna. Karena pengoperasiannya berbeda menurut jenis kartu, alur bersama dan rincian tiap kartu ditulis terpisah.

Perangkat dan peralatan

Prototipe dibuat untuk Oculus Quest 2. Pelacakan enam derajat kebebasannya mendukung gerakan berputar, berpindah tempat, dan memanipulasi objek virtual. Karena interaksi langsung dengan tangan yang dilakukan berulang kali menjadi inti pengalaman, tim tidak memilih headset berbasis ponsel yang hanya mendukung pelacakan tiga derajat kebebasan.

Aplikasi dikembangkan dengan Unity dan C#. Paket Oculus Integration menghubungkannya ke Quest 2 dan menyediakan API untuk perilaku kamera VR, perenderan, serta masukan pengendali.

Empat scene dan tiga belas kelas

Sistem menggunakan empat scene Unity, masing-masing untuk satu tahap pengalaman. Terdapat 13 kelas, termasuk tiga kelas abstrak.

Scene judul hanya memiliki TitleSceneCore, yang memindahkan ke scene berikutnya begitu sebuah tombol ditekan.

Scene pemilihan kartu menggunakan CardSelectionSceneCore dan CardSelectionDetector. CardSelectionSceneCore membuat tiga instans detektor, masing-masing untuk kotak lingkungan, masukan, dan keluaran. Setiap kotak menarik objek kartu yang berada di dekatnya dan menandai kategorinya sebagai terpilih. Setelah ketiga pilihan lengkap, scene menuliskannya ke kelas statis SmartObject, lalu berlanjut. SmartObject mempertahankan data tersebut saat scene berganti, sehingga keempat scene terhubung menjadi pengalaman yang berkesinambungan.

Dalam scene pembuatan prototipe, PrototypingSceneCore mengoordinasikan alur kerja. Perilaku kartu direpresentasikan sebagai hierarki pewarisan: Card adalah kelas dasar; InputCard dan OutputCard diturunkan darinya; lalu kelas konkret seperti Weather, Fire, MakeSound, dan LightUp mengimplementasikan interaksi masing-masing. Card, InputCard, dan OutputCard bersifat abstrak karena hanya subkelas konkret yang menjalankan operasi pembuatan prototipe.

PrototypingSceneCore mengelola satu daftar instans kondisi masukan dan satu daftar instans perilaku keluaran. Jika kartu yang dipilih adalah “ramalan cuaca” dan “menyala”, kedua daftar masing-masing berisi instans Weather dan LightUp. Satu instans dari tiap jenis dibuat pada awalnya; menekan tombol tambah membuat pasangan baru. Pada setiap frame, sistem mengevaluasi kondisi masukan dan memanggil perilaku keluaran yang sesuai. Ketika pengguna mengonfirmasi objek, isConfirmed diatur menjadi true dan data perilaku yang telah dirakit dituliskan ke properti statis SmartObject.

Scene interaksi berisi satu kelas, InteractionSceneCore, yang menangani penempatan objek di taman, pengujian kondisi serta respons yang ditentukan, dan perayaan penutup.

Diagram kelas UML. Digambarkan empat paket — Title Scene, Card Selection Scene, Prototyping Scene, dan Interaction Scene — beserta kelas statis Smart Object yang dirujuk semuanya. Di dalam Prototyping Scene, kelas abstrak Card diwarisi Input Card dan Output Card, dan keduanya diwarisi lagi oleh Weather Card, Fire Card, Make Sound Card, dan Light Up Card.
Diagram kelas UML sistem ini. Empat paketnya berpadanan dengan scene Unity. Kelas statis berlabel “Smart Object” di tengah bawah menyimpan data antar-scene. Atribut dan metode disederhanakan agar mudah dibaca.

Yang tercapai dan yang tersisa

Sembilan dari 49 kartu telah diimplementasikan

Prototipe ini mengimplementasikan sembilan kartu. Fungsi intinya telah berjalan: pemilihan kartu, penentuan kondisi dan perilaku, pengelolaan beberapa instans, serta penerusan data antar-scene. Hal ini menjadi dasar untuk menambahkan kartu lain, tetapi implementasinya masih harus dikerjakan. Enam kartu tambahan telah dirancang tetapi belum diimplementasikan; 34 kartu lainnya masih memerlukan desain interaksi dan implementasi.

Status implementasi prototipe
StatusKartu
Diimplementasikan (9)Lingkungan: pohon, lampu jalan, rambu jalan, tempat sampah, jembatan
Masukan: api, ramalan cuaca
Keluaran: berbunyi, menyala
Baru dirancang (6)Masukan: tombol, kecepatan, suara
Keluaran: bergerak, bergetar, mengirim
Belum dimulai (34)15 kartu lingkungan, 16 kartu masukan, 3 kartu keluaran (menampilkan, mengaktifkan, merekam)

Evaluasi bersama pengguna belum dilakukan

Prototipe ini belum dievaluasi bersama pengguna. Pengembangan berlangsung dengan partisipasi jarak jauh selama pandemi COVID-19. Lokakarya tatap muka menggunakan headset VR maupun alternatif jarak jauhnya tidak dapat diselenggarakan. Proyek ini menunjukkan bahwa pengalaman yang dirancang dapat diimplementasikan sebagai prototipe yang berfungsi. Kemudahan penggunaannya bagi anak-anak dan manfaatnya dalam konteks terapi masih belum diuji.

Evaluasi mendatang dapat menilai seberapa intuitif antarmuka ini untuk membuat prototipe. Ukuran yang mungkin digunakan mencakup waktu penyelesaian, kesesuaian objek pintar akhir dengan ide awal peserta, serta jumlah penekanan tombol yang tidak disengaja. Kuesioner setelah sesi berdasarkan System Usability Scale (SUS) dapat memberikan data kuantitatif tambahan. Perekaman sesi untuk mengamati gerakan peserta juga dapat dipertimbangkan, dengan persetujuan mereka dan prosedur yang sesuai. Untuk proyek tahun 2021 ini, usia peserta evaluasi yang diusulkan adalah 13 tahun, dipilih agar sesuai dengan rentang usia sasaran SNaP dan panduan Oculus yang dirujuk saat itu. Studi mendatang harus menilai ulang kelayakan peserta berdasarkan panduan yang berlaku dan protokol penelitian.

Pengembangan selanjutnya

Prioritas pengembangan berikutnya adalah menyempurnakan UI dan UX. Keterbatasan waktu dan pengalaman membuat sebagian besar upaya tercurah pada fungsi kombinasi kartu, sehingga desain visual, audio, dan haptik belum berkembang sejauh itu. Peran teks dalam VR juga perlu ditinjau ulang: informasi yang dirancang untuk bidang datar mungkin lebih tepat disajikan melalui antarmuka pengguna spasial (SUI). Interaksi suara merupakan arah lain yang perlu diteliti untuk pengguna yang dituju.

Proyek ini mengidentifikasi tiga arah penelitian. Pertama, perbandingan dengan papan fisik yang sedang dikembangkan di i3Lab. Penelitian terdahulu melaporkan lebih banyak percakapan ketika peserta memainkan permainan kolaboratif yang sama di lingkungan virtual dibandingkan di lingkungan fisik, sehingga perbandingan kedua platform ini layak diteliti. Kedua, partisipasi beberapa pengguna secara bersamaan: sesuai nama “Codesign”, anak-anak dapat membangun objek bersama di VR. Ketiga, format standar untuk mendeskripsikan objek pintar agar desain dapat dipindahkan antarplatform.

Ringkasnya

Proyek ini menciptakan lingkungan untuk membuat prototipe objek pintar. Tiga jenis kartu SNaP diterjemahkan menjadi unsur pembangun: objek, kondisi pemicu, dan perilakunya. Pemain menghubungkannya melalui gerakan menggenggam, menunjuk, dan melukis. Prototipe yang berfungsi ini mengubah ide tertulis menjadi objek virtual interaktif, dengan perilaku yang direpresentasikan sebagai data yang dapat diteruskan antar-scene.

Takafumi Horiuchi, Paul Cozma-Ivan, Elmira Katsajeva, dan Olivia Ludkiewicz, “Design and Implementation of a Smart Object Prototyping Platform in Virtual Reality for Children with NDD,” Advanced User Interfaces (tahun ajaran 2020–21) Final Exam Project, Politecnico di Milano, Februari 2021.