Monday, January 25, 2016

Visualisasi Kabin Dengan Menggunakan Unreal Engine

Pendahuluan
Pada tugas akhir Desain Pemodelan Grafik, kelompok kami akan membuat sebuah kabin yang terletak di pinggiran danau. Pemodelan menggunakan Blender, sedangkan rendering, animasi dan penteksturan menggunakan Unreal Engine 4 (Free). Fungsi utama Unreal Engine 4 sebenarnya adalah sebuah Game Engine, memang kualitasnya akan kalah dengan renderer lainnya yang menggunakan lightning realistis. Namun untuk mencapai kualitas yang sama, waktu pengejerjaan yang dibutuhkan Unreal Engine jauh lebih sedikit dibandingkan dengan renderer yang menggunakan lightning realistis, e.g. Blender. Unreal Engine menyediakan material-material, static mesh dan juga environment yang bisa digunakan secara gratis, sehingga meningkatkan produktifitas penggunanya.
Pembuatan kabin ini ditujukan untuk keperluan visualisasi secara interaktif dengan tidak mengorbankan kualitas visual. Visualisasi ini dapat bergerak secara bebas layaknya sebuah game. Dengan adanya sifat interaktif, maka impact dari visualisasi 3D ini akan meningkat dan bisa digunakan untuk berbagai keperluan.

Berikut merupakan referensi kabin yang akan divisualisasikan
Pembahasan
Workflow
Modeling
Modelling dimulai dengan membangun Mesh menggunakan software Blender. Terdapat lima objek yang kelompok kami buat, yaitu bangunan rumah, kasur, dua meja dan dapur. Beberapa bagian dari rumah, yaitu cover rumah dan dua pintunya, memiliki animasi otomatis atau menggunakan tombol keyboard.
Pengecualian untuk rumah, rumah menggunakan Unreal Engine 4 dalam proses modellingnya. Karena asset yang diimport dari Blender tidak bisa diedit lagi di dalam Unreal Engine (sudah berbentuk objek). Dikarenakan rumah merupakan elemen yang paling mungkin dapat berubah-ubah, maka modelling dilakukan di Unreal Engine 4. Memang kapasitas sebagai modeler, Blender memiliki fitur yang jauh lebih bagus dibandingkan Unreal Engine4.
Mengelompokan Material
Pemberian tekstur dan material dilakukan di Unreal Engine 4 dan bukan di Blender, namun pengelompokannya tetap dilakukan di Blender. Hal ini dilakukan karena berbagai material yang sudah tersedia di Unreal Engine 4 sudah memiliki normal dan bump map dan juga sudah support Physical Based Rendering, yang artinya setiap material akan bereaksi terhadap cahaya secara realistis sesuai di dunia nyata.  
Contoh Pengelompokan material. Pemberian material asli akan dilakukan di Unreal Engine.

Export FBX
Setelah selesai menglompokan material selanjutnya adalah export ke format yang dikenali oleh Unreal Engine, salah satunya adalah FBX. Export ke FBX juga harus menggunakan pengaturan yang bersahabat dengan Unreal Engine. Catatan, scaling Blender dengan Unreal Engine berbeda jauh, kita bisa atur scaling pada bagian export maupun import. Kamera dan lightning pada Blender juga tidak digunakan. Berikut merupakan pengaturannya.

Import Asset
Untuk me-import Asset pada Unreal Engine tinggal cukup menekan tombol Import pada Content Browser dan pilih file FBX yang sudah di-export, lalu akan diminta beberapa konfigurasi, biarkan pada default, mungkin hanya bermain pada bagian scaling saja.   

Meletakan Asset
Setelah di-import, maka mesh kita akan tersedia di Content Browser, kita tinggal drag-n-drop untuk menambahkan ke scene.
Memberikan Material
Karena gelas hanya memiliki satu material, maka slot material yang tersedia hanya satu. Material glass sudah tersedia oleh Unreal Engine pada content browser, sehingga kita tinggal drag-n-drop saja.  
Animasi

Rumah ini memiliki tiga animasi, yaitu pada cover dan dua pintu. Cover dan pintu depan diaktifkan dengan keyboard dan pintu yang mengarah ke danau akan aktif secara otomatis jika pemain berada didekat pintu tersebut. Dikarenakan Unreal Engine 4 adalah sebuah game engine,konsep animasinya agak berbeda dibandingakan dengan Blender dll. Implementasi animasi lebih mengarah ke programming. Disini kami menggunakan fitur Blueprint pada Unreal Engine untuk membuat animasi. Berikut merupakan keseluruhan Blueprint animasi.
Contoh pada saat pemain atau kamera mendekati pintu balkon
Pengaturan Lightning
Dikarenakan environment atau lingkungan yang digunakan adalah bawaan dari Unreal Engine, sehingga kami tidak perlu mengubah pengaturan pencahayaan. Pencahayaan yang kita atur adalah pencahayaan interior.
Build Lightning
Dikarenakan Unreal Engine adalah sebuah game engine, mungkin proses renderingnya berbeda dengan software 3D. Unreal Engine mengharuskan untuk me-compile pencahayaan untuk objek yang statis. Proses ini memakan waktu cukup lama pada PC dengan spek lumayan tinggi, sekitar 20-30 menit. Lamanya waktu juga karena faktor environment atau lingkungan juga cukup besar. Jika lightning tidak di compile, efeknya hanya pencahayaannya saja yang buruk.
Setelah proses compile lightning selesai, maka kita dengan bebas dapat bergerak seacara real-time tanpa harus ada proses render lagi.
Penutup
Dengan fitur interaktif, visualisasi menjadi lebih hidup, berikut merupakan videonya (belum versi final)
Daftar Pustaka
Blender to Unreal Engine 4 Importing https://wiki.unrealengine.com/Static_Mesh_from_Blender

Kelompok
Abirafdi Raditya Putra (https://www.abiraf.com)
Andal Julistiawan
Arijal Chairul Rachman
Bimo Satrio (koloronta.boldpot.com koloronta2.blogspot.com)