TEKNIK PEMBUATAN GAME 3DSEDERHANA O2

3D PROJECTION/PROYEKSI 3D
Sumbu 3D vs Sumbu 2D
Sumbu di 3D berbeda dengan sumbu di 2D.
Di system 2D kita hanya punya sumbu x dan y, sedangkan di system 3D kita punya sumbu x,y, dan z

Tergantung dari system yang dipakai, sumbu z bisa menghadap ke depan atau ke belakang. Dalam beberapa pendekatan, sumbu z bisa menghadap ke atas. Disini kita memakai pendekatan yang umum dimana sumbu z menghadap ke ke depan.

Proyeksi 3D ke 2D
Proses proyeksi dari 3d ke 2d adalah proses yang paling penting. Layar monitor sebenarnya hanyalah bidang datar 2 dimensi. Untuk menampilkan gambar 3 dimensi, maka kita harus memproyeksikan objek-objek dalam dunia 3 dimensi ke layar yang hanya berupa bidang datar 2D tersebut.

Ada beberapa cara pendekatan untuk proses penghitungannya, tapi semuanya memiliki kemiripan.

Proses dalam memproyeksikan titik dari koordinat 3d ke koordinat 2d, dapat digambarkan dari gambar berikut.


Untuk menghitung koordinat hasil proyeksi, kita bisa menghitungnya dengan rumus segitiga sederhana.

Misalnya kita ingin menghitung koordinat x hasil proyeksi, untuk mempermudah penghitungan, maka kita bisa melihat proses ini dari atas seperti tampak pada gambar di bawah ini.

Dilihat dari gambar diatas kita peroleh persamaan
OA/CB = PO/PC
OA = (PO.CB)/PC

OA adalah koordinat x 2D hasil proyeksi
PO adalah konstanta, yang nilainya biasanya adalah 160.
CB adalah koordinate x dari titik 3D
PC adalah PO + OC, dimana OC adalah koordinate z dari titik 3D

Perhitungan koordinat y hasil proyeksi bisa dilakukan dengan cara yang sama yaitu dengan cara melihat objek dari samping. Rumus hasilnya tidak akan jauh berbeda.

Perhatikan dari persamaan diatas bahwa PO bernilai 160. Hal ini dilakukan agar FOV memiliki sudut 90 derajat.

Layar monitor yang dipakai untuk membuat game 3D biasanya memiliki lebar 320 dan tinggi 240. Hal ini ditujukan untuk mempercepat proses rendering. Bila anda memiliki komputer yang lebih bagus, maka resolusinya bisa dinaikkan agar kualitasnya lebih bagus lagi. Dengan jarak PO 160, maka FOV akan pas dengan layar sehingga hasilnya bisa maksimal dan sudut yang dihasilkan akan bernilai 90 derajat.

Saya masih tetap menggunakan resolusi 320 x 240 karena komputer saya di rumah termasuk komputer dengan spesifikasi di bawah standard.

Merubah nilai PO menjadi angka yang lain tidak akan menimbulkan masalah, nilai ini hanya akan merubah besar sudut dari FOV yang berakibat lebar atau keclnya FOV itu sendiri.

Sudut 90 derajat juga bukanlah keharusan dan bisa diganti dengan nilai apa saja sesuai kebutuhan. Walaupun demikian, sudut 90 derajat lebih baik karena memudahkan dalam penghitungan selanjutnya.

3D PROJECTION/PROYEKSI 3D

Sumbu 3D vs Sumbu 2D
Sumbu di 3D berbeda dengan sumbu di 2D.
Di system 2D kita hanya punya sumbu x dan y, sedangkan di system 3D kita punya sumbu x,y, dan z

Tergantung dari system yang dipakai, sumbu z bisa menghadap ke depan atau ke belakang. Dalam beberapa pendekatan, sumbu z bisa menghadap ke atas. Disini kita memakai pendekatan yang umum dimana sumbu z menghadap ke ke depan.

Proyeksi 3D ke 2D
Proses proyeksi dari 3d ke 2d adalah proses yang paling penting. Layar monitor sebenarnya hanyalah bidang datar 2 dimensi. Untuk menampilkan gambar 3 dimensi, maka kita harus memproyeksikan objek-objek dalam dunia 3 dimensi ke layar yang hanya berupa bidang datar 2D tersebut.

Ada beberapa cara pendekatan untuk proses penghitungannya, tapi semuanya memiliki kemiripan.

Proses dalam memproyeksikan titik dari koordinat 3d ke koordinat 2d, dapat digambarkan dari gambar berikut.


Untuk menghitung koordinat hasil proyeksi, kita bisa menghitungnya dengan rumus segitiga sederhana.

Misalnya kita ingin menghitung koordinat x hasil proyeksi, untuk mempermudah penghitungan, maka kita bisa melihat proses ini dari atas seperti tampak pada gambar di bawah ini.

Dilihat dari gambar diatas kita peroleh persamaan
OA/CB = PO/PC
OA = (PO.CB)/PC

OA adalah koordinat x 2D hasil proyeksi
PO adalah konstanta, yang nilainya biasanya adalah 160.
CB adalah koordinate x dari titik 3D
PC adalah PO + OC, dimana OC adalah koordinate z dari titik 3D

Perhitungan koordinat y hasil proyeksi bisa dilakukan dengan cara yang sama yaitu dengan cara melihat objek dari samping. Rumus hasilnya tidak akan jauh berbeda.

Perhatikan dari persamaan diatas bahwa PO bernilai 160. Hal ini dilakukan agar FOV memiliki sudut 90 derajat.

Layar monitor yang dipakai untuk membuat game 3D biasanya memiliki lebar 320 dan tinggi 240. Hal ini ditujukan untuk mempercepat proses rendering. Bila anda memiliki komputer yang lebih bagus, maka resolusinya bisa dinaikkan agar kualitasnya lebih bagus lagi. Dengan jarak PO 160, maka FOV akan pas dengan layar sehingga hasilnya bisa maksimal dan sudut yang dihasilkan akan bernilai 90 derajat.

Saya masih tetap menggunakan resolusi 320 x 240 karena komputer saya di rumah termasuk komputer dengan spesifikasi di bawah standard.

Merubah nilai PO menjadi angka yang lain tidak akan menimbulkan masalah, nilai ini hanya akan merubah besar sudut dari FOV yang berakibat lebar atau keclnya FOV itu sendiri.

Sudut 90 derajat juga bukanlah keharusan dan bisa diganti dengan nilai apa saja sesuai kebutuhan. Walaupun demikian, sudut 90 derajat lebih baik karena memudahkan dalam penghitungan selanjutnya.

Sumber Website :

http://www.dream-frog.com/2008/08/teknik-pembuatan-game-3d-sederhana-02.html

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: