Pengembangan Peta Interaktif Tiga Dimensi Menggunakan Unreal Engine Ahmad Bangun Reza Pahlevi Jurusan Sistem Informasi Fakultas teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya Email:
[email protected]
Abstrak Perkembangan dalam dunia teknologi visualisasi tiga dimensi (3D) saat ini sudah merupakan bagian dari perkembangan ilmu pengetahuan dan teknologi serta inovasi yang pada saat ini tengah berjalan dengan pesat seiring dengan lajunya zaman. Sudah bukan jamannya lagi kita melihat animasi berbentuk dua dimensi (2D) pada tayangan di media massa dan media elektronik seperti televisi dan internet. Sekarang semua pihak saling berlomba untuk menciptakan suatu karya visual dalam format tiga dimensi yang bentuknya lebih mendekati bentuk aslinya. Hal ini disebabkan oleh kebutuhan manusia akan kemudahan, efisiensi, dan perincian dalam mendapatkan informasi mengenai berbagai hal, namun bentuk tetap ringkas serta berpenampilan menarik. Seperti halnya sebuah peta yang memuat berbagai informasi mengenai suatu tempat. Salah satu bentuk peta yang sedang berkembang saat ini adalah peta tiga dimensi. Peta tiga dimensi ini menyajikan tampilan wilayah Jurusan Teknik Fisika yang interaktif dan akurat sehingga memudahkan pengguna untuk mengetahui bentuk fisik gedung dalam wilayah tersebut dan berinteraksi dengan objek didalamnya. Pengguna juga mendapatkan pengalaman seperti mengunjungi wilayah tersebut secara langsung. Kata kunci: Peta tiga dimensi, 3D game engine, Unreal Engine, Jurusan Teknik Fisika ITS.
1. Pendahuluan Perkembangan teknologi sangat dibutuhkan oleh suatu perusahaan. Perusahaan saling berkompetisi dalam meningkatkan kinerja perusahaan maupun tingkat pelayanannya. Hal ini membuat perusahaan – perusahaan berlomba-lomba untuk menggunakan teknologi terkini. Salah satu dampak dari hal tersebut ialah munculnya permintaan mengenai cara penyajian informasi dalam peta interaktif yang menggunakan visualisasi 3 dimensi, dimana sebelumnya hanya menggunakan teknologi 2 dimensi dalam menyampaikan informasi tersebut.
Dengan terjangkaunya kartu grafis dan besarnya permintaan tentang teknologi grafik, beberapa perusahaan game membuat game engine untuk memudahkan pengembangan pembuatan game, sehingga seseorang bisa mengembangkan aplikasi dengan mudah dan cepat. Game engine adalah kumpulan perangkat lunak untuk melakukan visualisasi dunia 3D secara real-time. Dengan berkembangnya teknologi, beberapa engine bisa didapatkan dengan biaya kecil atau bahkan tanpa biaya sama sekali karena bersifat gratis atau open source. Seseorang yang menggunakan game engine bisa membangun bentuk desain Teknik Fisika bangunan lebih cepat dibandingkan dengan menggunakan alat tiga dimensi biasa [1]. Game Engine 3D tidak hanya digunakan untuk membuat game, game engine ini juga memiliki kemampuan untuk menggambarkan sebuah lingkungan virtual dalam keadaan real-time dan realistis [2]. Salah satu pemanfaatan lain game engine adalah untuk pengembangan museum virtual [3]. Peta 3D dapat dikembangkan berdasarkan lokasi nyata menggunakan Unreal Engine. Unreal Engine adalah sebuah aplikasi open source game engine yang memliki kemampuan untuk membuat lingkungan virtual yang sesuai dengan dunia nyata. Unreal Engine merupakan game engine yang khusus menangani grafik tiga dimensi. Dari beberapa game engine yang sama-sama menangani grafik tiga dimensi, Unreal Engine dapat menangani lebih banyak platform [4]. Sekarang engine ini merupakan engine yang sudah banyak digunakan dalam industri pengembangan game. Game yang sudah dikembangkan dengan engine ini seperti: Unreal Tournament, Deus Ex, Turok, Tom Clancy's Rainbow Six 3: Raven Shield, Tom Clancy's Rainbow Six: Vegas, dan sebagainya. Unreal Engine memiliki beberapa komponen yang dapat berdiri sendiri-sendiri, namun tetap berada dalam kesatuan yang terpusat pada ”core engine” [5]. Sebuah prototipe dari instrumentasi di Unreal Engine yang digunakan oleh Epic Games telah dibuktikan melalui eksperimen dengan Unreal Tournament 2004 untuk secara efektif membantu dalam analisis konten, dan menunjukkan hasil yang menjanjikan untuk masa depan [6].
2. Tinjauan Pustaka 3. Pembahasan Dalam pembangunan aplikasi, digunakan beberapa dasar dari beberapa sumber bacaan.
2.1 Unreal Engine Unreal Engine merupakan salah satu teknologi yang digunakan untuk membangun game. Unreal Engine menggunakan konsep aliran data seperti yang terlihat pada gambar 1. DATA Maps
Textures
Musics
UNREAL Graphics
Sounds
Physics
Gambar 1. Konsep aliran data unreal engine Dari gambar di atas, dapat diketahui bahwa untuk membuat suatu peta 3D dibutuhkan sumber daya yang nantinya diolah menggunakan Unreal Engine. Paket aplikasi Unreal Engine, yaitu Unreal Development Kit (UDK) menyediakan editor meliputi, 1) Unreal Frontend, melakukan packaging dan eksekusi program, 2) Unreal SpeedTree Compiler dan Unreal SpeedTree Modeler, membuat objek-objek 3D berbentuk pohon dan tanaman, 3) Unreal Editor, membuat level map dan membangun geometri, 4) UnrealKismet, membentuk logika penyajian interaksi dan informasi dalam peta 3D, 5) Unreal Matinee, membuat pergerakan dan perubahan properti actor, 6) Unreal StaticMesh, mengatur pemberian material dan collision dari suatu mesh/objek, 7) Unreal Material, membuat tekstur objek serta efeknya, 8) Unreal Cascade, membuat gambar efek peta 3D, 9) Unreal AnimSet dan Unreal AnimTree, mengatur aktor dari aplikasi, 10) Unreal SoundCue, membuat efek suara.
2.2 Aplikasi Pendukung Unreal Engine Dalam penggunaan aplikasi ini, penyediaan sumber daya dalam pembuatan aplikasi dilakukan dengan menggunakan aplikasi pendukung di luar Unreal Engine, yaitu 1) Adobe Photoshop CS4 dan xNormal, untuk mengolah gambar, 2) Adobe Flash CS5 Professional dan extension Scaleform, untuk mengolah informasi dan menu aplikasi, 3) AutoCAD Map 3D, untuk desain peta 2D, 4) Wavosaur, untuk mengolah suara, 5) Autodesk 3s Max, untuk membuat objek-objek dalam bentuk 3D, 6) Adobe After Effect, untuk membuat animasi movie di awal aplikasi, 7) RAD Video Tools, untuk melakukan kompresi video.
Pembangunan aplikasi dilakukan dengan menggunakan tools Unreal Engine, khususnya Unreal Engine versi 3 edisi September 2010, Unreal Development Kit, yang selanjutnya disebut UDK. Dalam pembangunan aplikasi ini dilakukan beberapa tahapan, yaitu: Standardisasi pengerjaan, membuat standar perbandingan ukuran antara ukuran nyata dengan ukuran yang akan dibuat dalam peta 3D. Survey lokasi dan pengambilan data awal, memperoleh foto-foto dan data dari objek yang akan dibuat dalam aplikasi. Desain sistem, membuat alur yang mungkin terjadi dalam aplikasi menggunakan tools Unified Modelling Language (UML), khususnya dengan menggunakan metode Use Case Driven Object. Desain peta, membuat peta 2D dari objek penelitian yang dibuat dengan menggunakan Microsoft Visio. Pembuatan aplikasi, memiliki beberapa tahapan di dalamnya, • Pembangunan peta 3D (geometri) • Pembuatan dan peletakan objek • Penambahan interaksi • Pengaturan pencahayaan • Penambahan suara Integrasi aplikasi. Pengujian aplikasi.
3.1. Standardisasi Pengerjaan Standardisasi bertujuan untuk membuat peta 3D ITS Surabaya dengan standar modul aplikasi yang sama pada setiap modul peta 3D ITS. Yang distandarkan antara lain adalah sebagai berikut: Skala ukuran sebenarnya dengan peta yang dibuat adalah 1 meter pada ukuran sebenarnya sama dengan 64 unit dalam UDK, Pembulatan ukuran dibulatkan ke bawah, UDK yang digunakan adalah UDK versi September 2010, Tampilan langit yang sama Peta interaktif 3D ITS Surabaya dimulai dari pembangunan area peta per modul, kemudian diintegrasi dalam satu aplikasi peta Interaktif 3D ITS. Sedangkan untuk pengerjaan masing-masing modul dari peta interaktif 3D ITS Surabaya, metode yang digunakan adalah top-down di mana setiap modul dilakukan dengan membangun keseluruhan gedung dan lokasi kemudian dibuat objek-objek dan detail-detail di dalamnya.
3.2. Survey Lokasi dan Pengambilan Data Awal
3.5.1. Pembangunan Peta 3D
Pengambilan data berbentuk gambar atau video atau informasi yang berkaitan tentang ruangan atau objek yang akan dibuat dalam aplikasi peta 3D.
Pembuatan Level Map dimulai dengan membuat geometri. Geometri pada UDK berfungsi untuk membentuk model tiga dimensi dari peta, yang mencakup bangunan dan semua permukaan bangunan peta. Gambar 3 merupakan hasil pembuatan geometri dalam UDK.
3.3. Desain Sistem Tahapan ini menghasilkan 1) GUI Storyboard yang digunakan sebagai acuan untuk jalannya aplikasi peta 3D dilihat dari desain tampilannya, 2) Domain model yang menunjukkan objek-objek yang digunakan dalam pembangunan aplikasi, 3) Diagram dan deskripsi use case yang menunjukkan alur yang mungkin terjadi ketika menggunakan aplikasi, 4) Diagram sequence yang menunjukkan jalannya aplikasi dilihat dari sisi aplikasi, 5) Test case merupakan rancangan yang digunakan dalam tahapan pengujian aplikasi dari sisi fungsional.
3.4. Desain Peta Tahapan ini menghasilkan peta dari objek penelitian dalam bentuk 2D. Peta ini digunakan sebagai dasar dalam pembuatan aplikasi peta interaktif 3D. Desain yang pertama adalah desain peta 2D yang digunakan sebagai dasar pembuatan menu peta 2D aplikasi. Gambar 2 menunjukkan hasil peta 2D.
Gambar 3. Pembuatan geometri bangunan Setelah melakukan pembuatan geometri bangunan, dilakukan pembuatan dan pemasangan material. Material dibuat dengan menggunakan Unreal Material Editor di mana sumber daya dari pembuatan material adalah berupa texture, gambar 2D. Material memberikan corak permukaan yang mendekati nyata untuk suatu objek. Sumber daya yang juga dapat dibuat dalam UDK adalah SpeedTree, FluidSurface dan Terrain. SpeedTree diletakkan sebagai objek tanaman, FluidSurface diletakkan sebagai objek permukaan air, sedangkan Terrain diletakkan sebagai objek permukaan halaman. Penggunaan kedua komponen ini memberikan efisiensi besarnya kapasitas dari pembuatan objek yang sama untuk area yang luas. 3.5.2. Pembuatan dan Peletakan Objek
Gambar 2. Desain peta dua dimensi lantai 1 Jurusan Teknik Fisika ITS Surabaya Desain yang selanjutnya dilakukan adalah desain informasi di mana dilakukan penentuan bentuk-bentuk informasi yang ditampilkan dalam aplikasi. Selain kedua desain di atas, dilakukan desain interaksi yang memberikan rancangan tentang interaksi-interaksi yang akan dibuat.
3.5. Pembuatan Aplikasi Hasil dari tahapan sebelumnya digunakan dalam tahapan pembuatan aplikasi ini.
Selain pembuatan dinding-dinding bangunan menggunakan brush, dilakukan pembuatan dan peletakan objek dari ruangan-ruangan tersebut. Pembuatan objek 3D atau mesh dilakukan menggunakan Autodesk 3D Studio Max kemudian diekspor dalam 3 pilihan ekstensi. Tabel 1 menunjukkan perbedaan dari masing-masing ekstensi. Tabel 1. Ekstensi Ekspor Objek dari Autodesk 3D Studio Max Format .ASE
.FBX
Keterangan Format ini mengekspor objek yang hanya dapat diberi 1 material dalam Static Mesh Editor dalam UDK Format ini mengekspor objek yang dapat diberi banyak material dalam Static Mesh Editor dalam UDK. Namun, terdapat
.DAE
hambatan yang dapat ditemui dalam format ini, yaitu tidak sempurnanya atau rusaknya beberapa sisi objek. Sebelum proses pengeksporan, tidak perlu dilakukan penggabungan bagian-bagian dari objek yang akan diekpor. Hal ini dikarenakan bagian-bagian terpisah tersebut dapat disatukan saat proses impor ke dalam UDK. Format ini mengekspor objek yang dapat diberi banyak material dalam Static Mesh Editor dalam UDK. Sebelum mengekspor objek, dilakukan penggabungan bagianbagian dari objek tersebut. Dalam format ini, UDK tidak memiliki fitur untuk menggabungkan bagian-bagian objek menjadi satu kesatuan.
Setelah dilakukan proses ekspor, objek-objek hasil proses tersebut dimasukkan ke dalam aset UDK melalui Content Browser yang ada dalam Back End Editor. Dengan menggunakan Unreal StaticMesh Editor, objekobjek yang dimasukkan diatur material pembungkus objek tersebut serta collision (daya tabrak/kepadatan) dari objek tersebut.
Gambar 3. Desain objek 3D Penambahan menu peta 2D Menu Peta 2D merupakan tampilan menu animasi flash untuk tiga fungsi yang dapat digunakan oleh pengguna. Tiga fungsi tersebut yaitu mengetahui posisi aktor, teleportasi ke suatu tempat dan menunjukkan arah menuju suatu tempat. Dalam menu tersebut terdapat icon bintang. Jika icon tersebut dipilih dan mouse kiri ditekan, akan muncul dialog untuk fungsi teleportasi dan penunjuk arah seperti terlihat pada Gambar 4.
3.5.3. Penambahan Interaksi Bagian penting dari pembuatan aplikasi ini adalah tahapan pemberian interaksi. Pemberian interaksi ini termasuk pemberian informasi dari setiap objek yang dapat diinteraksikan. Penandaan interaksi objek Untuk mengenali objek yang dapat diinteraksikan, perlu diberikan penanda. Penanda yang digunakan adalah dengan Actor ParticleSystem yang dibuat dengan Unreal Cascade. Penambahan layar informasi Layar informasi adalah interaksi tampilan animasi flash yang memuat informasi suatu tempat. Layar informasi muncul setiap aktor melewati tempattempat penting yang perlu diketahui oleh pengguna, misalnya ruang seminar, ruang ketua jurusan atau ruang dekan fakultas. Tempat-tempat penting ini dapat dilihat oleh pengguna melalui Menu Peta 2D. Penambahan informasi objek Interaksi informasi objek merupakan interaksi dengan gabungan antara tampilan animasi flash dan Matinee yang diatur melalui tampilan UnrealKismet. Terdapat berbagai interaksi informasi objek seperti menyalakan lampu, memadamkan lampu, membuka pintu, menutup pintu, simulasi maket, peminjaman buku, dan lainnya.
Gambar 4. Desain Interaksi Dari dialog tersebut, jika pengguna memilih tombol “Masuk ke dalam ruangan”, aktor akan dikirimkan ke dalam ruangan tersebut. Sedangkan saat pengguna memilih tombol “Tunjukkan arah menuju ruangan” akan keluar animasi flash untuk menunjukan letak ruangan tersebut seperti terlihat pada Gambar 5.
Gambar 5. Penunjuk Arah 3.5.4. Pengaturan Pencahayaan Pencahayaan yang digunakan dibagi menjadi 2, yaitu pengaturan pencahayaan alam (matahari) dan pengaturan pencahayaan ruangan. Untuk pencahayaan alam, digunakan Actor DominantDirectionalLight yang memberikan efek pencahayaan matahari untuk
keseluruhan lokasi peta 3D. Sedangkan untuk pencahayaan ruangan, digunakan Actor SpotLight yang memberikan efek pencahayaan untuk ruangan serta aktor PointLightTogglelable yang dapat dihidupkan dan dimatikan. 3.5.5. Penambahan Suara
Pengaturan lain yang dilakukan adalah penambahan suara untuk objek-objek yang dapat diinteraksikan. Misalnya, pintu atau mesin. Pembuatan efek suara ini dilakukan menggunakan Unreal SoundCue Editor kemudian digunakan dalam UnrealKismet ataupun Unreal Matinee.
3.6. Integrasi Aplikasi Tahapan integrasi aplikasi dari semua modul peta meliputi beberapa bagian, yaitu: Standardisasi nama peta Unreal memiliki beberapa pengaturan peta yang berbeda beda. Pengaturan yang dimaksud seperti navigasi dan actor yang digunakan. Agar semua modul peta dapat dipanggil sesuai pengaturan aplikasi peta 3D ITS Surabaya, maka dilakukan standardisasi nama peta, yaitu INI3D-
.udk. Selain untuk pengaturan, standarisasi nama peta juga untuk mempermudah proses integrasi. Pembuatan aktor UDK telah memberikan aktor default aplikasi berupa robot. Untuk menyesuaikan dengan pembuatan peta 3D dari ITS Surabaya, dilakukan perubahan aktor dengan cara membuat SkeletalMesh serta gerakannya. SkeletalMesh dan gerakan-gerakan yang dibuat diimpor ke dalam UDK melalui Content Browser. Pengaturan material dan SkeletalMesh dari aktor dilakukan dalam Unreal AnimSet Editor. Sedangkan untuk penyusunan pergerakan aktor tersebut, digunakan Unreal AnimTree. Konfigurasi aplikasi Pengaturan-pengaturan aplikasi ada yang bersifat hardcode, di mana dilakukan pengubahan di bagian konfigurasi default UDK. Konfigurasi default UDK berada pada folder _root/UDKGame/config. Konfigurasi yang diatur salah satunya adalah navigasi. Konfigurasi lain yang dilakukan adalah penggunaan aktor default yang digunakan. Konfigurasi ini dilakukan dengan mengubah file UTFamilyInfo_Ini3D_Female.uc dan UTPawn.uc Selain mengganti aktor default, dilakukan juga pengaturan kecepatan gerak aktor. Pengaturan World Properties
Setelah pengubahan konfigurasi telah dilakukan, untuk menggunakan perubahan tersebut, dilakukan pengubahan WorldInfo di bagian World Properties. Di bagian ini, dipilih konfigurasi INI3D sehingga aplikasi berjalan sesuai dengan pengaturan yang dilakukan. Pembuatan menu aplikasi Menu aplikasi ini digunakan sebagai penyatu semua modul peta. Jadi, modul-modul peta yang diintegrasikan dapat diakses melalui menu ini. Menu aplikasi dibuat dengan menggunakan Adobe Flash CS4 yang dihubungkan dengan aplikasi peta 3D ITS Surabaya. Gambar 6 merupakan tampilan antarmuka dari menu utama untuk aplikasi ini. Penamaan modul yang bisa dipanggil ditentukan pada menu ini.
Gambar 6. Splash Screen Penggantian splash screen dan movie Sama halnya dengan produk-produk yang diproduksi oleh perusahaan, aplikasi ini membutuhkan splash screen dan movie yang digunakan dalam aplikasi ketika pertama kali membuka .EXE ataupun saat memproses peta yang akan ditampilkan. Penggantian splash screen dilakukan dengan syarat tidak menghilangkan logo UDK dari splash screen. Integrasi modul peta Modul-modul peta yang merupakan lokasi-lokasi yang berada di ITS, digabungkan dengan metode Loading. Metode ini baik digunakan untuk modulmodul peta yang berukuran besar sehingga performa (frame rate per second) dari aplikasi tidak memburuk. Pada dasarnya terdapat metode lain, yaitu Streaming. Metode ini memiliki kelebihan tampilan yang lebih terlihat nyata yang dapat melihat suatu lokasi peta (walaupun berbeda modul) dalam suatu sudut pandang.
3.7 Pengujian Aplikasi Tahapan ini dilakukan untuk menguji kelengkapan dan jalannya fungsi-fungsi aplikasi. Uji coba fungsional aplikasi untuk menguji setiap fungsi yang sudah dirancang Selain itu, dilakukan pengujian performa aplikasi di mana untuk aplikasi peta 3D, performa aplikasi dapat dilihat dari frame rate yang diproses setiap milidetiknya dan penggunaan memori. Selain itu, pengujian ini menghasilkan spesifikasi-spesifikasi dari komputer yang dapat menjalankan aplikasi ini.
6. Kesimpulan Berdasarkan hasil pengerjaan yang telah dilakukan, maka dapat diambil beberapa kesimpulan seperti di bawah ini. 1. Unreal Engine dengan paket tools-nya yaitu Unreal Development Kit (UDK) dan dengan framework-nya dapat dengan mudah diintegrasikan dengan aplikasi animasi flash Adobe Flash yang mampu membuat tampilan informasi dan interaktif untuk membangun peta 3D ITS Surabaya. 2. Unreal Engine mampu melakukan kompresi ukuran file package hingga 50%. Aplikasi peta yang memiliki total ukuran file package yang tinggi dapat menjadi paket instalasi yang jauh lebih rendah. 3. Pembangunan peta 3D ITS Surabaya memerlukan ketelitian koordinat pembangunan geometri bangunan dengan keistimewaan kemiringan gedung 45 derajat. Pembangunan geometri gedung tersebut dilakukan pada koordinat secara normal, namun ketika pembangunan geometri selesai, geometri dapat diputar sesuai kemiringan gedung tersebut. 4. Fitur minimap untuk menunjukkan lokasi aktor dan penunjuk arah yang ada pada UDK belum dapat dimanfaatkan karena tingkat kesulitan pada editing UnrealScript sehingga menggunakan animasi flash dan kismet. 5. Pemilihan metode penggabungan antar peta yang terdapat pada Unreal Engine dilakukan dengan mempertimbangkan ukuran masing-masing peta yang dapat mempengaruhi tingkat kecepatan/kemudahan pengguna dalam menjalankan aplikasi. 6. Dari hasil uji coba fungsional, aplikasi dapat berjalan dengan baik sesuai dengan kebutuhan fungsional aplikasi. Sedangkan hasil uji coba performa menunjukkan performa yang baik. 7. Pada fitur penunjuk arah, pemilihan tangga terdekat dari aktor untuk penggunaan penunjuk arah dengan lantai asal dan lantai tujuan yang berbeda belum dapat dilakukan. Penentuan tangga masih ditujukan pada tangga tertentu. Integrasi peta 3D dapat dilakukan untuk peta 3D Jurusan Teknik Fisika ITS dan peta 3D lain yang menggunakan standar yang sama.
7. Daftar Pustaka [1] Shiratuddin, M. F. & Fletcher, D. (2007). Utilizing 3D Games Development Tool For Architectural Design in a Virtual Environment. Makalah disajikan dalam 7th International Conference on Construction Applications of Virtual Reality, Oktober 2007.
[2] Shiratuddin, M. F. & Thabet, W. (2002). Virtual Office Walkthrough Using a 3D Game Engine. Makalah disajikan dalam International Journal of Design Computing. [3] Lepouras, G., & Vassilakis, C. (2004). Virtual Museums for all: Employing Game Technology for Edutainment., Virtual reality., 96-106. [4] Fritsch, D., & Kada, M. (2004). Visualisation Using Game Engines. Makalah disajikan dalam ISPRS commission V. [5] Busby, J., et al. (2004). Mastering Unreal Technology. Volume I: Introduction to Level Design with Unreal Engine 3. Indianapolis: Sams Publishing. [6] Bullen, T., Katchabaw, M. J. & Dyer-Witheford, N. (2006). Instrumentation of Video Game Software to Support Automated Content Analyses. Makalah disajikan dalam 2006 GameOn North America Conference, Monterey, California, September 2006, 34-38. Diambil tanggal 25 Oktober 2010, tersedia di http://www.csd.uwo.ca/~katchab/pubs/index.html