Rabu, 09 Maret 2011

Membuat Objek 3D dengan VRML

Pada pembahasan sebelumnya kita sudah membahas mengenai Apa sih VRML itu? . Dimana kita membahas Pengenalan VRML, Sejarah VRML, Konsep VRML 97 dan masih banyak lainnya.

Kali ini kita akan membuat beberapa objek 3D dengan VRML, yaitu kubus, tabung, dan kerucut. Sebelumnya kita harus mengetahui strruktur fike VRML97 trelebih dahulu.

Struktur File VRML97


File VRML diawali dengan header pada baris pertama dengan tanda # dan diikuti “VRML V2.0 utf8” ini menunjukan file tersebut dapat di tampilkan dengan format VRML versi 2 dan format file utf8. Tanda # pada baris kedua dan seterusnya merukan komentar dan tidak diproses. Berikut contoh sederhana dari file VRML.

#VRML V2.0 utf8

# Komentar isi file

Node


Node
Node adalah objek yang ada pada VRML, node memiliki field yang merupakan properti atau keterangan dari node tersebut,. Field dapat berupa node yang lain, sehingga memungkinkan node memiliki field yang berupa node juga. Berikut contoh dari membuat gambar kotak menggunakan VRML









Shape
Shape adalah node dasar yang digunakan untuk membuat sebuah objek sederhana. Pada contah diatas dapat diterangkan sebagai berikut yaitu Node Shape yang memiliki field appearance dan geometry. Sedangkan field appearance di isi dengan Node Apperance yang juga memiliki fields material dan diisi Node Material.
appearance
Field appearance pada node Shape digunakan untuk memberi warna tektur dan transparansi serta sifat-sifat yang lain.

geometry
Field geometry digunakan untuk membetuk objek dasar yang dimilikik oleh VRML.

Berikut adalah contoh objek 3D pada VRML :

  1. Kubus

Node Box memungkinkan kita untuk membuat kotak dengan panjang, lebar dan tinggi menurut keinginan kita. Node ini hanya mempunyai satu field berupa vektor yang menentukan ukuran dari kubus ini.

Box {
field SFVec3f size 2 2 2

}

Hasil :

  1. Tabung

Node Cylinder dipakai untuk membuat objek silinder. Selain mempunyai field height dan radius sebagai parameter objek, node ini mempunyai 3 field lainnya masing-masing dari tipe SFBool, yaitu top, bottom dan side yang mengindikasikan apakah sisi yang disebut dalam field nyata atau tidak. Jika nilai ini FALSE maka pada sisi yang bersangkutan tidak akan dilakukan proses rendering dan sisi ini tidak dapat dipakai dalam proses deteksi kolisi (collision detection).

Struktur dari node ini adalah seperti berikut.

Cylinder {

field SFBool bottom TRUE
field SFFloat height 2

field SFFloat radius 1
field SFBool side TRUE
field SFBool top TRUE

}

Hasil :

  1. Kerucut

#VRML V2.0 utf8
Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 1 # biru muda
emissiveColor 0.3 0.3 0.3
}
}
geometry Cone {} # kerucut pada posisi default
}

Hasil :










Sumber :

0 komentar:

Posting Komentar