Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D...

6
1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D API Mufti Ali 1 , Agung B.P. 2 , Aghus sofwan 2 1 Mahasiswa dan 2 Dosen Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia Abstrak Dalam dunia grafika komputer khususnya 3D, transformasi, pencahayaan, pewarnaan dan texturing merupakan hal yang yang mendasar untuk membuat suatu animasi. Dengan transformasi, suatu objek dapat dipindahkan dari suatu titik ke titik yang lain. Namun objek tersebut tidak akan nampak apabila tidak ada pencahayaan. Kemudian, diperlukan juga pewarnaan dan texturing agar objek tersebut terlihat lebih nyata. Tugas akhir ini mencoba untuk mengimplentasikan fungsifungsi transformasi, pencahayaan, pewarnaan dan texturing kedalam bentuk suatu animasi gerak benda 3D. Analisis dan desain aplikasi menggunakan pendekatan berorientasi objek. Aplikasi dibuat menggunakan bahasa pemrograman Java dan Java3D API (Application Programming Interface). Kata kunci: transformasi, pencahayaan, pewarnaan, texturin 1. Pendahuluan 1.1 Latar Belakang Masalah Pengenalan mengenai konsep animasi sangat diperlukan untuk pengembangan 3D. Transformasi , pewarnaan , pencahayaan, texturing dan ray tracing merupakan dasar yang sangat penting dalam pengembangan animasi 3D. 1.2 Identifikasi Masalah Dalam mengimplementasikan aplikasi grafika komputer untuk animasi gerak benda 3 dimensi dapat diidentifikasi beberapa masalah utama, yaitu: 1. Melakukan transformasi pada objek 3 dimensi. 2. Pencahayaan. 3. Pewarnaan terhadap objek 3 dimensi. 4. Texturing yang diimplementasikan pada objek agar terlihat lebih nyata. 5. Antarmuka pengguna dengan program. 1.3 Batasan Masalah 1. Transformasi yang dibahas terdiri atas translasi, skala dan rotasi. 2. Pencahayaan, pewarnaan dan texturing. 3. Bahasa pemrograman yang digunakan J2SE dan Java 3D API. 1.4 Tujuan Penelitian Tujuan dalam tugas akhir ini adalah membuat program yang bertemakan grafis 3D yang dapat digunakan sebagai kajian tentang transformasi, pencahayaan, pewarnaan dan texturing. 1.5 Kegunaan Hasil Penelitian Kegunaan dari Tugas Akhir Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D API ini adalah: 1. Mengetahui bagaimana mengimplementasikan transformasi 3 dimensi, pencahayaan, pewarnaan dan texturing pada aplikasi 3 dimensi menggunakan Java 3D API dan J2SE dengan pendekatan berorientasi objek. 2. Menghasilkan suatu aplikasi yang dapat melakukan animasi gerak benda 3 dimensi. 2. Java 3D API Java 3D API adalah sebuah interface untuk membuat program atau aplikasi grafika 3 dimensi. 2.1 Java 3D API Java 3D API adalah hirarki dari classclass Java yang menyediakan interface untuk 3D graphics rendering, manipulasi objek geometri, pencahayaan dan sound rendering system. 2.2 Membuat Scene Graph Suatu virtual universe dalam Java 3D, dibuat dengan menggunakan scene graph. Scene graph dibuat dengan instances dari kelaskelas Java 3D. Scene graph adalah suatu susunan dari objekobjek. Objek tersebut bisa berupa suatu objek geometri, sound, cahaya, lokasi, orientasi, tampilan suatu objek , objek audio, atau gabungan dari objek tersebut yang disusun ke dalam suatu scene garph. Untuk mendesain suatu scene graph, digunakan simbol grafik standar seperti ditunjukan pada gambar 2.1 Gambar 2.1 Simbol untuk menggambarkan objek dalam scene graph Gambar 2.2 merupakan contoh sederhana scene graph.

Transcript of Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D...

Page 1: Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D APIelektro.undip.ac.id/el_kpta/wp-content/uploads/2012/05/L2F002598... · 1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi

1

Makalah Seminar Tugas Akhir

Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D API Mufti Ali 1 , Agung B.P. 2 , Aghus sofwan 2

1 Mahasiswa dan 2 Dosen Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia

Abstrak Dalam dunia grafika komputer khususnya 3D, transformasi, pencahayaan, pewarnaan dan texturing merupakan

hal yang yang mendasar untuk membuat suatu animasi. Dengan transformasi, suatu objek dapat dipindahkan dari suatu titik ke titik yang lain. Namun objek tersebut tidak akan nampak apabila tidak ada pencahayaan. Kemudian, diperlukan juga pewarnaan dan texturing agar objek tersebut terlihat lebih nyata.

Tugas akhir ini mencoba untuk mengimplentasikan fungsi­fungsi transformasi, pencahayaan, pewarnaan dan texturing kedalam bentuk suatu animasi gerak benda 3D. Analisis dan desain aplikasi menggunakan pendekatan berorientasi objek. Aplikasi dibuat menggunakan bahasa pemrograman Java dan Java3D API (Application Programming Interface).

Kata kunci: transformasi, pencahayaan, pewarnaan, texturin

1. Pendahuluan 1.1 Latar Belakang Masalah

Pengenalan mengenai konsep animasi sangat diperlukan untuk pengembangan 3D. Transformasi , pewarnaan , pencahayaan, texturing dan ray tracing merupakan dasar yang sangat penting dalam pengembangan animasi 3D.

1.2 Identifikasi Masalah Dalam mengimplementasikan aplikasi grafika komputer untuk animasi gerak benda 3 dimensi dapat diidentifikasi beberapa masalah utama, yaitu: 1. Melakukan transformasi pada objek 3 dimensi. 2. Pencahayaan. 3. Pewarnaan terhadap objek 3 dimensi. 4. Texturing yang diimplementasikan pada objek agar

terlihat lebih nyata. 5. Antarmuka pengguna dengan program.

1.3 Batasan Masalah 1. Transformasi yang dibahas terdiri atas translasi, skala

dan rotasi. 2. Pencahayaan, pewarnaan dan texturing. 3. Bahasa pemrograman yang digunakan J2SE dan Java 3D

API.

1.4 Tujuan Penelitian Tujuan dalam tugas akhir ini adalah membuat program

yang bertemakan grafis 3D yang dapat digunakan sebagai kajian tentang transformasi, pencahayaan, pewarnaan dan texturing.

1.5 Kegunaan Hasil Penelitian Kegunaan dari Tugas Akhir Animasi Gerak Benda 3

Dimensi Menggunakan Java 3D API ini adalah: 1. Mengetahui bagaimana mengimplementasikan

transformasi 3 dimensi, pencahayaan, pewarnaan dan texturing pada aplikasi 3 dimensi menggunakan Java 3D API dan J2SE dengan pendekatan berorientasi objek.

2. Menghasilkan suatu aplikasi yang dapat melakukan animasi gerak benda 3 dimensi.

2. Java 3D API Java 3D API adalah sebuah interface untuk membuat

program atau aplikasi grafika 3 dimensi.

2.1 Java 3D API Java 3D API adalah hirarki dari class­class Java yang

menyediakan interface untuk 3D graphics rendering, manipulasi objek geometri, pencahayaan dan sound rendering system.

2.2 Membuat Scene Graph Suatu virtual universe dalam Java 3D, dibuat dengan

menggunakan scene graph. Scene graph dibuat dengan instances dari kelas­kelas Java 3D. Scene graph adalah suatu susunan dari objek­objek. Objek tersebut bisa berupa suatu objek geometri, sound, cahaya, lokasi, orientasi, tampilan suatu objek , objek audio, atau gabungan dari objek tersebut yang disusun ke dalam suatu scene garph.

Untuk mendesain suatu scene graph, digunakan simbol grafik standar seperti ditunjukan pada gambar 2.1

Gambar 2.1 Simbol untuk menggambarkan objek dalam scene graph Gambar 2.2 merupakan contoh sederhana scene

graph.

Page 2: Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D APIelektro.undip.ac.id/el_kpta/wp-content/uploads/2012/05/L2F002598... · 1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi

2

Gambar 2.2 Contoh bentuk scene graph

2.3 Transformasi Transformasi terdiri atas translasi, rotasi, dan skala.

Pada Java 3D API, class Transform3D digunakan untuk menampilkan transformasi 3D seperti translasi, rotasi, dan skala. Class Transform3D digunakan untuk pembuatan objek TransformGroup. Langkah pertama adalah membuat objek Transform3D, dapat juga kombinasi dari dua atau lebih Transform3D, lalu TransformGroup dibuat menggunakan objek Transform3D tersebut.

2.4 Pencahayaan Dalam dunia nyata, warna yang kita lihat adalah

kombinasi dari sifat fisik dari suatu objek, karakteristik dari sumber cahaya, posisi terhadap sumber cahaya, dan sudut dari mana objek dilihat [3] .

Menurut Bouvier [3] , persamaan dari model cahaya tergantung pada tiga vektor, yaitu Normal permukaan bidang (N), arah cahaya (L), dan sudut pandang mata terhadap bidang atau (E) ditambah dengan karakteristik material objek dan karakteristik dari cahaya. Gambar 2.3 menunjukan tiga buah vektor dari vertex pada sebuah permukaan bidang berbentuk bola.

N L

E

Gambar 2.3 Permukaan bidang (N), arah cahaya(L), dan sudut pandang terhadap benda(E)

Model cahaya menggabungkan tiga bentuk refleksi cahaya pada dunia nyata, yaitu : ambient reflection, diffuse reflection, dan specular reflection. Ambient reflection merupakan refleksi cahaya dengan intensitas yang rendah yang dihasilkan oleh ambient light, diffuse reflection adalah refleksi normal dari sumber cahaya terhadap benda tertentu (warna dari benda tersebut), dan specular reflection adalah refleksi cahaya dengan intensitas yang tinggi dari sumber cahaya.

DirectionalLight merupakan cahaya yang bertindak seperti matahari (sumber cahaya sangat jauh), mempunyai

satu arah sinar cahaya, intensitas cahayanya tidak melemah, dengan arah vektor cahaya konstan.

PointLight merupakan lawan dari DirectionalLight. Bila intensitas sinar dari DirectionalLight tidak terpengaruh oleh jarak, maka intensitas sinar dari PointLight berpengaruh terhadap jarak dan lokasi.

SpotLight adalah subclass dari PointLight. Class SpotLight menambahkan arah dan konsentrasi pada parameter posisi dan pelemahan (attenuation) dari PointLight. Contoh SpotLight adalah lampu senter.

2.5 Pewarnaan Untuk mengimplementasikan pewarnaan dalam

java3D, dilakukan oleh objek appearance. Informasi mengenai penampakan visual dari objek geometri, disimpan dalam “bundle appearance,” seperti yang ditunjukan pada gambar 2.5.

Gambar 2.5. Bundle Objek Appearance.

2.6 Texturing Texturing adalah suatu cara untuk menambahkan

suatu penampakan visual dari suatu objek tanpa menambahkan suatu geometri secara detail. Penampakan ini berupa suatu image (gambar) atau disebut dengan texture, yang diimplentasikan dalam suatu objek, sehingga objek tersebut mempunyai penampakan visual dari image tersebut.

3. Pemodelan Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D API Pemodelan animasi gerak benda 3 dimensi

menggunakan Java 3D API menggunakan pendekatan berorientasi objek (objek oriented analysis and design). Langkah­langkah yang dilakukan seperti model yang diutarakan oleh Pressman [9] , yaitu: 1. Use case, 2. Kartu Index CRC, 3. Diagram Kelas, 4. Model Hubungan Objek (Object Relationship), dan 5. Model Tingkah Laku Objek (Object Behaviour). Langkah­langkah tersebut kemudian dibuat dalam bentuk diagram UML seperti berikut.

3.1. Use Case Use case merupakan rangkaian skenario yang

mengidentifikasikan urutan pemakaian aplikasi yang akan dibangun. Skenario penggunaan animasi gerak benda 3 dimensi menggunakan java 3D API adalah sebagai berikut: 1. Pengguna mengemudikan objek mobil. 2. Pengguna memilih posisi kamera relatif terhadap

objek mobil. Skenario di atas kemudian diubah ke dalam bentuk

diagram use case yang bentuknya seperti gambar 3.1.

Page 3: Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D APIelektro.undip.ac.id/el_kpta/wp-content/uploads/2012/05/L2F002598... · 1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi

3

Turn Left

Turn Right

Accelerate

Brake

Steering Pengguna

Load Objek Mobil

<<include>>

Ubah Posisi Kamera

<<include>>

Gambar 3.1 Diagram use case untuk animasi gerak benda 3 dimensi menggunakan java 3D API.

3.2 Kartu Index CRC Pemodelan CRC memberikan cara sederhana

untuk mengidentifikasi dan mengumpulkan kelas­kelas yang relevan [9] yang akan digunakan untuk animasi gerak benda 3 dimensi menggunakan java 3D API.

Dari analisis use case, dapat diidentifikasi kelas­ kelas yang relevan dengan persyaratan sistem. Sebagai kelas utama dipilih kelas RacingGame.

Tabel 3.1 Kartu index CRC kelas RacingGame Kelas: RacingGame Tanggung Jawab: Atribut: DEFAULT_FPS Operasi: • RacingGame

Kolaborator:

• ­

Tabel 3.2 Kartu index CRC kelas GamePanel Kelas: GamePanel Tanggung Jawab: Atribut: • BOUNDSIZE • NO_DELAYS_PER_YIELD • MAX_FRAME_SKIPS • Running • isPaused • period • gameOver Operasi: • processKey • createSceneGraph • addCircuit • addSprite • lightScene • initUserPosition • addCamera • addNotify • startGame • resumeGame • pauseGame • stopGame • run • gameUpdate

Kolaborator:

• ­

Tabel 3.3 Kartu index CRC kelas LoadObject Kelas: LoadObject Tanggung Jawab: Atribut: filename Operasi: • loadFile • getExtension • getTG • getSceneGroup • getRadius • scale

Kolaborator:

• ­

Tabel 3.4 Kartu index CRC Circuit Kelas: Circuit Tanggung Jawab: Atribut: Operasi: • nearObstacle • getTG()

Kolaborator:

• AppManager

Tabel 3.5 Kartu index CRC kelas CarSprite Kelas: RacingGame Tanggung Jawab: Atribut: • MAX_SPEED • MIN_SPEED • Delta • pos • speed Operasi: • getTG • gettime • moveBy • doMove • tryMove • rotate • doRotateY • accelerate • getspeed • breaking • update

Kolaborator:

• KeyBehavior • AppManager

Tabel 3.6 Kartu index CRC kelas KeyBehavior

Tabel 3.7 Kartu index CRC kelas AppManager Kelas: AppManager Tanggung Jawab: Atribut: • ap Operasi: • createTexture • createFixTexture • texApp • stampTexCoords • makeAlmostTransparent • setMaterial

Kolaborator:

Kelas: KeyBehavior Tanggung Jawab: Atribut: • keyPress • ROTATE • car Operasi: • initialize • processStimulus • keyPressed

Kolaborator:

• CarSprite

Page 4: Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D APIelektro.undip.ac.id/el_kpta/wp-content/uploads/2012/05/L2F002598... · 1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi

4

3.3 Diagram Kelas Dari kartu index CRC pada subbab 3.2, penyusun

membuat diagram kelas­nya seperti pada gambar 3.2.

RacingGame DEFAULT_FPS : int

windowActivated() windowDeactivated() windowDeiconified() windowClosing() windowClosed() windowOpened()

BGCanvas backIm : BufferedImage render2D : J3DGraphics2D

loadImage() preRender() postRender() clearSurface() loc()

LoadObject filename : String

opname() loadFile() getExtension() setBSPosn() getTG() getSceneGroup() getRadius() scale() getBoundingSphere()

Circuit cRadius

nearObstacle() getTG()

GamePanel BOUNDSIZE : int running : boolean isPaused : boolean period : Long gameOver : boolean car : String

processKey() createSceneGraph() addCircuit() addSprite() initUserPosition() addCamera() startGame() resumeGame() pauseGame() stopGame() run() gameUpdate()

AppManager ap : Appearance

createTexture() createFixTexture() texApp() stampTexCoords() stampFixTexCoords() makeAlmostTransparent() setMaterial()

CarSprite radius : double MAX_SPEED : double MIN_SPEED : double delta : double pos : double breakingMultiplier : double lastt ime : long

getTG() opname2() gettime() moveBy() doMove() doMove() tryMove() brake() getspeed() rotate() update() rotate()

KeyBehavior

initialize() processStimulus() postProcessKeyEvent() keyReleased() keyPressed()

Gambar 3.2 Diagram kelas animasi gerak benda 3 dimensi menggunakan java3D API.

3.4 Model Hubungan Objek (Object Relationship) Model hubungan objek dapat digambarkan dengan

menggunakan diagram runtun (sequence diagram). Dengan diagram runtun, interaksi antar objek dapar diperlihatkan dengan baik. Pada gambar 3.3 pengguna melakukan transformasi pada objek. Transformasi tersebut meliputi translasi dan rotasi pada sumbu XZ.

: Pengguna Transformasi Layar

Transformasi terhadap objek

Tampilkan objek pada layar

Update layar

Gambar 3.3 Diagram runtun animasi gerak benda 3 dimensi menggunakan java3D API

3.5 Model Tingkah Laku Objek (Object Behaviour) Gambar 3.4 merupakan diagram statechart yang

menggambarkan perilaku objek. Model tingkah laku objek menunjukkan bagaimana system akan merespon kejadian atau stimulus eksternal.

Objek tercipta

Mulai

Menunggu transformasi selanjutnya

Load Object

Mentransformasi objek

Selesai

Gambar 3.4 Diagram statechart animasi gerak benda 3 dimensi menggunakan java 3D API

4.0. Implementasi dan Pengujian Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D API

4.1 Implementasi 4.1.1. Implementasi Tampilan Aplikasi

Gambar 4.1(a) menunjukan tampilan utama animasi gerak benda 3 dimensi menggunakan java 3D API. Gambar 4.1(b) juga merupakan tampilan utama apilikasi, namun untuk gambar 4.1(b) sudut pandang (posisi user atau kamera) terletak di atas.

(a) (b) Gambar 4.1 Tampilan utama animasi gerak benda 3 dimensi menggunakan

java 3D API: (a) sudut pandang normal; (b) sudut pandang dari atas

Gambar 4.2 merupakan menu untuk keluar dari animasi. Menu ini akan muncul ketika proses animasi sedang berlangsung, kemudian user menginput tombol escape pada keyboard.

Gambar 4.2 Menu untuk keluar dari animasi.

4.1.2. Implementasi Objek Geometri a. Mobil

Untuk menciptakan objek mobil, dilakukan dengan cara meload model objek mobil yang berekstensi 3ds ke dalam canvas3D. Proses load objek ini dilakukan oleh kelas LoadObject

b. Circuit Untuk menciptakan objek circuit, caranya sama dengan

penciptaan objek mobil. Hanya saja pada objek circuit, perlu dilakukan penskalaan sebesar 15 kali karena model circuit terlalu kecil. Penskalaan ini perlu dilakukan agar besar objek circuit sesuai dengan besar mobil.

4.2. Pengujian Transformasi 4.2.1. Pengujian Transformasi Translasi

Saat tombol panah atas (up) ditekan, objek mobil mengalami perpindahan dari titik asal menuju titik di depanya searah laju objek mobil dan kelajuan objek mobil juga bertambah. Sedangkan saat tombol panah arah ke bawah (down) ditekan, kelajuan objek mobil akan berkurang, kemudian dalam selang waktu tertentu, objek mobil berhenti, setelah itu, objek mobil bergerak mundur.

Page 5: Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D APIelektro.undip.ac.id/el_kpta/wp-content/uploads/2012/05/L2F002598... · 1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi

5

(a) (b) Gambar 4.3 Posisi mobil: (a) sebelum translasi (pada posisi(0,­3.7,30));

(b) sesudah translasi (pada posisi (­129.08,­3.7,186.86))

Tabel 4.1 Menunjukan translasi yang terjadi pada objek mobil saat penekanan tombol pada keyboard. Tombol yang ditekan Gerakan yang terjadi pada objek mobil

UP Terjadi perpindahan ke arah depan mobil, kelajuan mobil bertambah

DOWN Selang waktu tertentu objek mobil berhenti, setelah berhenti, terjadi perpindahan ke arah belakang mobil

4.2.2 Pengujian Transformasi Skala Pengujian penskalaan dilakukan dengan cara

membandingkan objek antara sebelum dan sesudah dilakukan penskalaan. Objek yang diimplementasikan penskalaan adalah objek circuit, yaitu dengan penskalaan sebesar 15 kali.

(a) (b) Gambar 4.4 Objek circuit: (a) sebelum diperbesar

(b) sesudah diperbesar (15 kali)

4.2.3 Pengujian Transformasi Rotasi Pengujian transformasi rotasi dilakukan dengan

cara menjalankan aplikasi dan melakukan penekanan tombol pada keyboard. Hasil dari rotasi ini seperti ditunjukan pada gambar 4.8.

(a) (b) Gambar 4.5 Objek mobil: (a) sebelum rotasi;

(b) sesudah rotasi

Tabel 4.2 Rotasi yang terjadi pada objek mobil saat penekanan tombol pada keyboard.

Tombol yang ditekan Gerakan yang terjadi pada objek mobil

LEFT Terjadi rotasi dengan arah rotasi berlawanan dengan arah jarum jam sebesar 1 derajat.

RIGHT Terjadi rotasi dengan arah rotasi searah dengan arah jarum jam sebesar 1 derajat.

4.3. Pengujian Pencahayaan Pengujian pencahayaan dilakukan dengan

membandingkan visual objek sebelum diberi cahaya dengan visual objek setelah diberi cahaya. Gambar 4.9 menunjukan tampilan yang dihasilkan aplikasi sebelum dan sesudah diberi cahaya.

(a) (b)

(c) Gambar 4.6 Objek mobil: (a) sebelum diberi cahaya;

(b) sesudah diberi cahaya; (c) sesudah diberi cahaya dengan nilai parameter yang berbeda

Tabel 4.3 Parameter­parameter yang dipakai dalam pencahayaan pada gambar 4.6 (b)

Warna Arah Jenis sumber cahaya

merah hijau biru x y z

AmbientLight 0.5f 0.5f 0.5

DirectionalLight1 0.5f 0.56f 0.5f ­1.0f ­1.0f ­1.0f

DirectionalLight2 0.5f 0.56f 0.5f 1.0f 1.0f 1.0f

Tabel 4.4 menunjukan parameter­parameter yang dipakai dalam implementasi pencahayaan gambar pada 4.9 (c)

Warna Arah Jenis sumber cahaya merah hijau biru x y z

AmbientLight 0.75f 0.75f 0.7f

DirectionalLight1 0.7 0.7 0.5f ­1.0f ­1.0f ­1.0f

DirectionalLight2 0.7 0.7 0.5f 1.0f 1.0f 1.0f

4.4. Pengujian Pewarnaan Pengujian pewarnaan dilakukan dengan

membandingkan visual objek sebelum diberi warna dengan sesudah diberi warna. Gambar 4.10 menunjukan tampilan yang dihasilkan aplikasi sebelum dan sesudah diberi warna.

(a) (b)

Page 6: Animasi Gerak Benda 3 Dimensi Menggunakan Java 3D APIelektro.undip.ac.id/el_kpta/wp-content/uploads/2012/05/L2F002598... · 1 Makalah Seminar Tugas Akhir Animasi Gerak Benda 3 Dimensi

6

(c) Gambar 4.7 Objek mobil: (a) sebelum diberi warna;

(b) sesudah diberi warna merah; (c) sesudah diberi warna biru.

4.5. Pengujian Texturing Pengujian texturing dilakukan dengan

membandingkan visual objek sebelum diberi texture dengan visual objek setelah diberi texture. Gambar 4.11 menunjukan tampilan yang dihasilkan aplikasi sebelum dan sesudah diberi texture.

Gambar 4.11 Objek mobil: (a) sebelum diberi texture; (b) sesudah diberi texture

5. Kesimpulan dan Saran Kesimpulan 1. Java3D API telah menyediakan fungsi­fungsi standar

untuk mengembangkan aplikasi grafika 3 dimensi, fungsi­fungsi tersebut meliputi fungsi untuk keperluan pembuatan objek 3 dimensi, transformasi, pencahayaan, pewarnaan dan texture mapping.

2. Fungsi­fungsi transformasi pada java 3D API yang digunakan dalam aplikasi ini meliputi translasi, rotasi dan dilatasi, dapat bekerja sesuai dengan yang diharapkan.

3. Dalam java 3D API, terdapat fungsi­fungsi untuk keperluan pencahayaan yang dapat digunakan untuk memodelkan objek seperti dalam dunia nyata.

4. Java 3D API sudah menyediakan fungsi untuk melakukan pewarnaan pada objek 3 dimensi. Pewarnaan pada objek 3 dimensi ini tidak akan terlihat hasilnya apabila tidak diimplementasikan pencahayaan pada objek tersebut.

5. Fungsi­fungsi untuk keperluan texture mapping yang disediakan java 3D API sudah cukup memadai. Objek yang mengimentasikan texturing akan tetap terlihat hasilnya meskipun belum diberi objek cahaya.

Saran 1. Seiring dengan perkembangan hardware yang

mendukung grafika komputer, aplikasi dapat dikembangkan lebih lanjut dengan meningkatkan kualitas grafis 3D yang dihasilkan.

2. Aplikasi dapat dikembangkan lebih lanjut dengan menerapkan kecerdasan buatan seperti terrain following, path following dan collission detection serta memodelkan bentuk fisik tiap objek sehingga dapat tercipta video game.

6. Referensi

[1] Adjie, Bayu, Modeling dan Animasi dengan 3D Studio Max 7.x, Elex Media Komputindo, Jakarta, 2005.

[2] Boughen, Nicholas, 3ds Max Lighting, Wordware Publishing, 2005.

[3] Bouvier, Dennis J, Getting Started with the Java 3D API, Sun microsystems, 1999.

[4] Chandra, Handi, 3ds max 6 Untuk Orang Awam, Maxicom, Palembang, 2004.

[5] Clingman, Dustin, Kendall Shawn, Mesdaghi, Syrus, Practical Java Game Programming, Charles River Media, 2004.

[6] Davison, Andrew, Killer Game Programming in Java, O’Reilly, 2005

[7] Deitel, H, Java How To Program, Prentice­Hall, 1999.

[8] Hong Zhang, Y. Daniel Liang, Computer Graphics Using Java™ 2D and 3D, Prentice Hall Publishing, 2006.

[9] Pressman, R.S., Rekayasa Perangkat Lunak Pendekatan Praktisi, Buku Satu dan Dua, McGraw­Hil Book Co., Penerbit ANDI, 2003.

[10] Selman, Daniel, Java 3D Programming, Manning Publishing, 2003.

[11] ­­­, http://www.gamelan.com/, 2007.

BIOGRAFI PENULIS

Mufti Ali, mahasiswa Jurusan Teknik Elektro Universitas Diponegoro, mengambil konsentrasi teknik informatika dan komputer.

Menyetujui dan mengesahkan,

Dosen Pembimbing I

Agung B. P., S.T., M.I.T. NIP. 132 137 932

Tanggal………………...

Dosen Pembimbing II

Aghus Sofwan, S.T., M.T. NIP. 132 163 757

Tanggal………………...