:::: MENU ::::

Game Engine, Microcontroller, and Developing Technology.

  • Unreal Engine 4

  • Arduino

  • Customizable fonts.

Wednesday, July 25, 2018


Unreal Engine 4 merupakan sebuah game engine yang sangat terkenal dengan hasil render yang memukau. Menjadi salah satu game engine yang banyak digunakan membuat Unreal Engine 4 terus dikembangkan oleh Epic Games selaku pengembang Unreal Engine 4. Hasil render yang sangat baik dari Unreal Engine 4 menjadikan game engine ini pilihan untuk pengembangan Simulator Excavator yang kami kembangkan.
Excavator merupakan salah satu jenis alat berat yang digunakan untuk pekerjaan pengerukan dan pengangkutan material. Harganya yang terbilang mahal menjadikan Excavator salah satu investasi dalam proyek konstruksi dan pertambangan. Excavator dikemudikan oleh satu operator di ruang kabin Excavator. Untuk mengemudikan Excavator, operator diharuskan untuk mengikuti pelatihan agar dapat mengemudikan Excavator dengan benar dan efisien.

Target Proyek

Mengembangkan software simulasi Excavator dengan biaya yang minim yang dilengkapi dengan controller yang mirip dengan sesungguhnya sebagai media pelatihan dan edukasi.

Peralatan

Software:
  • Unreal Engine 4
  • Blender
  • x360ce
  • Microsoft visual studio
  • Arduino IDE

Hardware:
  • Laptop
  • Arduino Uno
  • Push Button
  • Handle joystick

Konsep Simulasi Excavator

a. Konsep sistem yang dirancang

Gambar 1. Flow alur kerja sistem simulasi excavator
Sistem simulasi Excavator dirancang sedemikian rupa mirip dengan mengemudikan excavator yang sesungguhnya, sehingga diperlukan mekanisme yang mana ketika controller digerakan maka Excavator pada software simulasi akan ikut bergerak. Berdasarkan software yang digunakan yaitu Unreal Engine 4 yang notabene adalah sebuah game engine, maka diperlukan sebuah controller gamepad yang dapat dikembangkan untuk memenuhi kebutuhan controller pada simulasi Excavator. Melalui pencarian yang panjang, kami menemukan penelitian yang di kembangkan oleh Alan Chatham mengenai Arduino UNO menjadi sebuah controller gamepad untuk PS3 yang diberi nama UnoJoy!. Gambar 1 merupakan cara kerja Arduino UNO yang telah disulap dengan UnoJoy menjadi sebuah controller gamepad untuk menggerakan Excavator pada software simulasi Excavator.

b. Konsep controller yang akan dikembangkan


Gambar 2. Controller gamepad yang dikembangkan dari UnoJoy!
UnoJoy yang dibuat oleh Alan Chatham, diterapkan pada pengembangan controller gamepad untuk software simulasi Excavator. Gambar 2 merupakan Controller gamepad yang dibuat untuk menjalankan Excavator pada software simulasi.

c. Konsep Excavator yang dibangun

Gambar 3. Model Upperstructure Excavator yang dilengkapi Armature pada blender
Model Excavator dibangun menggunakan software blender, dari beberapa komponen yang disatukan dan diberikan Armature / Skeletal Mesh sesuai dengan pergerakan masing-masing komponen. Gambar 3 merupakan model Upperstructure Excavator yang telah lengkapi Armature.

Gambar 4. Model Excavator pada Unreal Engine 4
Bagian-bagian model Excavator dirakit pada Unreal Engine 4 dalam satu pawn blueprint seperti pada gambar 4. Dalam pawn blueprint tersebut akan disematkan program-program yang akan menggerakan Excavator tersebut.

Gambar 5. Komunikasi blueprint yang diterapkan untuk mengerakkan Excavator
Unreal Engine 4 menggunakan Blueprint Visual Scripting akan membutuhkan komunikasi pada setiap aset yang tereferensikan. Dalam hal ini model Upperstructure Excavator pada pawn blueprint akan secara otomatis tereferensikan dan perlu dibentuk program komunikasi dengan asetnya seperti pada gambar 5.

Tabel  1. Hasil gerakan pada kombinasi input controller
Travel movement pada Excavator memiliki keunikan tersendiri. Untuk menerapkan pada controller, perlu diketahui gerakan travel movement yang dapat dilakukan dan pedal controller apa yang digunakan seperti pada tabel 1.

Konsep simulasi yang diterapkan

Gambar 6. Simulasi Excavator
Simulasi Excavator akan berjalan selayaknya game pada umumnya. Suatu tantangan tentunya akan memberikan pengalaman menarik dalam mengoperasikan Excavator. Penerapan Standar Kompetensi Kerja Nasional Indonesia (SKKNI) pada simulasi Excavator akan memberikan pengetahuan serta pengalaman untuk meningkatkan keahlian operator. Salah satu poin pekerjaan operator Excavator pada SKKNI adalah mengangkut galian ke bak seperti pada gambar 6.


Pembuatan Software Simulasi Excavator dan Controller-nya

a. Pembuatan controller simulasi Excavator

UnoJoy dapat didownload secara gratis dengan klik link di atas.

Panduan pemasangan UnoJoy pada Arduino UNO tertulis jelas pada petunjuk. UnoJoy akan mengubah Microcontroller Arduino UNO menjadi sebuah Joystick PS3. Pada setiap Pin PWM dan Analog akan digunakan sebagai Input Controller. Pin tersebut akan dihubungkan pada komponen push button dan joystick.

b. Pembuatan software simulasi Excavator

Gambar 7. Proses pembuatan model Upperstructure Excavator
Gambar 8. Proses pembuatan model Undercarriage Excavator
Gambar 7 dan gambar 8 merupakan proses dalam pembuatan model Excavator menggunakan blender dan diimport ke Unreal Engine 4.

Gambar 9. Komunikasi Pawn Blueprint Excavator dan Assets Upperstructure
Komunikasi blueprint perlu dirangkai untuk menggerakan komponen Upperstructure yang menerapkan Skeletal Mesh. Gambar 9 adalah komunikasi antara Pawn Blueprint Excavator dan Assets Upperstructure.

Gambar 10. Komunikasi Pawn Blueprint Excavator dan Track Material
Gambar 11. Pawn Blueprint Excavator untuk travel movement
Gambar 10 dan gambar 11 merupakan blueprint yang diterapkan untuk memberi animasi gerakan track dan mendefinisikan gerakan berdasarkan input controller yang masuk. Travel movement diterapkan melalui fungsi AddActorLocalOffset dan AddActorLocalRotation tergantung dari gerakan yang didefinisikan.

Gambar 12. Skema alur misi dalam suatu stage
Simulasi Excavator berjalan dalam stage yang terdapat beberapa misi. Misi tersebut harus diselesaikan secara bertahap untuk melanjutkan ke stage berikutnya seperti yang digambarkan pada gambar 12.

Gambar 13. Skema kegagalan pada stage
Untuk meningkatkan tantangan dan melatih kemampuan mengoperasikan Excavator, kegagalan misi diterapkan. Konsekuensi kegagalan misi akan berimbas pada stage yang diulang ke misi pertama seperti yang digambarkan pada gambar 13.

Pemasangan Controller dan Mapping Input Controller

Software simulasi excavator dirancang mengikuti standar yang telah ada. Salah satu standar yang diikuti adalah standar pola kontrol ISO pada input controller. Untuk menempatkan posisi joystick button pada perangkat input control dengan input mapping pada Unreal Engine 4, perlu dilakukan pengumpulan data melalui pengujian sederhana. Urutan proses pengujian dijelaskan sebagai berikut.

a. Mencocokkan Controller Dengan Gamepad XBOX 360 Menggunakan x360ce

Gambar 14. x360ce
Tujuannya adalah mengetahui penempatan posisi input mapping pada controller menggunakan software x360ce. Software tersebut dapat membuat controller berbasis generic USB joystick berubah fungsi menjadi sebuah gamepad XBOX 360 controller. Hal ini juga menjadi keuntungan tersendiri karena gamepad XBOX 360 controller memiliki dukungan penuh terhadap Unreal Engine 4, sehingga input mapping dapat diposisikan sesuai dengan penempatannya dan controller dapat bekerja secara maksimal. Hasil input mapping pada controller dapat dilihat pada gambar 14.

b. Melakukan Pengujian Input Mapping Pada Unreal Engine 4

Gambar 15. Third Person di Unreal Engine 4
Setelah input mapping telah diposisikan menggunakan x360ce dan disimpan. Pada folder x360ce.exe berada, terdapat tiga file yang terdapat pada folder tersebut yaitu x360ce.exe, x360.ini, dan xinput1_3.dll. Letakkan ketiga file tersebut ke dalam direktori Unreal Editor (secara default berada di C:\Program Files\Epic Games\UE_4.17\Engine\Binaries\Win64). Selanjutnya jalankan Unreal Engine 4 dan buat sebuah proyek baru untuk melakukan pengujian. Proyek baru diharapkan menggunakan tamplate yang tersedia agar dapat mempermudah proses pengujian. Dalam pengujian ini, tamplate yang digunakan adalah third person dengan starter content seperti pada gambar 15.

Gambar 16. Dropdown menu dari Settings
Selanjutnya adalah melakukan pengujian dengan mendaftarkan input pada proyek. Input controller akan terdeteksi oleh Unreal Engine 4 sebagai gamepad Xbox 360. Maka pendaftaran input dilakukan dengan cara, klik Settings pada toolbar, lalu dropdown menu akan muncul dan pilih project settings seperti pada Gambar 16.

Gambar 17. Engine- Input pada Project Settings
Di project settings terdapat banyak pilihan setting, pilih Engine – Input untuk mendaftarkan input yang akan diuji. Pada Engine – Input terdapat dua jenis input mapping, yaitu action mapping dan axis mapping. Action mapping adalah jenis input yang memiliki dua keadaan yaitu saat ditekan dan saat dilepas. Input jenis ini cocok digunakan untuk controller yang menggunakan push button. Sementara axis mapping adalah jenis input yang memungkinkan input memiliki jangkauan terus menerus. Input jenis ini cocok digunakan untuk controller dengan axis module. Karena controller yang diuji memiliki karakteristik push button, maka action mapping dipilih untuk pengujian ini seperti pada Gambar 17.

Gambar 18. Input Mapping Controller
Pada action mapping dapat ditambahkan input baru dengan mengklik “+” lalu memberi nama input yang diinginkan. Selanjutnya input pada action mapping yang ingin diuji perlu didaftarkan dengan memilih key value pada jenis controller Gamepad seperti pada Gambar 18.

Gambar 19. Level Blueprint
Pengujian dilakukan dengan merangkai blueprint yang diberi perintah input action dan menghasilkan print string bertuliskan “success”. Rangkaian perintah pada blueprint tersebut dirangkai pada Level Blueprint seperti pada gambar 19.

Gambar 20. Blueprint perintah input action
Input action yang telah didaftarkan pada input mapping dapat dimunculkan dalam bentuk Event dengan cara mengklik kanan pada Event Graph di Level Blueprint dan menulis nama input yang didaftarkan pada input mapping. Perintah dirangkai seperti pada Gambar 20.

Tabel 2.  Pengujian Input Controller
Hasil pengujian tersebut akan menemukan posisi input controller dengan key value mapping pada Unreal Engine 4. Hasil pengujian disusun dalam Tabel 2.
==========================================================================

Tulisan ini merupakan gambaran konsep pembuatan simulasi Excavator yang saya buat. Untuk petunjuk lebih detailnya, anda dapat bertanya langsung dikolom komentar atau kontak langsung. Terimakasih telah berkunjung.

0 komentar:

Post a Comment

Back to TOP