10
4 Universitas Kristen Petra 2. LANDASAN TEORI 2.1. Unreal Development Kit Unreal Engine adalah game engine yang dikembangkan oleh Epic Games, pertama kali digambarkan pada tahun 1998 adalah permainan first-person shooter. Meskipun pada awalnya dikembangkan untuk jenis first person, tetapi kemudian Unreal Engine telah berhasil digunakan dalam berbagai genre lain, termasuk stealth, MMORPG, dan RPG lainnya. Dengan kode yang ditulis dalam C + +, Unreal Engine memiliki fitur tingkat tinggi dan merupakan alat yang digunakan oleh banyak pengembang game saat ini. Gambar 2.1 Logo UDK Rilis saat ini adalah Unreal Engine 3, yang dirancang untuk Microsoft DirectX 9 (untuk Windows dan Xbox 360), DirectX 10 (untuk Windows Vista) dan DirectX 11 (untuk Windows 7 dan kemudian), OpenGL (untuk OS X, Linux, PlayStation 3, Wii U, dan iOS), Android, Tahap 3D (untuk Adobe flash Player 11 dan kemudian), dan JavaScript / WebGL (untuk HTML5). Unreal Engine memiliki sejarah yang cukup panjang. Hingga sekarang masih dikembangkan dan para developer game sangat menyukai cara penggunaan dalam Unreal Engine sendiri. Beberapa game terkenal yang sudah pernah dibuat

4 2. LANDASAN TEORI 2.1. Unreal Development Kit Unreal

Embed Size (px)

Citation preview

4 Universitas Kristen Petra

2. LANDASAN TEORI

2.1. Unreal Development Kit

Unreal Engine adalah game engine yang dikembangkan oleh Epic Games,

pertama kali digambarkan pada tahun 1998 adalah permainan first-person shooter.

Meskipun pada awalnya dikembangkan untuk jenis first person, tetapi kemudian

Unreal Engine telah berhasil digunakan dalam berbagai genre lain, termasuk

stealth, MMORPG, dan RPG lainnya. Dengan kode yang ditulis dalam C + +,

Unreal Engine memiliki fitur tingkat tinggi dan merupakan alat yang digunakan

oleh banyak pengembang game saat ini.

Gambar 2.1 Logo UDK

Rilis saat ini adalah Unreal Engine 3, yang dirancang untuk Microsoft

DirectX 9 (untuk Windows dan Xbox 360), DirectX 10 (untuk Windows Vista)

dan DirectX 11 (untuk Windows 7 dan kemudian), OpenGL (untuk OS X, Linux,

PlayStation 3, Wii U, dan iOS), Android, Tahap 3D (untuk Adobe flash Player 11

dan kemudian), dan JavaScript / WebGL (untuk HTML5).

Unreal Engine memiliki sejarah yang cukup panjang. Hingga sekarang

masih dikembangkan dan para developer game sangat menyukai cara penggunaan

dalam Unreal Engine sendiri. Beberapa game terkenal yang sudah pernah dibuat

5 Universitas Kristen Petra

menggunakan Unreal Engine di antaranya adalah Deus Ex, Gears of War,

Dungeon Defender, Mass Effect dan masih banyak game lainnya.

Gambar 2.2 Contoh Game DeusX, Dungeon Defender

Unreal Development Kit merupakan engine dalam pembuatan berbagai

hal dalam bentuk tiga dimensi. Dalam engine ini terdapat berbagai fasilitas yang

sudah tersedia dalam pembuatan obyek berbentuk tiga dimensi. Pembuatan 3d

modeling sederhana, misal dalam membuat bentuk kotak maupun bola. Setelah

itu juga adanya texturing yang juga sudah tersedia dalam engine ini. Untuk

pembuatan modeling lebih detail, disarankan untuk membuat terlebih dahulu

melalui program bantuan yaitu 3ds max. Setelah 3d modeling dibuat, dapat

diexport dalam bentuk ASE File dan TGA file. Ini dikarenakan unreal

development kit hanya dapat mengimport beberapa jenis file. Perbedaan pada file

ASE adalah bentuk 3d modeling itu sendiri tanpa adanya texture. Sedangkan jenis

file TGA merupakan potongan kecil dari texture. Ada beberapa tahap dalam

proses import nantinya karena file 3d modeling terpisah dengan texturenya.

Sehingga kita harus menjadikan satu terlebih dahulu. Setelah semua proses

dijalankan, kita bisa menggunakannya hanya dengan drag and drop.

Cara kedua dalam proses import adalah mengimport file fbx, yang telah

kita buat pada program 3dsmax. File fbx ini merupakan file dari modeling itu

sendiri dilengkapi dengan material apa yang digunakan dalam obyek tersebut.

Kemudian pada UDK kita bisa membuka dan memberi texture sendiri berdasar

material yang telah ditentukan.

Dalam penggunaan bahasa pemrogramannya ada dua jenis yaitu kismet

dan unreal script. Ada beberapa perbedaan dari kedua bahasa tersebut. Jenis

6 Universitas Kristen Petra

bahasa kismet lebih pada penggunaan yang simpel, sedangkan unreal lebih pada

bentuk lebih kompleks.

2.1.1. Unreal Script

UnrealScript adalah bahasa scripting dari Unreal Engine dan digunakan

untuk kode permainan authoring dan acara gameplay . Bahasa ini dirancang

dengan sederhana, pemrograman game tingkat tinggi. UnrealScript diprogram

oleh Tim Sweeney, yang juga menciptakan sebuah game sebelumnya bahasa

scripting , ZZT – oop.

Mirip dengan Java ,UnrealScript adalah object-oriented tanpa multiple

inheritance ( kelas semua mewarisi dari kelas Object umum) , dan kelas yang

didefinisikan dalam file individual bernama untuk kelas mereka menentukan.

Tidak seperti Java, UnrealScript bersifat case-sensitive dan tidak memiliki

pembungkus objek untuk tipe primitif. UnrealScript mendukung operator

overloading , tapi tidak overloading metode , kecuali untuk parameter opsional .

Dalam proses memodifikasi permainan Unreal Script tergolong lebih

mudah , UnrealScript membantu memungkinkan pertumbuhan komunitas

modding besar sekitar Unreal . Hal ini sangat ditambahkan ke umur panjang

keseluruhan Unreal dan memberikan insentif untuk pengembangan baru .

Pada awal penggunan Unreal Script, terdapat beberapa setting untuk

mengatur folder yang akan berisi segala script yang akan kita gunakan. Dalam

sebuah folder tersebut, terdapat berbagai script yang pernah kita gunakan pada

pembuatan game script sebelumnya. Keuntungan pada penggunakan unreal script

sendiri ada pada bagian tersebut, semua script yang sudah ada bisa kita gunakan.

Layaknya pada pemrograman java, semua kelas mewarisi object umum. Jadi

semua script yang ada, bisa kita gunakan lagi.

2.1.1.1.Kamera

Pembuatan kamera pada Unreal Engine, mirip seperti pada pembuatan

program 3dimensi lainnya. Pertama kali kita membutuhkan beberapa inputan,

seperti posisi kamera, arah hadap kamera dan sudut pandang kamera tersebut.

Setelah semua itu sudah ada, kita bisa mengakses nya. Dengan mengubah field of

7 Universitas Kristen Petra

view pada kamera apabila terjadi gerakan yang dilakukan user. Perpindahan

kamera dan sudut pandangnya berdasarkan pada obyek player yang kita gerakkan.

2.1.2. Kismet

Kismet merupakan salah satu bentuk programing dalam Unreal Engine.

Kismet lebih bersifat simpel dan tidak perlu banyak penulisan seperti bahasa

Unreal Script. Apabila tidak terlalu membutuhkan program yang kompleks,

kismet merupakan solusi yang tepat. Karena pembuatan kismet sangat simpel dan

cepat. Setiap object yang ada pada map bisa diakses pada kismet. Seperti

contohnya benda tersebut memiliki posisi dan inputan apa yang diberikan user

terhadap obyek tersebut, misal user menyentuh obyek tersebut. Hal ini bisa kita

atur semua dalam kismet.

Gambar 2.3 Contoh bentuk kismet

(Moore, Richard. 2011)

2.2. Modelling and Texturing

Proses ini merupakan tahap awal dalam pembuatan sebuah game. Karena

pada Unreal Engine sudah disediakan tools dalam pembuatan 3d dan beberapa

template, tetapi itu merupakan default yang susah untuk dikembangkan.

Sedangkan dalam pembuatan game sendiri, dibutuhkan berbagai object 3d yang

bisa dibilang kompleks. Sehingga dibutuhkan software pendukung, dalam

pembuatan obyek tersebut.

Ada berbagai macam software pendukung dalam membuat 3d sendiri.

Dalam tugas skripsi kali ini saya menggunakan dua software pendukung, yaitu

8 Universitas Kristen Petra

AutoCad dan 3dsMax. Hal ini dikarenakan, dalam pembuatan virtual reality

diharapkan bentuk dan ukuran pada obyek 3d bisa menyerupai dengan keadaan

aslinya. Setelah melakukan pembacaan beberapa referensi dan melakukan

pengamatan yang dilakukan pada beberapa mahasiswa jurusan interior dan

arsitek. Maka dari itu software AutoCad yang menjawab kebutuhan tersebut.

Karena pada AutoCad itu sendiri bisa membuat obyek 3d dengan sangat detail dan

ukuran yang sama dengan aslinya.

Sedangkan pada program Unreal Engine sendiri, merekomendasikan

penggunakan 3dsMax. Ini dikarenakan tipe file yang mendukung hanya terdapat

pada program 3dsMax. Dalam hal ini 3dsMax sendiri berfungsi sebagai finishing

dalam pembuat obyek, dengan pemberian warna texture dan import file.

2.2.1. AutoCad

AutoCAD adalah aplikasi perangkat lunak untuk 2D dan 3D desain.

AutoCAD sendiri sudah ada sejak 1982 sebagai aplikasi desktop dan sejak tahun

2010 sebagai aplikasi web dan cloud berbasis mobile , saat ini dipasarkan dengan

Autocad 360. Bentuk aplikasi dan startup program dapat dilihat pada Gambar 2.4.

Gambar 2.4 Logo program AutoCad 2013

Dikembangkan dan dipasarkan oleh Autodesk , Inc. Autocad pertama kali

dirilis pada Desember 1982 yang telah dibeli setahun sebelumnya dalam bentuk

aslinya oleh pendiri Autodesk yaitu John Walker. Perangkat lunak ini, saat ini

dipasarkan dalam generasi kedelapan belasnya.

9 Universitas Kristen Petra

Sebagai produk unggulan Autodesk , dengan Maret 1986 Autocad telah

menjadi yang paling banyak ditemui program desain mikro di seluruh dunia,

dengan fungsi-fungsi seperti "polyline" dan "curve fitting". Sebelum pengenalan

AutoCAD , kebanyakan program CAD lain berlari pada komputer mainframe

atau minicomputer , dengan masing-masing operator CAD (user ) bekerja di

sebuah terminal grafis atau workstation.

AutoCAD digunakan di berbagai industri, termasuk arsitek, manajer

proyek dan insinyur. AutoCAD memiliki 750 pusat pelatihan didirikan di seluruh

dunia pada 1994.

2.2.2. 3ds Max

Autodesk 3ds Max, sebelumnya 3D Studio Max, adalah sebuah program

komputer grafis 3D untuk membuat animasi 3D, model, dan gambar. Adanya

perubahan program dan tampilan seperti terlihat pada Gambar 2.5. dikembangkan

dan diproduksi oleh Autodesk Media dan Entertainment. Hal ini pemodelan

kemampuan, arsitektur plugin yang fleksibel dan dapat digunakan pada platform

Microsoft Windows. Hal ini sering digunakan oleh pengembang permainan video,

studio TV komersial banyak dan studio visualisasi arsitektur. Hal ini juga

digunakan untuk efek film dan film pra-visualisasi.

Gambar 2.5 Program 3ds Max 2013

Selain pemodelan dan alat animasi, versi terbaru dari 3ds Max juga fitur

shader (seperti oklusi ambien dan hamburan bawah permukaan), simulasi dinamis,

10 Universitas Kristen Petra

sistem partikel, radiosity, pembuatan peta normal dan rendering, pencahayaan

global, antarmuka pengguna disesuaikan, dan bahasa scripting sendiri.

2.2.3. Unwraping UVW

UVW mapping adalah teknik matematika untuk pemetaan koordinat .

Dalam grafik komputer, teknik ini cocok untuk mengkonversi gambar 2D ( tekstur

) ke objek tiga dimensi dengan topologi tertentu . " UVW " , seperti sistem

koordinat Cartesian standar memiliki tiga dimensi. Dimensi ketiga

memungkinkan peta tekstur untuk membungkus dalam cara yang kompleks ke

permukaan yang tidak teratur . Setiap titik dalam peta UVW sesuai dengan titik

pada permukaan benda seperti terlihat pada Gambar 2.6. Para desainer grafis atau

programmer menghasilkan fungsi matematis tertentu untuk melaksanakan peta,

sehingga titik-titik pada tekstur ditugaskan untuk ( XYZ ) titik pada permukaan

target. Secara umum, semakin teratur poligon terbuka maka semakin mudah bagi

seniman tekstur untuk melukis fitur ke tekstur. Setelah tekstur selesai , semua

yang harus dilakukan adalah untuk membungkus peta UVW kembali ke objek ,

memproyeksikan tekstur dengan cara yang jauh lebih fleksibel dan canggih.

Gambar 2.6 Contoh Unwrapping UVW

11 Universitas Kristen Petra

2.2.4. Import Object and Texture

Dalam proses import, dibagi dua bagian obyek 3d dan texture. Pada UDK

kita akan menambahkan asset baru kita, yang merupakan hasil dari penggabungan

dua file tersebut. Import obyek 3d dalam UDK, masih memerlukan beberapa

pengaturan misal pada texture atau warna pada obyek itu sendiri, hingga collision

yang dimiliki pada obyek itu sendiri. Pemberian texture atau warna pada obyek,

biasanya berdasar material yang sudah kita atur sebelumnya pada program

3dsMax. Sehingga pada obyek sudah muncul beberapa layer bagian seperti pada

Gambar 2.7 yang bisa kita beri texture yang berbeda.

Gambar 2.7 Layer material pada obyek

Collision detection pada UDK, bisa kita lakukan secara otomatis pada

UDK. Terdapat beberapa pilihan seperti 6DOP, 10DOP, 16DOP, dan seterusnya.

Perbedaan dari setiap pilihan tersebut adalah tingkat detail collision pada sebuah

obyek. Semakin tinggi DOP, akan semakin presisi collision pada obyek. Hal ini

juga akan mempengaruhi kinerja sebuah program, karena semakin tinggi DOP

program akan semakin berat.

12 Universitas Kristen Petra

Gambar 2.8 Contoh 6DOP

Gambar 2.9 Contoh 10 DOP

13 Universitas Kristen Petra

Gambar 2.10 Contoh 16 DOP

Ada juga pembentukan collision yang dilakukan dengan program bantuan

yaitu Blender. Software ini dapat membuat collision model sesuai dengan

keinginan user. Sehingga collision yang dibuat lebih bisa presisi dan sesuai

dengan keinginan. Pembuatan collision pada software ini, seperti melakukan

pembuatan obyek 3d secara umum. Perbedaannya hanya pada penamaan yang

diberikan. Pada collision model diberi nama UCX_(nama obyek). Hal ini

bertujuan ketika proses import pada UDK, collision model langsung bisa

terdeteksi dengan baik.

Gambar 2.11 Hasil collision model