LAPORAN AKHIR PENELITIAN DISERTASI DOKTOR
KONTROL POSISI KAMERA VIRTUAL PADA GAME BERBASIS MULTI OBJECTIVE OPTIMIZATION MENGGUNAKAN NON-DOMINATED SORTING GENETIC ALGORITHM II (NSGA II)
Tahun ke-1 dari rencana Satu Tahun
PENGUSUL AHMAD ZAINUL FANANI, S.SI, M.KOM NIDN : 06087101
UNIVERSITAS DIAN NUSWANTORO SEMARANG NOPEMBER 2015
KATA PENGANTAR
Assalamu ‘alaikum Wr. Wb. Segala puji bagi Tuhan YME yang telah memberikan rahmatnya, sehingga pembuatan laporan akhir Hibah Penelitian Disertasi Doktor ini bisa kami selesaikan. Pada kesempatan ini, kami juga mengucapkan terima kasih yang sebesar-besarnya ke beberapa pihak yang telah membantu dan memberikan kontribusi pada penelitian ini. Ucapan terima kasih kami persembahkan kepada: 1. DR. Ir. Edi Noersasongko, M.Kom selaku Rektor Universitas Dian Nuswantoro Semarang. 2. DR. Abdul Syukur, selaku Dekan Fakultas Ilmu Komputer Universitas Dian Nuswantoro Semarang. 3. Prof. Vincent Didiek Wiet Aryanto, Ph.D. selaku Kepala LPPM Universitas Dian Nuswantoro atas motivasi dan dukungannya dalam penelitian ini. 4. Moch. Hariadi, S.T, M.Sc, Ph.D. selaku Promotor dalam Disertasi Program Doktor Institut Teknologi Sepuluh Nopember (ITS) Surabaya yang telah memberikan bimbingan dan arahan dalam riset ini, sehingga laporan akhir penelitian ini bisa terselesaikan dengan baik. 5. Dr. Supeno Mardi Susiki Nugroho, ST., MT. selaku Co-Promotor dalam Disertasi Program Doktor Institut Teknologi Sepuluh Nopember (ITS) Surabaya yang telah memberikan bimbingan dan masukan yang sangat berharga dalam penelitian ini. Semoga laporan akhir bisa menjadi awal untuk menyelesaikan hibah penelitian ini dan dapat bermanfaat khusus untuk menyelesaikan studi di Program Doktor Pasca Sarjana Institut Teknologi Sepuluh Nopember (ITS) Surabaya. Wassalamu ‘alaikum Wr. Wb. Semarang, 5 Nopember 2015
Ahmad Zainul Fanani iii
DAFTAR ISI
HALAMAN PENGESAHAN ................................................................................ II KATA PENGANTAR ............................................................................................ III DAFTAR ISI ........................................................................................................... VI ABSTRAK .............................................................................................................. VI BAB I : PENDAHULUAN........................................................................................1 1.1 Latar Belakang .................................................................................................1 1.2 Rumusan Masalah ............................................................................................5 BAB II : TINJAUAN PUSTAKA ............................................................................6 2.1 Penelitian yang Relevan ...................................................................................6 2.2 Game ................................................................................................................7 2.3 Kamera .............................................................................................................8 2.3.1 Camera Shot .....................................................................................................8 2.3.2 Camera Angle...................................................................................................9 2.3.3 Camera Movement .........................................................................................10 2.4 Optimasi .........................................................................................................11 2.5 Kamera Virtual ...............................................................................................13 2.6 Studi Pendahuluan dan Hasil Sementara........................................................16 BAB III : TUJUAN DAN MANFAAT PENELITIAN ........................................18 3.1 Tujuan Penelitian ...........................................................................................18 3.1 Manfaat Penelitian .........................................................................................18 BAB IV : METODE PENELITIAN ......................................................................20 4.1 Road Map Penelitian ......................................................................................20 4.2 Tahapan Penelitian .........................................................................................21 4.2 Gambaran Umum Sistem Yang Dibuat .........................................................22 BAB V : HASIL YANG DICAPAI .......................................................................24 5.1
Pencapaian Luaran .........................................................................................24
iv
5.1.1 Pengumpulan Data .....................................................................................24 5.1.2 Metode Yang Diusulkan ............................................................................25 5.1.3 Rancangan Kamera ....................................................................................26 5.1.3.1 Membuat Populasi ............................................................................27 5.1.3.2 Cross-Over Kamera .........................................................................28 5.1.3.3 Mutasi Kamera ................................................................................28 5.1.4 Rancangan Real-Time Rendering .............................................................30 5.1.5 Eksperimen ................................................................................................30 5.1.6 Implementasi ............................................................................................31 5.1.7 Evaluasi .....................................................................................................31 BAB VI : RENCANA TAHAPAN BERIKUTNYA ............................................33 BAB VII : KESIMPULAN DAN SARAN ............................................................35 DAFTAR PUSTAKA ...............................................................................................37
LAMPIRAN 1 : DRAFT PAPER 1 DAN PAPER 2
v
BAB I PENDAHULUAN 1.1. Latar Belakang Penempatan kamera mempunyai peranan yang sangat penting di dalam dunia perfilman dan game. Penempatan kamera berarti menempatkan kamera pada posisi yang tepat sehingga mampu menghasilkan gambar yang dramatis, dan mampu menunjang penyampaian pesan dalam suatu adegan. Film The Avengers merupakan salah satu contoh film yang menggunakan kamera virtual untuk menggabungkan aktor dengan latar belakang lingkungan 3D. Game Grand Theft Auto yang merupakan game 3D mampu menampilkan gambar dengan perspektif yang dramatis melalui kontrol posisi kamera virtualnya (Gambar 1.1).
Gambar 1.1: Kontrol posisi kamera virtual dalam game GTA Penempatan kamera juga menentukan pengaturan posisi kamera (kontrol kamera) yang tepat mampu menghasilkan gambar yang baik secara efektif dan efisien. Oleh karena itu, kontrol kamera menjadi salah satu tren dalam dunia penelitian. Bahkan beberapa tahun terakhir ini, dalam industri perfilman dan game, telah dikembangkan teknik produksi Machinema, yaitu proses pembuatan animasi secara real-time dengan memanipulasi aset dan mesin video game [1]. Machinima merupakan terobosan baru yang di dalamnya terdapat lingkungan virtual 3D dengan karakter, dan kejadian yang dapat dikontrol oleh manusia, skrip, maupun kecerdasan buatan, termasuk di dalamnya peran kamera virtual dan kontrolnya. Dalam komputer grafis, kontrol kamera virtual yang meliputi perhitungan sudut pandang, perencanaan gerak dan editing, merupakan komponen dari berbagai macam aplikasi, termasuk visualisasi data, virtual walk-through [2]. Dengan kata lain,
1
kontrol kamera virtual menentukan posisi kamera virtual yang tepat, sehingga kamera virtual dapat memfilmkan adegan yang tepat, pada waktu yang tepat untuk menghasilkan gambar/animasi yang tepat. Pada prinsipnya, kontrol kamera meliputi pengaturan camera shot, camera angle, dan camera movement. Camera shot menentukan jarak antara kamera dengan objek, yang juga menentukan area yang terlihat dalam satu frame disebut dengan camera shot. Camera shot terdiri dari berbagai point of view, antara lain extreme long shot, longshot, fullshot, midshot, close-up, dan extreme close-up. Pengaturan angle kamera digunakan untuk menentukan posisi penonton sehingga mereka dapat memahami hubungan antara karakter. Angle kamera terdiri atas bird's eye, high angle, eye-level angle, low angle, dan dutch angle. Sedangkan pengaturan pergerakan kamera meliputi crane shot, tracking shot, dolly shot, dan panning. Berbagai penelitian kontrol kamera virtual telah dilakukan. Olivier et al. menentukan permasalahan komposisi visual (seperti penentuan posisi kamera statis) sebagai proses optimasi murni menggunakan algoritma genetika. Satu set besar properti yang digunakan termasuk hubungan eksplisit spasial antara obyek, oklusi parsial dan total, dan ukuran [5]. Fungsi fitness merupakan kombinasi linear-weighted dari pemenuhan properti pengambilan gambar. Tujuh parameter kamera diberikan kode, populasi kamera didistribusikan secara acak dalam area pencarian. Setiap individu dari populasi ini dievaluasi berdasarkan fungsi objektif. 90% populasi tertinggi bertahan sampai generasi beriktunya, dan seleksi dilakukan menggunakan binary tournament. Sisanya yang 10% di generasi ulang dengan menggunakan random crossover dan/atau mutasi. Ini dilakukan untuk kamera dinamis dengan mengoptimalisasi titik-titik kontrol dari spline kuadrat. Penelitian kontrol kamera virtual menggunakan pendekatan Constraint-based dilakukan oleh Jardillier et all [6]. Mereka menggunakan pendekatan Constraintbased dengan path kamera dibuat dengan mendeklarasikan set properti pada objek yang ingin di-shoot, termasuk vantage angle, frame dan ukuran objek. Jardilier et all. mencapai sejumlah peningkatan, termasuk path Constraint camera yang lebih ekspresif, dan teknik propagation yang terintegrasi dalam proses pemecahan. Path kamera dimodelkan sebagai suatu set pergerakan kamera yang primitive, yang secara sekuen saling terkait.
2
Drucker dan Zeltzer menawarkan sistem CAMDROID, yang mengontrol kamera virtual menggunakan Constrained-optimization. Sistem ini menentukan behavior untuk kamera virtual dalam bentuk fungsi tujuan dan Constraint pada parameter kamera. Mereka menggunakan partisi area view point ke dalam beberapa objek dan menggantikan karakteristik topologi dari polyhedron dengan properti seperti occlusion, sudut pandang relatif, jarak dan lokasi objek relatif. Suatu volume semantik kemudian didefinisikan sebagai volume dari kemungkinan lokasi kamera yang meningkatkan sampai shoot yang setara secara kualitas dengan properti dari sinematografi [7]. Penelitian ini difokuskan pada penempatan kamera untuk menentukan posisi kamera virtual yang diimplementasikan dalam game. Pada dasarnya, kamera virtual berfungsi menangkap adegan dalam game. Dalam menangkap adegan, terdapat banyak sekali posisi kamera virtual yang dapat digunakan. Dalam penentuan camera angle, terdapat masing-masing putaran horisontal, vertikal, maupun diagonal sebesar 3600 yang bisa digunakan untuk menentukan posisi kamera virtual. Dalam penentuan camera shot, terdapat banyak nilai jarak antara kamera virtual dengan objek shot yang dapat digunakan untuk menentukan posisi kamera virtual. Dalam penentuan camera movement, terdapat banyak nilai pergerakan, yang meliputi nilai kecepatan, dan percepatan yang dapat digunakan untuk menentukan posisi kamera virtual. Posisi kamera virtual terhadap objek yang diambil, bisa berupa avatar, NPC dan lingkungan game. Objek yang diambil kamera yang hanya focus pergerakan 1 objek, maka fungsi pergerakan kamera berdasarkan pada satu tujuan (single objective). Sedangkan fungsi pergerakan kamera dengan mengambil lebih dari objek (avatar, NPC dan lingkungan sekaligus), maka pergerakannya didasarkan pada multi tujuan (multi objective). Solusi optimal dari suatu permasalahan multi tujuan (multi objective optimizatioan-MOO) merupakan pengaturan posisi kamera virtual dalam menentukan posisi kamera yang tepat. Pengaturan posisi kamera virtual meliputi camera shot, camera angle, dan camera movement. Permasalahan lain, kebutuhan proses real-time pada saat render sangat mempengaruhi jalannya game. Oleh karena itu diperlukan proses optimasi untuk mampu menentukan posisi kamera virtual secara tepat, dengan tetap menjaga proses real-time pada saat game dimainkan.
3
Algoritma Genetika dan dikembangkan ke NSGA II (non-dominated sorting genetic algorithm II) akan digunakan untuk mengukur fitness dari populasi awal kamera virtual dalam menentukan salah satu kamera virtual yang terbaik. Fungsi dan operator dalam algoritma Genetika yang mengimitasi teori proses evolusi alami dinilai tepat untuk menyeleksi kamera virtual terbaik dari populasi kamera yang ada dalam globe-Constraint. Adapun pergerakan globe-Constraint dikontrol secara otomatis berdasarkan MOO, yang merupakan pergerakan avatar atau Non-Player Character (NPC). Modifikasi constraint dengan bentuk globe didasari oleh fleksibilitas path yang membentuk globe, sehingga mampu mendukung penentuan camera angle berdasarkan constraint-nya (bentuk path). Selain itu, constraint dengan bentuk globe mempunyai kemampuan yang efektif dalam mendukung pembuatan path baru berdasarkan titik-titik registrasi kamera virtual (registrasi posisi kandidat kamera virtual). Gambar 1.5 mengilustrasikan pembentukan path baru dalam constraint berdasarkan titik-titik registrasi kandidat kamera virtual. Titik berwarna merah merepresentasikan registrasi posisi kandidat kamera virtual, garis merah merupakan path yang dibentuk berdasarkan titik-titik registrasi tersebut, dan titik biru mengilustrasikan hasil proses optimisasi yang menghasilkan registrasi posisi yang baru.
Gambar 1.2: Kemampuan path dalam globe dalam membentuk path baru Tantangan dalam penelitian ini adalah pengembangan sistem kamera virtual cerdas yaitu kamera virtual beradaptasi secara otomatis terhadap lingkungan 3D, terkait pergerakan avatar atau NPC, sehingga menentukan posisinya sendiri untuk menangkap adegan dalam game, serta kehandalan sistem dalam menentukan posisi kamera virtual secara real-time.
4
1.2. Rumusan Masalah Kontrol posisi kamera virtual meliputi, camera shot, camera angle, camera movement. Dalam kontrol kamera virtual, sistem kamera virtual cerdas harus mampu menentukan posisinya secara otomatis dan beradaptasi dengan lingkungan 3D, serta menangkap pergerakan avatar atau NPC. Perkembangan kontrol kamera virtual dalam aplikasi game saat ini masih kurang cerdas, karena tidak bisa menentukan posisi kamera yang tepat saat pengambilan adegan, dan tidak adaptif terhadap lingkungan, bahkan dalam beberapa kasus masih ditemui kamera yang tidak mampu melewati halangan (collision avoidance). Sistem kamera virtual cerdas menggunakan pendekatan multi objective optimization dengan algoritma genetika. Sistem control kamera harus dapat mengoptimasi posisi kamera virtual secara otomatis untuk menangkap adegan dalam game, dan beradaptasi dengan lingkungannya. Sistem dengan model tersebut juga harus mengoptimasi proses kontrol kamera virtual sehingga dapat bekerja secara realtime.
5
BAB II
TINJAUAN PUSTAKA
2.1. Penelitian yang Relevan Pengaturan kamera merupakan komponen penting dalam menangkap adegan pada game. Teknik control camera dalam virtual word, baik secara otomatis dan semiotomatis telah menjadi perhatian dalam lima belas tahun terakhir seperti penelitian yang dilakukan Burelli[2][8][20][21], Christie[3][18], Wenfeng Hu[9], Edirlei E.[11], Ali M.[19], Ting-Chieh Lin[23], Owen[25]. Dalam teknik semi-automatic camera control, Christie [3] mengusulkan pendekatan, yaitu: reactive approaches. Sedangkan teknik automatic camera control mengusulkan beberapa pendekatan, yaitu: optimization approaches, constraint approaches dan constrained-optimization approaches. Salah satu cara yang bisa dilakukan agar kamera dapat bergerak mengikuti obyek adalah dengan menggunakan Constraint [3][19][25]. Penggunaan constraint seperti jarak, ketinggian dan orientasi relatif terhadap obyek dapat dikenakan pada kamera dan ketika obyek bergerak di scene maka constraint tersebut akan mempengaruhi. Pada pendekatan constraint, penelitian yang dilakukan Owen[25] menghasilkan teknik kontrol kamera untuk Interactive Digital Entertainment (IDE) yang memungkinkan penggunaan real-time dari sistem kamera meskipun hasil komposisinya masih kurang optimal. Kelebihan system ini adalah efisiensi komputasi dan kemampuan untuk memperluas kemampuan kamera dengan cara yang sederhana dan efektif. Sedangkan penelitian Ali M.[19] menggunakan pendekatan constraint untuk mengembangkan system control kamera pada game 3D dengan termasuk kemampuan menangani oklusi ketika kamera mengikuti actor. Pada pendekatan constrained-optimization, selain Christie [3][18] juga dikembangkan
oleh
Bureli
[2][8][20][21].
Bureli
dalam
penelitian
[8],
mengkombinasikan pecarian local untuk dioptimasi menggunakan metode artificial potential field (APF) dengan evolutionary algorithm (EA) yaitu genetic algorithm untuk mengoptimasi globalnya. Kemudian Bureli mengembangkan dalam penelitian selanjutnya [20], membuat control kamera virtual dalam game yang adaptive dengan
6
menggunakan algoritma artificial neural network (ANN) untuk memprediksi behavior dalam game. Permasalahan dalam control kamera tidak hanya berhubungan mendeteksi objek yang bergerak saja (berhubungan dengan single objective optimization), tetapi juga adanya oklusi yang terdapat pada behavior seperti objek yang terhalang oleh tembok dan oklusi dalam bentuk object bergerak lainnya seperti NPC atau avatar lainnya (berhungan dengan multi objective optimization). Penelitian yang terkait dengan penanganan oklusi diantaranya adalah adalah Bureli [2][8], Ting-Chieh Lin[23], dan Owen[25]. Beberapa metode yang bisa diterapkan untuk permasalahan multi objective optimization diatanya adalah algoritma genetika baik menggunakan VEGA, multi objective genetic algorithm (MOGA) maupun non-dominated Sorting genetic algorithm II (NSGA II), algoritma artificial neural network (ANN) dan algoritma particle swarm optimization (PSO).
2.2. Game Dempsey et al dalam Gibson et al [27] mendefinisikan game sebagai format instruksional atau pembelajaran yang melibatkan kompetisi dan aturan.Dewasa ini game telah menjadi industri hiburan yang berkembang sangat pesat, sehingga berbagai genre game pun telah beredar. Chandler dan Chandler [28] membedakan genre game ke dalam kategori: adventure games, fighting games, music games,platformers games, puzzle games, Role-playing games (RPG), serious games, shooter games, simulation game, strategy games, survival horror games. Perkembangan rekayasa dan sains komputer yang mendemonstrasikan game dengan kemampuan yang luar biasa (game video) memerlukan pendekatan yang lebih manusiawi dari pada pendekatan brute force. Oleh karena itu game AI video, seperti, seperti 3D car racing, atau first-person shooter pada Unreal Tournament, atau game strategi seperti DefCon, atau bahkan agent software Ms Pc-Man, membutuhkan pendekatan yang mampu mengaplikasikan pernyataan yang dinamis, berkembang, dan berkesinambungan. Pada game AI video, AI dapat diterapkan pada hampir semua aspek dalam pengembangan dan desain game, termasuk kreasi otomatis, animasi dengan prosedur, pencahayaan adaptif, kontrol kamera cerdas[29].
7
2.3. Kamera Pada prinsipnya, kontrol posisi kamera meliputi pengaturan camera shot, camera angle, dan camera movement. Camera shot menentukan jarak antara kamera dengan obyek, yang juga menentukan area yang terlihat dalam satu frame disebut dengan camera shot, angle kamera terdiri atas bird's eye, high angle, eye-level angle, low angle, dan dutch angle, dan camera movementatau pergerakan kamera.
2.3.1. Camera Shot Camera shot merupakan perekaman suatu aksi dari satu sudut pandang dalam satu waktu, yang menampilkan suatu unit fotografi dengan karakteristik tertentu yang mencakup orang, tempat, atau gambar gerak dari jarak dan sudut tertentu [30]. Camera shot terdiri dari berbagai point of view, antara lain:
Extreme close-up (ECU/XCU) menampilkan gambar secara detail, frame fokus pada satu aspek dari subyek, seperti mata, mulut, telinga, atau tangan.
Big close-up (BCU) menampilkan gambar muka manusia sebesar frame, mata, hidung, dan mulut dalam satu tampilan, tetapi bagian atas (dahi) dan bawah (dagu) dipotong.
Close-up (CU)menampilkan gambar dari bagian atas subyek, yang terkadang memotong bagian atas rambut, dan pada bagian bawah dimulai tepat di bawah dagu, juga dengan bagian atas pundak yang terlihat.
Medium Close-up (MCU) menampilkan gambar dari bagian atas subyek, sampai bagian bawah yang dimulai dari dada. Ekspresi dan emosi subyek, gaya dan warna rambut, serta tata rias masih terlihat jelas.
Medium shot (MS) menampilkan beberapa bagian subyek dalam detail, dengan tetap memperlihatkan impresi dari keseluruhan subyek.
Medium long shot (MLS) menampilkan ¾ bagian dari subjek dalam satu frame.
Long shot (LS/WS) menampilkan keseluruhan bagian dari subyek, dengan ukuran tinggi mendekati ukuran tinggi frame.
Very long shot (VLS/WLS) menampilkan keseluruhan bagian dari subyek, dengan penekanan gambar pada lokasi tempat subyek berada. 8
Extreme long shot (ELS/XLS/EWS/XWS)menampilkan gambar yang meliputi lebar dan kedalaman area/lingkungan.
Gambar 2.1 memperlihatkan contoh point of view dari camera shot.
Gambar 2.1: Point of view dari camera shot
2.3.2. Camera Angle Camera angle merupakan pengaturan sudut kamera terhadap subyek, di antaranya [31]:
Eye-levelmerupakan angle yang paling umum digunakan, menampilkan subyek seperi halnya pada saat kita melihatnya dalam dunia nyata.
9
High angle menampilkan subyek dari atas, dengan memosisikan kamera ke bawah mengarah pada subyek,sehingga subjek terlihat seperti kekurangan tenaga/tidak berdaya.
Low angle menampilkan subyek dari bawah, dengan memosisikan kamera ke atas
mengarah
pada
subyek,
sehingga
subyek
terkesan
sangat
bertenaga/berdaya/dominan.
Bird's eye memosisikan scene yang dilihat dari atas, dan bisa digunakan untuk efek dramatis, atau untuk menampilkan suatu perspektif ruang yang berbeda. Gambar 2.2 memperlihatkan ilustrasi camera angle.
Gambar 2.2: Eye level (A), high angle (B), low angle (C), bird’s eye (D) [31]
2.3.3. Camera Movement Dalam pergerakan kamera, panning merujuk pada poros horisontal kamera, kiri melawan kanan, sedangkan tilting merujuk pada poros vertikal kamera, atas melawan bawah. Pergerakan kamera dari kanan ke kiri disebut dengan pan left, sedangkan dari kiri ke kanan disebut dengan pan right. Selain panning dan tilting, terdapat teknik pergerakan kamera lainnya, yang juga dapat dipadukan dengan panning dan tilting, di antaranya [32]:
10
Dolly (tracking shot/crabbing/trucking/trackingleft/right) merupakan camera shot yang bergerak,di mana kamera diposisikan sejajar dengan lintasan kurva, dan dimainkan sepanjang scene.
Push in/push out (truck in/truck out) merujuk pada pergerakan kamera yang maju mendekati atau menjauhi subyek.
Boom merupakan pergerakan camera shot yang kameranya diposisikan di ujung lengan boom yang disisipkan pada jangkar yang sudah ditetapkan. Lengan boom dapat menentukan poros seperti halnya naik atau turun pada sudut poros.
Crane, mirip dengan boom, tetapi crane menampilkan area yang lebih luas, dan lengan porosnya berputar lebih jauh.
Steady cam mengaitkan kamera dengan juru kamera untuk mengikuti aksi sepanjang scene.
2.4. Optimasi Santoso dan Willy [34] menjelaskan bahwa optimasi adalah proses memaksimasi atau meminimasi suatu fungsi tujuan dengan tetap memperhatikan pembatas yang ada. Lebih lanjut mereka membagi permasalahan optimasi menjadi beberapa kategori:
Optimasi tanpa pembatas (unconstrained optimization): Jika suatu fungsi f berlaku untuk S= R, maka fungsi kita adalah fungsi suatu variable tanpa pembatas.
Optimasi dengan pembatas (constrained optimization): kalau S adalah subset dari R, maka fungsi didefinisikan dalam daerah yang terbatas atau constrained region. Banyak pendekatan yang digunakan dalam pencarian nilai optimal, seperti
tabu search (Hansen, 1997), simulated annealing (Suppapitnarm et al., 2000), Algoritma Koloni Semut (Dorigo, 1999), Fuzzy logic (Rao et al., 1992), neural networks (NN) (Balicki, 1998), dan algoritma-algoritma evolusioner seperti evolution strategies (Knowles dan Corne, 1999), dan algoritma Genetika (GA) (Deb, 2001) telah dikembangkan karena memecahkan masalah pengoptimuman. Algoritma Genetik – disusun berdasar pada mekanisme-mekanisme evolusi biologi dan teori
11
seleksi alam (Goldberg, 1989) – sudah dapat diterima dan dipertimbangkan untuk menyelesaikan suatu persoalan single and multi-objective untuk desain optimal [35].
2.5. Kamera Virtual Kamera virtual merupakan representasi kamera nyata dalam lingkungan 3D.Terdapat 3 metode dalam pengaturan kamera virtual, yaitu manual, semi-otomatis, dan otomatis [3]. Pengaturan kamera virtual secara manual dilakukan dengan menggunakan perangkat seperti keyboard, atau mouse untuk menggerakkan kamera. Kendala dalam pengaturan kamera virtual secara manual adalah kamera yang mungkin bergoyang/bergetar pada saat digerakkan, atau bergerak tidak sesuai dengan path, seperti dalam film Tales of the Past 3, dan The Avangers. Pengaturan kamera virtual secara semi-otomatis dilakukan dengan menuliskan skrip menggunakan algoritma tertentu, dan memungkinkan parameterisasi dalam algoritma pengontrol kamera virtual tersebut.Metode ini memungkinkan sutradara melakukan pengaturan parameter dalam mengontrol kamera untuk mendapatkan gambar/animasi sesuai keinginannya.Pengaturan kamera virtual secara otomatis dilakukan dengan menuliskan skrip menggunakan algoritma tertentu untuk mengontrol dan menggerakkan kamera. Metode ini menyerahkan kontrol kamera sepenuhnya pada algoritma yang digunakan untuk memproduksi gambar/animasi. Kamera di komputer grafis dimodelkan menggunakan parameter ekstrinsik
(x , y , z ) ( x ', y ', z ') , tiga derajat kebebasan untu koordinat Cartesian c c c , tiga Eulersudut c, c, c , dan satu parameter intrinsik ( c) , bidang pandang seperti terlihat pada Gambar 2.3.
Gambar 2.3: Model Camera berbasis sudut Euler; tilt( ), pan( ), dan roll( .)
12
Selanjutnya dari model kamera diatas dapat dikembangkan dengan memodelkan hubungan antara obyek dalam adegan 3D dan proyeksi pada layar 2D sangat non-linier. Secara matematis, model tersebut dapat dibuat dengan menggunakan persamaan Euler, sebagai berikut:
x y x' P ( c ). T x c , y c , z c . R c , c , c . y ' z t Dimana
x y H q . z t
P( c) adalah matriks proyeksi kamera, T xc, yc, zc adalah matriks translasi,
R c, c, c adalah matriks rotasi, Dan
q xc, yc, zc, c, c, c, c adalahparameter yang digunakan T
dalam perhitungan proyeksi kamera.
2.6
Prosedur Algoritma Genetika dalam Pendekatan Penelitian Dalam penelitian ini, algoritma Genetika digunakan untuk mencari dan
menentukan kamera virtual dengan posisi terbaik. Adapun prosedur pencariannya adalah: 1. Initialization: pada tahap ini sejumlah titik berdasarkan persamaan euler akan dibuat secara acak di setiap path dalam constraint sebagai populasi awal. Titik-titik menjadi tempat untuk setiap kamera virtual (Gambar 2.4).
13
Gambar 2.41: Pembuatan populasi awal 2. Selection: pada tahap ini, kamera virtual di setiap populasi awal akan diseleksi. Gambar dalam frame yang dihasilkan setiap kamera virtual akan dievaluasi untuk mencari nilai fitness. Kamera virtual yang menghasilkan gambar yang memenuhi nilai fitness akan dipertahankan, sedangkan sisanya akan dieliminasi.
Gambar 2.5: Seleksi kamera virtual 3. Crossover: kamera virtual yang bertahan setelah melalui proses seleksi akan diterapkan persilangan berdasarkan persamaan euler. Proses ini akan menghasilkan titik dengan persamaan euler yang baru. Hasil persilangan dari kamera virtual yang memenuhi nilai fitness yang tertinggi dan memenuhi persyaratan akan menjadi kamera virtual dengan posisi terbaik. Namun, jika tidak terdapat kamera virtual yang memenuhi nilai fitness, maka kamera virtual dengan nilai fitness tertinggi yang mendekati persyaratan akan dipilih untuk selanjutnya diterapkan proses mutation.
14
Gambar 2.6: Crossover kamera virtual 4. Mutation: proses ini hanya berlaku jika tidak terdapat satu pun kamera virtual hasil persilangan yang mempunyai nilai fitness yang memenuhi persyaratan. Kamera virtual dengan nilai tertinggi yang mendekati nilai fitness dalam tahap crossover akan diterapkan proses mutasi pada persamaan euler-nya.
Gambar 2.7: Mutation kamera virtual Prosedur pencarian kamera virtual dengan posisi terbaik di atas akan diulang sampai ditemukan kamera virtual yang terbaik. Gambar 2.8 memperlihatkan tahapan prosedur pencarian kamera virtual dengan posisi terbaik menggunakan algoritma Genetika.
15
Initialization Populasi awal kamera virtual
Selection Seleksi kamera virtual
Crossover Persilangan kamera virtual
Mutation Mutasi kamera virtual dengan nilai fitness tertinggi
Kamera virtual dengan posisi terbaik
Gambar 2.8: Prosedur pencarian kamera virtual dengan posisi terbaik
2.7. Studi Pendahuluan dan Hasil Sementara a. Tahun pertama: mempelajari teori dasar, menentukan orisinalitas dan kontribusi penelitian. Aktivitas yang dilakukan pada tahun pertama adalah studi yang terkait dengan penelitian yang akan dilakukan diantaranya motion tracking, pendekatan constrained-optimization. Studi dilakukan dengan mengikuti perkuliahan teori secara classical dan akhirnya dapat menentukan roadmap penelitian, membuat research mapping, menentukan orisinalitas dan konribusipenelitian serta melakukan percobaan terkait camera pada motion tracking. Pencapaian sementara yang telah dipublikasikan tentang deteksi pergerakan object dengan kamera adalah :
16
International
Conference
of
Technology
Informatics
Management
Engineering and Environment (TIME-E) joined with IEEE, Juli 2013 dengan judul : Secondary Camera Movement in Machinema using Path Finding.
Sidang Kandidasi Doktor yang dilaksanakan pada tanggal 9 Januari 2014 (Keputusan
Direktur
Program
Pascasarjana
ITS
No.0016.I/IT2.6/HK.00.01.PP/2014). b. Tahun kedua: Menganalisis metode, experiment penelitian, submit paper pada jurnal nasional atau internasional. Aktifitas yang dilakukan pada tahun kedua : menganalisis dan experiment terhadap metode yang digunakan dalam menentukan posisi kamera, yaitu menggunakan Multi Objective Genetic Algorithm (MOGA). Pada tahun kedua ini akan membuat progress berupa paper yang akan dipublikasikan pada jurnal national atau international. Rencana judul paper adalah Deteksi Object Movement pada kamera virtual menggunakan MOGA.
17
BAB III TUJUAN DAN MANFAAT PENELITIAN
3.1.Tujuan Penelitian Penelitian ini bertujuan mengembangkan sistem control kamera virtual yang mampu menentukan posisi kamera secara otomatis untuk menangkap adegan avatar atau NPC dalam game. Penelitian ini sangat erat hubungannya dengan optimasi multi tujuan (multi objective optimization) karena objek yang dideteksi tidak hanya pergerakan objek saja tetapi juga adanya oklusi dalam behaviournya. Sehingga system control kamera yang dikembangkan bersifat adaptif. Metode yang diusulkan dalam penelitian ini adalah algoritma genetika untuk optimasi multi objective, yaitu MOGA. Sedangkan pada penelitian awal hanya menggunakan simple genetic algorithm. Hasil penelitian ini dapat digunakan sebagai prototype dalam kontrol kamera virtual untuk pembuatan game, bahkan untuk dunia perfilman. Hal ini tentunya dapat menjadi kontribusi positif bagi pengembangan industri kreatif di Indonesia. Oleh karena itu tujuan penelitian di atas dapat dirinci sebagai berikut: 1. Sistem kontrol kamera virtual yang mampu menentukan posisi kamera virtual secara otomatis sehingga dapat menangkap adegan dalam game. 2. Sistem kontrol kamera virtual yang mampu beradaptasi dengan lingkungannya, sehingga mampu menghindari atau memecahkan permasalahan halangan dalam pergerakannya. 3. Sistem kontrol kamera virtual yang mampu bekerja secara real-time.
3.2.Manfaat Penelitian Manfaat dari penelitian ini, adalah : 1. Manfaat praktis dari penelitian ini yaitu implementasi sistem kontrol kamera virtual pada pengambilan adegan dalam pembuatan video game yang bermanfaat bagi pekerja di industri video game dan film. 2. Manfaat teoritis dari penelitian ini adalah membantu memecahkan permasalahan sistem kontrol kamera pada kamera virtual dalam game video. Beberapa permasalahan diantaranya adalah kamera cerdas mampu menentukan posisi yang
18
sesuai adegan, kamera mampu beradaptasi dengan lingkungan, dan kamera mampu bekerja secara real-time. Hasil dari penelitian ini juga sangat bermanfaat untuk penelitian lanjutan dalam penyelesaian disertasi doktor di jurusan Teknik Elektro Institut Teknologi Sepuluh Nopember (ITS) Surabaya. Penelitian ini merupakan eksperiment pada tahun ke dua dan ke tiga dari road map disertasi doktor, dimana fokus eksperimennya diarahkan untuk permasalahan optimasi multi tujuan pada kontrol kamera dengan menggunakan multi objective genetic algorithm (MOGA).
19
BAB IV METODE PENELITIAN
4.1. Road Map Penelitian
Gambar 4.1: Diagram fishbone untuk penelitian disertasi
Roadmap penelitian optimasi kontrol posisi kamera virtual seperti yang diilustrasikan dalam diagram fishbone pada gambar 4.1 menunjukkan alur dan langkah-langkah penelitian disertasi yang dirancang selama 3 tahun. Penelitian hibah disertasi doktor ini merupakan bagian dari penelitian disertasi doktor, dimana penelitian ini ditekankan pada eksperimen pada tahun ke dua dan ketiga, yaitu: a. Mengembangkan system kamera control di tahun kedua yang ditekankan pada single objective optimization kepada system kamera control yang multi objective optimization. b. Mengembangkan metode algoritma genetika dengan algoritma yang lebih komplek, yaitu multi objective optimization genetic algorithm (MOGA). c. System kamera control yang adaptif terhadap lingkungan.
20
4.2. Tahapan Penelitian Perancangan penelitian merupakan rencana penelitian yang disusun secara sistematik dan menyeluruh mengenai penelitian yang akan dilakukan. Rancangan penelitian terdiri dari 5 tahap, yaitu: 1. Pengumpulan data: Tahap ini merupakan kegiatan pencarian dan pengumpulan data yang diperlukan dalam penelitian. 2. Metode yang diusulkan: Langkah langkah atau prosedur yang diusulkan untuk mengembangkan agen cerdas untuk mengontrol kamera virtual otomatis. 3. Eksperimen: Tahap ini dilaksanakan dengan mengembangkan game yang menggunakan agen cerdas untuk mengontrol kamera secara otomatis. 4. Implementasi: pada tahap ini animasi pendek akan diproduksi secara real time rendering menggunakan game yang dikembangkan. 5. Evaluasi: pada tahap ini penggunaan kamera virtual dalam animasi pendek hasil implementasi akan diuji dan dievaluasi. Rancangan diatas adalah tahapan rancangan penelitian yang diperlukan untuk pengembangan agen berbasis cerdas. Adapun diagram tahapan dalam penelitian yang diperlihatkan pada gambar 4.2 di bawah ini yaitu: Pengumpulan Data
Metode yang diusulkan
Experimen
Implementasi
Evaluasi
Gambar 4.2. Diagram alur rancangan penelitian
21
4.2. Gambaran Umum Sistem Yang Dibuat Secara garis besar, alur kerja sistem ini dapat dilihat pada bagan Gambar 4.3:
Gambar 4.3: Alur kerja sistem kamera virtual cerdas Penelitian ini membahas tentang penentuan posisi kamera virtual untuk pengembangan sistem kontrol kamera virtual cerdas (selanjutnya: sistem) dengan parameter kamera kamera shot dan sudut kamera menggunakan pendekatan multi objective optimization menggunakan genetic algorithm yang diaplikasikan dalam lingkungan virtual seperti game. Dalam implementasinya, sistem akan mengambil input dari dunia virtual berupa vektor posisi avatar, vektor rotasi avatar, posisi NPC, dan vektor rotasi NPC. Sistem mengelompokkan setiap vektor posisi dan vektor rotasi NPC menjadi satu fungsi obyektif relatif terhadap vektor posisi dan vektor rotasi avatar, sehingga permasalahan penempatan kamera virtual dapat diselesaikan dengan menggunakan model Multi Objectives Optimization (MOO). Dengan menggunakan prinsip-prinsip sinematografi, sistem mencari solusi optimum untuk permasalahan. Pencarian solusi ini dilakukan dengan menggunakan genetic algorithm. Hasil dari sistem adalah nilai parameter kamera virtual berupa vektor posisi (di mana kamera virtual harus ditempatkan) dan vektor rotasi (ke arah mana kamera virtual harus mengarah). 22
Gambar 4.4 : Alur Genetic Algorithm Genetic Algorithm merupakan algoritma penentuan solusi optimum permasalahan fungsi obyektif dengan mencari kamera yang mempunyai nilai fitness yang terbaik. Bagan alir NSGA dapat dilihat pada Gambar 4.4.
23
BAB V HASIL YANG DICAPAI 5.1. Pencapaian Luaran Berdasarkan tahapan penelitian pada Bab sebelumnya, maka dapat dilakukan beberapa langkah dalam eksperimen, yaitu : 5.1.1. Pengumpulan Data Teknik pengumpulan data yang digunakan dalam penelitian ini adalah: 1. Wawancara: penulis akan mewawancarai pakar dan akademisi yang mempunyai kompetensi pada bidang game dan machinima untuk mendapatkan informasi terkait produksi film menggunakan teknologi machinima. 2. Studi Pustaka: penulis mencari dan mempelajari literatur terkait pengembangan machinima melalui buku teks, atau artikel di Internet. 3. Pengamatan/Observasi: penulis melakukan pengamatan dengan melihat contoh game dan film dari teknologi yang dibuat oleh machinima. Pengamatan ini bertujuan untuk mengamati dan mempelajari dalam pengambilan angle camera atau sudut pandang kamera yang baik. Pada tahap pengumpulan data penulis menambahkan identifikasi camera shot dan camera angle. Hasil identifikasi berupa screen shoot yang di peroleh dari beberapa adegan dari film machinima beserta keterangannya. Tabel 5.1 dibawah ini memperlihatkan jenis shot camera dan angle camera yang digunakan pada adegan film Heroes berikut beserta keterangannya. Tabel 5.1 : Screen shot Adegan
Camera shot
Angle Camera
Big Close-Up
Eye Level
24
Medium Close-UP
Low Angle
Very Long Shot
Eye Level
Long Shot
High angle
Medium Close-Up
High Angle
.
5.1.2. Metode yang diusulkan Metode yang diterapkan dalam penelitian ini menggunakan game engine untuk memproduksi film animasi pendek secara real time dengan durasi waktu yang telah ditentukan. Pergerakan karakter yang dikendalikan oleh user menjadi pemicu kamera virtual sehingga menghasilkan shot camera dan angle camera yang baik sesuai kaidah sinematografi. Gambar 5.1 dibawah ini memperlihatkan rancangan produksi film menggunakan game engine yang di usulkan dalam penelitian ini.
25
User
Game Basic Camera
Aturan
Smart Camera
Default Camera
Real Time Rendering
Gambar 5.1 Rancangan produksi
5.1.3. Rancangan Kamera Kamera yang dirancang menggunakan agen cerdas diharapkan menangkap perspektif dalam virtual berbasis agen cerdas menangkap setiap adegan dalam durasi 3 detik. Dalam hal ini diharapkan algoritma genetika mampu memperlihatkan hasil shoot gambar dengan baik atau sesuai kaidah sinematografi. Berikut adalah 3 kamera yang dirancang dakam game virtual, yaitu: 1. Basic Camera (BC) : kamera basic digunakan untuk melacak keberadaan karakter dan menjadi acuan koordinat posisi dan rotasi agen cerdas. 2. Smart Camera (SC) : kamera yang mampu menentukan titik koordinat secara otomatis berdasarkan posisi dan rotasinya. 3. Default Camera (DC) : kamera ini diperlukan saat smart camera tidak mampu menampilkan jenis angle atau shot yang baik dalam durasi yang telah ditentukan. Penentuan posisi dan rotasi smart camera digunakan untuk menangkap shot dan angle kamera dengan baik. Saat game dijalankan pertama kali, program menginisialisasi BC 26
dan DC. Penentuan posisi dan rotasi DC secara standart. Jarak BC dan karakter serta posisi dan rotasi dijadikan sebagai acuan. Program mengkalkulasi posisi dan rotasi SC dengan beberapa koordinat yang dijadikan sebagai titik awal, kemudian Algoritma genetika menggunakan teknik selection, crossover dan mutation untuk mendapatkan nilai koordinat dan posisi dan rotasi yang tepat. 5.1.3.1.Membuat Populasi kamera Tahapan awal adalah membentuk sejumlah populasi yang berisi variabel dengan nilai acak untuk koordinat posisi X,Y, dan Z, serta rotasi X, Y, dan Z. Sebagai ilustrasi, populasi yang dibentuk untuk setiap koordinat berisi 4 variabel. Berikut adalah populasi untuk posisi: PX1, PX2, PX3, PX4 PY1, PY2, PY3, PY4 PZ1, PZ2, PZ3, PZ4. Berikut adalah populasi untuk rotasi: RX1, RX2,RX3, RX4 RY1,RY2,RY3,RY4 RZ1,RZ2,RZ3,RZ4 5.1.3.2.Seleksi kamera Pada tahap ini, populasi yang telah dibentuk akan diacak urutannya untuk membentuk seleksi. Berikut adalah contoh pengacakan urutan populasi posisi dan rotasi X,Y, dan Z, yang merupakan hasil seleksi. PX3,PX1,PX4,PX2 PY2,PY3,PY1,PY4 PZ4,PZ1,PZ2,PZ3 RX2,RX4,RX1,RX3 RY4,RY1,RY2,RY3 RZ1,RZ4,RZ3,RZ2
27
5.1.3.3.Cross-Over kamera Pada tahap ini, seleksi yang terbentuk disilangkan secara menurun, untuk mendefinisikan baris posisi X,Y,Z, dan rotasi X,Y,Z. PX3
PX1
PX4
PX2
PY2
PY3
PY1
PY4
PZ4
PZ1
PZ2
PZ3
RX2
RX4
RX1
RX3
RY4
RY1
RY2
RY3
RZ1
RZ4
RZ3
RZ2
Hasil yang terbentuk digunakan untuk mengatur posisi dan rotasi sejumlah kamera, untuk contoh ini berarti 4 kamera, yaitu: Kamera 1 : PX3, PY2, PZ4, RX2, RY4, RZ1 Kamera 2 : PX1, PY3, PZ1, RX4, RY1, RZ4 Kamera 3 : PX4, PY1, PZ2, RX1, RY2, RZ3 Kamera 4 : PX2, PY4, PZ3, RX3, RY3, RZ2 Setiap kamera yang terbentuk dievaluasi nilai posisi dan rotasinya berdasarkan data knowledge base camera shot dan camera angle. Kamera dengan nilai posisi dan rotasi yang paling ideal, yaitu mendakati aturan atau kaidah sinematografi akan dipilih sebagai smart camera dan digunakan untuk mengcapture game.
5.1.3.4.Mutasi Kamera Mutasi diberlakukan jika tidak ada satu pun kamera yang mempunyai nilai posisi dan rotasi yang ideal, tetapi di antaranya terdapat kamera yang nilai kurang idealnya maksimal 2 variabel, misalnya variabel posisi Y dan rotasi Z. Dalam kondosi ini, nilai kedua variabel tersebut akan diterapkan proses mutasi untuk disesuaikan nilainya. Proses akan mengulang pada tahap selection jika tidak ada satu kamera pun yang dapat dimutasi.
28
Pencarian nilai koordinat posisi dan rotasi yang ideal dibatasi dalam durasi 3 detik, jika berhasil maka SC akan diciptakan dan digunakan untuk mengcapture pergerakan karakter. Sebaliknya jika tidak berhasil, maka DC akan digunakan untuk menggantikan SC. Gambar 5.2 memperlihatkan diagram alir kontrol kamera virtual otomatis menggunakan agen cerdas.
Start
Inisialisasi BC & DC Calculate position & rotation SC based on BC
N
Fit?
Use DC
Y
Use SC
Capture character movement
N
Durati on > 3’? Y N
Finish game? Y End
Gambar 5.2: Diagram alir kontrol kamera virtual otomatis
29
5.1.4. Rancangan Real-time Rendering Real time rendering mengacu pada pembuatan film dengan menggunakan software capture video yaitu Camtasia. Program ini dijalankan saat user melakukan interaksi dengan karakter atau saat game dimulai, progam camtasia akan merender hasil capture dengan format video.
5.1.5. Experimen Pengembangan game pada tahap eksperimen terbagi menjadi beberapa tahapan, yaitu: 1. Pembuatan asset game
Model : modelling karakter atau membuat karakter berwujud manusia dan membuat environment.
Animasi : setelah pembuatan karakter dan lingkungan membuat animasi atau gerakan semacam aktifitas dengan durasi yang telah ditentukan.
Export FBX : pada tahap ini hasil karakter yang telah di animasi beserta lingkungannya di export ke dalam format FBX agar bisa di kembangkan ke dalam game engine.
2. Pengembangan game
Interaksi : pada tahap ini melakukan perancangan file karakter dan lingkungan yang berformat FBX. pada tahap ini, game dan agen cerdas kamera virtual akan dirancang.
Agen cerdas : pada tahap ini mulai merancang game dan agen cerdas virtual kamera.
Publish : setelah selesai pembuatan di publish ke format .exe
3. Pengujian
Pada tahap ini pengujian dilakukan untuk mengukur keberhasilan dalam perancangan sebuah game yaitu melalui pengujian white box dan black box.
5.1.6. Implementasi Pada tahap ini game yang dikendalikan oleh user di capture real time menggunakan camtasia dengan durasi 120 detik. Maksimal cut 3 detik. Jika diasumsikan program
30
mampu menentukan kamera dengan rata-rata 3 detik = 40 cut, dan jika rata-rata 1 detik = 120 cut. Dengan demikian jumlah cut dalam animasi yang dihasilkan antara 40-120 cut.
5.1.7. Evaluasi Animasi pendek yang dihasilkan secara real time rendering menggunakan game yang mainkan akan dievaluasi. Akurasi penentuan Smart Camera diukur berdasarkan jumlah Smart Camera dari total cut. Pengukuran akurasi dalam pemakaian jumlah smart camera menggunakan rumus: (SC/TC) x 100%, di mana SC adalah hasil cut dari smart camera, dan TC merupakan jumlah keseluruhan cut. Sebagi ilustrasi, misalnya dalam durasi 120 detik, total cut (TC) ada 50, jumlah cut hasil dari smart camera (SC) sebanyak 40, dan sisanya 10 cut hasil default camera. Maka akurasi penggunaan smart camera adalah (40/50) x 100% = 80%. Nilai yang dihasilkan akan diukur tingkat akurasinya berdasarkan range nilai seperti Tabel 5.2. Dengan nilai tersebut maka ilustrasi di atas menghasilkan smart camera yang akurat. Table 5.2 Nilai
Keterangan
85-100%
Sangat akurat
70-84%
Akurat
50-69%
Cukup akurat
<50
Kurang akurat
Evaluasi juga dilakukan untuk mengukur kesesuaian hasil capture smart camera terhadap kaidah sinematografi. Pengukuran dilakukan dengan mencari padanan perpektif hasil smart camera dengan hasil dari industry film. Tabel 5.3 menghasilkan format kesesuaian terhadap penilaian sinematografi.
31
Table 5.3 Format kesesuaian Kaidah Sinematografi hasil smart camera
Kesesuaian Kaidah
Padanan dengan
Sinematografi
industry film
Ya / Tidak Hasil screen shot
Ya untuk sesuai dan
Hasil screen shoot dari
tidak jika tidak sesuai
industry film sebagai
smart camera
bukti
Pengukuran akurasi dalam kesusaian hasil cut smart camera menggunakan rumus: (SCn/SCt) x 100%, di mana SCn adalah hasil cut dari smart camera yang sesuai kaidah sinematografi, dan SCt merupakan jumlah keseluruhan cut dari smart camera. Sebagi ilustrasi, misalnya total cut dari smart camera (SCt) ada 40, dari ke-40 tersebut jumlah cut yang sesuai kaidah sinematografi ada 30. Maka akurasi penggunaan smart camera adalah (30/40) x 100% = 75%. Nilai yang dihasilkan akan diukur tingkat akurasinya berdasarkan range nilai seperti Tabel 5.3. Dengan nilai tersebut maka ilustrasi di atas smart camera yang sesuai kaidah sinematografi adalah akurat.
32
BAB VI RENCANA TAHAPAN BERIKUTNYA Berdasarkan hasil yang dicapai sampai dengan laporan akhir ini, yaitu berupa control camera otomatis dengan melihat parameter kamera shot dengan melihat jarak atau posisi objek dengan kamera. Hasil pada control camera ini, berupa tampilan objek dengan berbagai tampilan (point of view), antara lain close up, medium close up, long shot. Selanjutnya rencana tahapan penelitian berikutnya adalah control camera otomatis dengan penambahan parameter camera angle dan camera movement. 1. Kamera Angle, yaitu dengan mengambil sudut yang tepat pada pengambilan objek. Hasil dari eksperimen control camera ini adalah pengaturan objek dengan melihat sudut kamera : high angle, low angle dan birds eye. 2. Kamera Movement, yaitu pergerakan kamera dengan merujuk pergerakan poros horizontal kamera (kiri-kanan), dan pergerakan poros vertical kamera (atasbawah). Hasil pengaturan kamera movement, berupa pergerakan kamera dari kanan ke kiri disebut dengan pan left, sedangkan kiri ke kanan disebut pan right, dan pergerakan ke atas atau ke bawah disebut tilting. Hasil dari eksperimen dari control camera untuk kamera shot akan menghasilkan paper yang dipublikasikan dalam jurnal international terindex, dengan draft paper yang telah dilampirkan (lampiran 1). Sedangkan untuk eksperimen control camera pada kamera angle dan kamera movement, direncakan akan ditulis dalam paper yang ke-2. Rencana berikutnya, hasil dari konsultasi dan arahan pembimbing, yaitu untuk memberikan pengukuran terhadap hasil kamera yang terlihat (camera visibility). Berdasarkan paper sebelumnya, ada beberapa metode pengukuran terhadap kualitas titik pandang (viewpoint quality measurement), yaitu heuristic measurement, viewpoint entropi dan based-on Kulblback-Leibler distance. Dari ketiganya yang pembimbing menyarankan untuk menggunakan metode viewpoint entropi, yaitu area relative dari faces yang diproyeksikan selama objek S (spare S) yang berpusat di viewpoint V. Hasil pengukuran nanti bisa ditambahkan pada paper 1 dan dapat dijadikan state of the art dari paper tersebut.
33
Tahap akhir dari eksperimen program disertasi doktor adalah pengambilan obyek oleh kamera dengan mempertimbangkan obyek lain dan mampu mengambil obyek yang terhalang (collision avoidance), yaitu dengan konsep multi objective. Gambar 6.1 (a dan b) memperlihatkan ilustrasi kasus yang terjadi dalam lingkungan virtual. Objek yang diambil lebih dari satu (multi objective optimization) dengan menggolongkan setiap NPC dengan avatar menjadi satu fungsi obyektif.
3. 4. 5. 6.
(a) Gambar 6.1
(b) Ilustrasi sistem mencari posisi kamera optimum
Dengan menggunakan Genetic Algoritm, sistem mampu mencari posisi kamera yang paling optimal dengan sejumlah NPC. Posisi kamera optimal tersebut memungkinkan sebanyak mungkin NPC dapat ditampilkan pada layar.
34
BAB VII KESIMPULAN DAN SARAN 7.1. Kesimpulan Dari hasil penelitian awal sampai dengan eksperimen yang telah dilakukan dapat diberikan beberapa kesimpulan awal, yaitu : 1. Untuk menghasil control camera dalam camera shot diperlukan database shot tampilan untuk mengetahui shot yang tepat sesuai dengan kaidah sinematografi. Database shot nanti dijadikan rules base system untuk control camera yang diinginkan. 2. Database shot kamera minimal meliputi tampilan : close-up, medium close-up dan long shot. Setiap record database meliputi jarak kamera dengan obyek (posisi kamera) dan sudut (angle) kamera. 3. Untuk menghasilkan tampilan shot yang real-time dari kamera pada objek dengan menggunakan algoritma Genetika, dibutuhkan scenario kamera; a. Basic Camera (BC) : kamera basic digunakan untuk melacak keberadaan karakter dan menjadi acuan koordinat posisi dan rotasi agen cerdas. b. Smart Camera (SC) : kamera yang mampu menentukan titik koordinat secara otomatis berdasarkan posisi dan rotasinya. c. Default Camera (DC) : kamera ini diperlukan saat smart camera tidak mampu menampilkan jenis angle atau shot yang baik dalam durasi yang telah ditentukan.
7.2. Saran Agar tampilan shot berhasil sesuai kaidah sinematografi, selain camera shot dan camera angle maka control kamera dapat dilanjutkan ke perhitungan camera movement yang meliputi panning, tilting dan sebagainya. Harapanya hasil penelitian ini dapat dimanfaatkan untuk pembuatan game dan program machinema. Untuk mengukur kualitas titik pandang (viewpoint quality measurement) pada kamera perlu dilakukan tambahan eksperimen untuk melihat hasil kamera terbaik (smart camera) yang dipilih. Hasil eksperimen tersebut akan ditambahkan pada eksperimen sebelumnya, sehingga hasil yang diperoleh akan sesuai. Metode 35
pengukuran viewpoint kamera yang diusulkan pada eksperimen tersebut adalah viewpoint entropi.
36
DAFTAR PUSTAKA [1] [2]
[3] [4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
www.machinima.com, diakses tanggal 21 Desember 2013. Paolo Burelli, Gergios N. Yannakakis, “Toward Adaptive Virtual Camera Control in Computer Games”, SG 2011, LNCS 6815, Springer-Verlag Berlin Heidelberg 2011. Marc Christie, Patrick Olivier, Jean-Marie Normand, “Camera Control in Computer Graphics”, COMPUTER GRAPHICS forum volume 27, Juli 2008. Bares W., Thainimit S,. Mc Dermott S., Boudreaux C. , “A model for constraintbased camera planning”, Smart Graphics AAAI Spring Symposium, Stanford, California, Maret 2000. Olivier P., Halper N., Pickering J., Luna P., “Visual Composition as Optimisation”, AISB Symposium onAI and Creativity in Entertainment and Visual Art, 1999. Jardillier F., Langu’enou E., “Screen-space constraints for camera movements: the virtual cameraman”, Proceedings of the Eurographics Conference (EG 98), vol. 17, Blackwell Publishers, 1998. Drucker S. M., Galyean T. A., Zeltzer D., “Cinema: A system for procedural camera movements”, Proceedingsof the 1992 symposium on Interactive 3D graphics, ACM Press, New York, 1992. Burelli, Paolo, “Combining Local and Global Optimisation for Virtual Camera Control”, IEEE Conference on Computational Intelligence and Games (CIG'10), 2010. Wenfeng Hu, Xin Zhang, “A Semiautomatic Control Technique for Machinima Virtual Camera”, International Conference on Computer Science and Electronics Engineering, 2012. Dennis Nieuwenhuisen, Mark H. Overmars, “Motion Planning for Camera Movement”, Proceeding of the 2004 IEEE International Conference on Robotica & Automation New Orleana. LA April 2004. Edirlei E. Soares de Lima, Cesar T. P., Marcos C. d’Ornellas, Angelo E. M. Ciarlini, Bruno Feijo, “Support Vector Machines for Cinematography RealTime Camera Control in Storytelling Environments”, Brazilian Symposium on Games and Digital Entertainment, IEEE Computer Society, 2009. Arnav Jhala, R. Michael Young, “Cinematic Visual Discourse: Representation, Generation, and Evaluation”, IEEE Transactions on Computational Intellegence and AI in Game Vol. 2, No. 2, June 2010. Tsai-Yen Li, Tzong-Ham Yu, “Planning Tracking Motions for an Intelligent Virtual Camera”, Proceedings of the 1999 EEE International Conference on Robotics &Automation Detroit, Michigan May 1999. Zheng Wu, Nickolay I. Hristov, Thomas H. Kunz, Margrit Betke1, “TrackingReconstruction or Reconstruction-Tracking? Comparison of Two Multiple Hypothesis Tracking Approaches to Interpret 3D Object Motion from Several Camera Views”, IEEE, 2009. Jung-Jae Yu, Jae-Hean Kim, “Camera Motion Tracking in a Dynamic Scene”, IEEE International Symposium on Mixed and Augmented Reality 2010, Science and Technolgy Proceedings 13 -16 Oktober, Seoul, Korea, 2010. Eric Marchand, Nicolas Courty, “Image-Based Virtual Camera Motion Strategies”, Proc. of Graphics Interface Conference, GI’2000, Montr´eal, Qc, Canada, Mei 2000. 37
[17] Hansung Kim, Ryuuki Sakamoto, Itaru Kitahara, Tomoji Toriyama, and Kiyoshi Kogure, “Virtual Camera Control System For Cinematographic 3D Video Rendering”, IEEE, 2007. [18] Marc Christie and Jean-Marie Normand.,“A semantic space partitioning approach to virtual camera composition”. Computer Graphics Forum, 2005. [19] Ali M. L., Goodwin S. D., “Applications of CSP Solving in Camera Control”, IEEE Communications Society, IEEE CCNC 2008. [20] Paolo Burelli and Arnav Jhala.“Dynamic artificial potential fields for autonomous camera control”. In Artificial Intelligence and Interactive Digital Entertainment, 2009. [21] Paolo Burelli and Georgios N. Yannakakis.“Global search for occlusion minimization in virtual camera control”.In Proceedings of the Congress on Evolutionary Computation, WCCI 2010. [22] Steffi Beckhaus, Felix Ritter, and Thomas Strothotte.“Cubicalpath - dynamic potential fields for guided exploration in virtual environments”.In PG ’00.IEEE Computer Society, 2000. [23] Ting-Chieh Lin, Zen-Chung Shih, Yu-Ting Tsai,“Cinematic Camera Control in 3D Computer Games”, WSCG SHORT Communication papers proceedings WSCG’2004, February 2-6, Plzen, Czech Republic. UNION Agency – Science Press, 2004. [24] Nick Halper and Patrick Olivier. Camplan: “A camera planning agent”. In Smart Graphics 2000 AAAI Spring Symposium, 2000. [25] Owen Bourne, Abdul Sattar, and Scott Goodwin.“A constraint-based autonomous 3d camera system. Constraints”, 2008. [26] Fanani Ahmad Zainul, Delta Ardy Prima, Bela Bima F. J., Edward S., M. Hariadi, I Ketut E. P., “Secondary Camera Movement in Machinema using Path Finding”, International Conference of Technology Informatics Management Engineering and Environment (TIME-E) joined with IEEE, Bandung 2013. [27] David Gibson, ClarkAldrich, dan MarcPrensky, “Games and Simulations in Online Learning”, Information Science Publishing, Pennsylvania, 2007 [28] Heather M. Chandler, Rafael Chandler, “Fundamental of Game Development”, John & Barlett Learning, Massachusetts, 2011 [29] Simon M. Lucas, “Computational Intelligence and AI In Games: A New Ieee Transactions”, IEEE Transactions On Computational Intelligence And AI In Games, Vol. 1, No. 1, March 2009 [30] Christopher J. Bowen, dan Roy Thompson, “Grammar of the Shot”, Focal Press, Burlington, 2013 [32] Anson Jew, “Professional Storyboarding: Rules of Thumb”, Focal Press, Burlington, 2013 [34] Budi Santoso, Paul Willy, “Metoda Metaheurstik: Konsep dan Implementasi”, Guna Widya, Surabaya, 2011 [35] Intan Berlianty, Miftahol Arifin, “Teknik-Teknik Optimasi Heuristik”, Graha Ilmu, Yogyakarta, 2010 [36] David A Coley, “An Introduction to Genetic Algorithms for Scientist and Engineers”, World Scientific Publishing, Singapore, 2003 [37] K. F. Man, K. S. Tang, dan S. Kwong, “Genetic Algorithms: Concepts and Designs”, Springer, London, 2001
38
LAMPIRAN 1
DRAFT JURNAL 1 DAN JURNAL 2
39